unsigned long int gas=0; // Gaszähler Impulse unsigned long int was=0; // Wasserzähler Impulse unsigned long int str=0; // Stromzähler Impulse int egas=2; // Impulseingang 2, vom Gaszähler int ewas=3; // Impulseingang 3, vom Wasserzähler int estr=4; // Impulseingang 4, vom Stromzähler int gasstatus=0; // Variablen für die Impulszählung int lastgasstatus=0; int wasstatus=0; int lastwasstatus=0; int strstatus=0; int laststrstatus=0; void setup() { Serial.begin(9600); // Aktivieren der seriellen Schnittstelle pinMode(egas, INPUT); // Festlegen der Eingänge pinMode(ewas, INPUT); pinMode(estr, INPUT); } void loop() { // Abfrage der Eingänge gasstatus=digitalRead(egas); if (gasstatus != lastgasstatus) { if (gasstatus == HIGH) { gas=gas+1; } } lastgasstatus=gasstatus; wasstatus=digitalRead(ewas); if (wasstatus != lastwasstatus) { if (wasstatus == HIGH) { was=was+1; } } lastwasstatus=wasstatus; strstatus=digitalRead(estr); if (strstatus != laststrstatus) { if (strstatus == HIGH) { str=str+1; } } lastwasstatus=wasstatus; // Ausgabe über die Serielle Schnittstelle RX TX Serial.print("Gas="); Serial.print(gas); Serial.print("Wasser="); Serial.print(was); Serial.print("Strom="); Serial.print(str); Serial.print("!"); }