Hallo, bin neu hier.
Ich habe einen Arduino UNO, ein LCD und ein Flow Meter:
LCD: 20 x 4 inkl. Lib
Flow Meter: https://www.robotics.org.za/image/data/Sensors/Flow%20Meter/flow_arduino.jpg
Ich habe diesen Quellcode genommen, um den Durchfluss anzeigen zu lassen (also wieviel l/min durchkommen):
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
long Imp;
long starttime;
void setup() {
lcd.begin(20,4);
pinMode(2, INPUT); //Pin 2
}
void loop() {
Imp = 0; // Zähler wird zurückgesetzt
starttime = micros(); // und die Startzeit gespeichert
do {if (pulseIn(2, HIGH) > 0 ) Imp++; } // Die pos. Impulse werden für eine
while( micros() < (starttime + 1e6)); // Torzeit von 1s gezählt
lcd.setCursor(0,0);
lcd.print("flow = ");
lcd.print(Imp); lcd.print(" Imp/s ");
lcd.setCursor(0, 1);
float z= Imp;
z = 24*z/1000; // Die gemessene Impulszahl pro s wird in l/min umgerechnet
if (z < 1) {lcd.print(z,2); }
if (z >= 1 && z<=3.5) {lcd.print(z,1); }
if (z > 3.5) { lcd.print("-> Q > Q(max) "); }
lcd.print (" l/min ");
}
So bekomme ich aber 0,47 l/min angezeigt, was ja nicht stimmt. Also mache ich aus "z = 24*z/1000" die Rechnung "z = z/7.5" und komme auf ca. 2,5 l/min (reeller Wert). Allerdings hängt es sich nach ca 30 min. auf und läuft danach wieder....warum?
Wie kann ich die Pulse ausmessen? Mein Durchflusszähler schafft angeblich 400 Pulse/min. Hab allerdings nicht die Kenntnis, den Puls auszulesen, umzurechnen, anzeigen lassen (l/min) und danach liter gesamt anzeigen zu lassen.
Ich habe hier schon geschaut, mehrmals ohne Erfolg. Deswegen hab ich mich hier angemeldet. Ich hoffe, ihr könnt mir helfen.