Komfort Füllstandmessung mit Hydrostatik Sensor, OLED Display und HomeMatic Anbindung

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

TomMajor
Beiträge: 269
Registriert: 30.08.2017, 23:25
Kontaktdaten:

Re: Komfort Füllstandmessung mit Hydrostatik Sensor, OLED Display und HomeMatic Anbindung

Beitrag von TomMajor » 06.03.2019, 17:24

Thema im Thread hier ist Füllstandmessung mit Hydrostatik Sensor.
Ich würde vorschlagen bei Fragen zum HB-SEN-LJet einen eigenen Thread aufzumachen, wenn ich was beantworten kann mache ich das gerne.
Viele Grüße,
Tom

NilsG
Beiträge: 827
Registriert: 09.08.2013, 23:44
Kontaktdaten:

Re: Komfort Füllstandmessung mit Hydrostatik Sensor, OLED Display und HomeMatic Anbindung

Beitrag von NilsG » 10.03.2019, 09:18

... gelöscht ...
Zuletzt geändert von NilsG am 10.03.2019, 20:14, insgesamt 2-mal geändert.

automation-fan
Beiträge: 10
Registriert: 25.12.2018, 15:36

Re: Komfort Füllstandmessung mit Hydrostatik Sensor, OLED Display und HomeMatic Anbindung

Beitrag von automation-fan » 10.03.2019, 19:07

