Guten Abend
Ich sitze hier von einem Problem und weiss nicht weiter. Ich habe einen
MQ-2 Sensor, welcher an den Arduino angeschlossen ist. Dazu verwende ich
ein lcd Display. Der Warnton erfolgt über einen Buzzer. Ist der Wert vom
Sensor (sensorThres) unter 400, erscheint die Meldung auf dem Display "
- Wert ok. Soweit so gut. Jetzt möchte ich aber, dass wenn der Wert 400
überschreitet, auf dem Display " - nicht ok" angezeigt wird, inklusive
mit dem Buzzer, welcher einen Ton ausgibt.
Wie bringe ich das zustande, dass die Warnmeldung (nicht ok) angezeigt
wird, und die erste Meldung (Wert ok) sozusagen gelöscht wird, und diese
erst wieder angezeigt wird, wenn der Wert unter 400 ist?
Der Sketch sieht folgendermassen aus:
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int gas = A0;
int buzzer = 8;
int sensorThres = 400;
void setup()
{
lcd.begin();
}
void loop()
{
int analogSensor = analogRead(A0);
tone(buzzer, 1000);
lcd.setCursor(0,0);
lcd.print("MQ-2 Sensor 1");
lcd.setCursor(0,1);
lcd.print(analogRead(gas));
if(analogSensor < sensorThres)
{
lcd.print(" - Wert ok");
}
if(analogSensor > sensorThres)
{
lcd.print(" - nicht ok");
tone(buzzer, 1000);
delay(100);
tone(buzzer, 1000);
}
}
Ich denke, für Profis stellt sich schnell heraus, dass dieser Sketch von
einem Anfänger geschrieben wurde. Was könnte ich bezogen auf die
Übersicht etc. verbessern?
Danke für Eure Antworten:)
Mfg und noch einen schönen Abend, Gabriel
Gabriel T. schrieb: > lcd.print(analogRead(gas)); Was soll das? Warum gibst Du da nicht "analogSensor" aus?
Entweder exakt an der selbe Displaystelle anzeigen, also alles überschreiben. Das heißt Cursorposition setzen, in Basic hieß der Befehl dazu "LOCATE". Oder das gesamte Display löschen.
Weil es ja (korrigier mich bitte, wenn ich falsch liege) es keinen Unterschied macht, welches ich jetzt verwende...
Teo D. schrieb: > Entweder exakt an der selbe Displaystelle anzeigen, also alles > überschreiben. Das heißt Cursorposition setzen, in Basic hieß der Befehl > dazu "LOCATE". Oder das gesamte Display löschen. Danke es hat geklappt:)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.