Impulse mit ESP32 + SIM800L (TTGO T-CALL V1.4) zählen

Hallo zusammen,

ich bin leider ein Neuling auf dem Gebiet Arduino und co.

Ich besitze hier einen DL220W Data Logger der Firma Elster.
(Manual: https://www.elster.nl/downloads/DL220W_M_1302_0508.pdf - Seite 65 - Ausgänge)
Dieser bietet mir über einen Impulsausgang an die Wasserzähl-Impulse an ein weiteres Gerät zu übergeben.

Nun habe ich einen ESP32 + SIM800L gekauft (die Komplettlösung TTGO T-CALL V1.4, damit ich nicht mehr groß dran rumbasteln muss und damit das schon einmal Out-of-the-box läuft).

Ich bekomme es hin über das SIM Modul Daten per POST-Request an einen Webserver zusenden. Das einzige was scheitert ist die Impulszählung des Datalogger Ausgangs. Hier einmal wie die Konfiguration des Dataloggers aussieht.
AusgangDataLogger

Meine Idee war nun einen 5V Pin + DigitalPin mit dem Datalogger zu verbinden, so dass ich über digitalRead herausfinde, wenn der Datalogger den Schließkontakt auslöst.

Leider kriege ich das nicht wirklich hin und der ESP gibt mir unverständliche Werte raus.
Hätte jemand einen Vorschlag, wie das Konstrukt mit DigitalRead / DigitalWrite aussehen müsste, damit es funktioniert.

Ich frage hier wirklich nur um einen kurzen Beispielcode für das Auslesen des Impulses, da ich es einfach nicht hinbekomme. Wenn jemand mir einen Code gibt und es damit zu 100% funktionieren muss, dann kann ich weiter probieren.

Hier noch die PIN Belegung des ESP.

Vielen Dank im Vorraus. Ich hoffe das Problem ist verständlich.

Gruß,
Michi

Nene. Die wichtige Info steht auf Seite 9.

Also stinknormale Geschichte.

Einen Sketch von gesten Abend nochmal aufgewärmt.

const byte taster = 3;
int counter = 0;
void setup()
{
  pinMode(taster, INPUT_PULLUP);
  Serial.begin(9600);
  Serial.println("beginn");
}

void loop()
{
  zaehler();
}

void zaehler()
{
  static bool gedrueckt = false;
  if (digitalRead(taster) == LOW)
  {
    if (gedrueckt == false)
    {
      counter++;
      gedrueckt = true;
      Serial.print("counter: ");
      Serial.println(counter);
    }
  }
  else
  {
    gedrueckt = false;
  }
}

Nicht vergessen, das Du GND des Boards mit Masse des Moduls verbinden musst.

1 Like

Vielen Dank. Damit hat es tatsächlich geklappt, so ähnlich hatte ich es auch vorher.

Danke fürs feedback!