<r>Hallo Leute,<br/>
<br/>
nach ein Woche Skifahren nutze ich nun das schlechte Wetter um mit dem Sketch weiter zu kommen (siehe Bild).<br/>
Leider hänge ich bei der Integration des OLED <E>:(</E> <E>:(</E> <E>:(</E> . <br/>
<br/>
Bekomme die Fehlermeldung:<br/>
'testscrolltext' was not declared in this scope<br/>
<br/>
Die Messung alleine funktioniert, OLED Ausgabe alleine auch, aber zusammen krieg ich das nicht zum laufen.<br/>
Was mache ich falsch ? (wie gesagt meine Programmiererfahrungen liegen 20 Jahre zurück).</r>

Danke+Gruß !
Status_10032019.jpg

Code: Alles auswählen

// *** Füllstansmessung mit Hydrostatik Sensor ****

// Einbindung der OLED Bibliotheken
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels

// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
#define OLED_RESET     4 // Reset pin # (or -1 if sharing Arduino reset pin)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

// ***Messung mit Kontrollausgabe am Seriellen Monitor***

void setup() {
  // put your setup code here, to run once:
  const auto DEBUG_ENABLE = true; // enable debug messages over serial port
  Serial.begin(9600);// Baudrate 9600
  Serial.println(F("*** Füllstand 8 Bit   ***"));
  Serial.println(F(" "));
}


int Fuellstandsensor() {
  int i;
  int MessV = 0; // Spannungsmessung am Pin =0
  int MessVavg = 0; // Durchschnittswert der Spannungsmessung
  int MessVavg8bit = 0; // Durchschnittswert der Spannungsmessung auf 8 Bit umgerechnet abzgl 4mA Offset des Sensors
  for (i = 0; i < 10; i++) {
    MessV = MessV + analogRead(0);    // sensor on analog pin 0
  }


  MessVavg = MessV / 10;    //  calculate the average
  MessVavg = MessVavg - 205; // 4mA Offset abziehen (= 4mA * 250 Ohm = 1V = 1023/5 = 205)
  MessVavg8bit = MessVavg / 4;    // scale to 8 bits (0 - 255)
  return MessVavg8bit;


  Serial.begin(9600);

  // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally
  if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // Address 0x3C for 128x64
    Serial.println(F("SSD1306 allocation failed"));
    for (;;); // Don't proceed, loop forever


    // Clear the buffer
    display.clearDisplay();


    // display.display() is NOT necessary after every single drawing command,
    // unless that's what you want...rather, you can batch up a bunch of
    // drawing operations and then update the screen all at once by calling
    // display.display(). These examples demonstrate both approaches...



    testscrolltext();    // Draw scrolling text

  }

  //*** Ende Definitionen ***



  void loop() {
    int Fuellstand;

    Fuellstand = Fuellstandsensor();
    Fuellstand = 8000 / 254 * Fuellstand;  // Umrechnung des 8Bit Wertes auf das Zisternenvolumens (4V = 254 = max. = 8000 Liter)

    Serial.print(Fuellstand);
    Serial.print("\t");
    Serial.print(F("Liter"));
    Serial.println("");

    // blink led - LED bestätigt Abschluss der Messung
    digitalWrite(LED_BUILTIN, HIGH);
    delay(250);
    digitalWrite(LED_BUILTIN, LOW);


    delay(10000);  // 10 Sekunden Pause vor der nächsten Messschleife

    // ***Ende Messung***


    // Ausgabe der messung auf das OELD,  Scrolltext um Einbrenneneffekte zu verhindern

    void testscrolltext(void) {
      display.clearDisplay();

      display.setTextSize(1); // Draw 1X-scale text
      display.setTextColor(WHITE);
      display.setCursor(10, 0);
      display.println(F(""));
      display.println(F("Zisterne - 8000l"));
      display.println(F(""));
      display.println(F(""));
      display.setTextSize(2); // Draw 2X-scale text
      display.println(F("IST: 2500l"));        // Hier wird später statt der 2500 der Fülslltand verknüpft
      display.display();      // Show initial text
      delay(100);

      // Scroll in various directions, pausing in-between:
      display.startscrollright(0x00, 0x0F);
      delay(2000);
      display.stopscroll();
      delay(1000);
      display.startscrollleft(0x00, 0x0F);
      delay(2000);
      display.stopscroll();
      delay(1000);
      display.startscrolldiagright(0x00, 0x07);
      delay(2000);
      display.startscrolldiagleft(0x00, 0x07);
      delay(2000);
      display.stopscroll();
      delay(1000);


    }

nuiler
Beiträge: 147
Registriert: 15.04.2012, 11:07
Wohnort: Ostalbkreis / Deutschland

Re: Komfort Füllstandmessung mit Hydrostatik Sensor, OLED Display und HomeMatic Anbindung

Beitrag von nuiler » 10.03.2019, 19:16

LevelJet-Stecker.JPG
Anbei ein Bild der Steckerbelgung aus der Anleitung

http://www.projet.de/Software/LevelJET_ST.pdf
www.nuiler.de
Raspberrymatic 3.43.15.20190223

TomMajor
Beiträge: 269
Registriert: 30.08.2017, 23:25
Kontaktdaten:

Re: Komfort Füllstandmessung mit Hydrostatik Sensor, OLED Display und HomeMatic Anbindung

Beitrag von TomMajor » 10.03.2019, 20:06

Bitte für das LevelJet Projekt diesen Thread nutzen:
viewtopic.php?f=76&t=49512

Da hatte ich auch diese Steckerbelgung vor ein paar Tagen gepostet.
Viele Grüße,
Tom

automation-fan
Beiträge: 10
Registriert: 25.12.2018, 15:36

Re: Komfort Füllstandmessung mit Hydrostatik Sensor, OLED Display und HomeMatic Anbindung

Beitrag von automation-fan » 10.04.2019, 21:15

Update:
So HW ist fertig

HW-Features
- Füllstandsmessung mit 4-20mA Sensor
- Temperaturmessung
- OLED Anzeige für Füllstand und Temperatur
- HM Anbindung
- Remote Steuerung der Pumpe direkt vom Füllstandsanzeiger
- keine Auswerteelektronik in der Zisterne, mit Schutzlack lackierte Platine
- Kableanschluß von unten
- keine Batterien

SW-Features:
- HM Füllstandanzeige
- Pumpensteuerung über CCU3
- Email Benachrichtigung bei 'Zisterne leer'

Wenn ich jetzt noch die SW für die OLED sauber zum laufen krieg kanns mit der Testphase losgehen

Todos:
-Beschriftung Taster (Pumpe, HM Kopplung etc.)
-Lack nochmal schön machen
-evtl noch RTC einbauen
-Doku erstellen
Anzeiger.jpg
[/img]
Elektronik.jpg
Sensor.jpg

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“