arduino:wasserstandsanzeiger
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
arduino:wasserstandsanzeiger [07.05.2016 17:51] – angelegt Frickelpiet | arduino:wasserstandsanzeiger [18.05.2023 12:15] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 2: | Zeile 2: | ||
Nachdem meine im letzten Jahr gebastelten analogen Wasserstandsanzeiger nicht lange funktioniert haben und ich von der Fehlersuche bei meinem [[3d-druck: | Nachdem meine im letzten Jahr gebastelten analogen Wasserstandsanzeiger nicht lange funktioniert haben und ich von der Fehlersuche bei meinem [[3d-druck: | ||
- | Der Wasserstand | + | Um den Wasserstand |
+ | |||
+ | |||
+ | ===== Code ===== | ||
+ | Das Programm zeigt beim Start die Versionsnummer an. Anschließend werden zwei analoge Eingänge ausgelesen und jeweils in eine Variable geschrieben. Die Werte werden an die serielle Schnittstelle ausgegeben. Auf dem LCD-Display | ||
+ | |||
+ | Was noch zu erledigen wäre: | ||
+ | * Die Interpretation der Messwerte an den analogen Eingängen muss noch an die Sensoren angepasst | ||
+ | * Das LCD flackert jetzt einmal pro Sekunde. Das sieht nicht schön aus. Die Anzeige müsste eigentlich nur gelöscht werden, wenn sie sich geändert hat. | ||
+ | |||
+ | < | ||
+ | // include the library code: | ||
+ | #include < | ||
+ | #include < | ||
+ | #include < | ||
+ | |||
+ | Adafruit_RGBLCDShield lcd = Adafruit_RGBLCDShield(); | ||
+ | |||
+ | // These #defines make it easy to set the backlight color | ||
+ | #define RED 0x1 | ||
+ | #define YELLOW 0x3 | ||
+ | #define GREEN 0x2 | ||
+ | #define TEAL 0x6 | ||
+ | #define BLUE 0x4 | ||
+ | #define VIOLET 0x5 | ||
+ | #define WHITE 0x7 | ||
+ | |||
+ | // Defines the input pins | ||
+ | int analogPin1 = 3; | ||
+ | int val1 = 0; // variable to store the value read | ||
+ | int analogPin2 = 4; | ||
+ | int val2 = 0; // variable to store the value read | ||
+ | |||
+ | |||
+ | void setup() { | ||
+ | Serial.begin(9600); | ||
+ | lcd.begin(16, | ||
+ | lcd.setCursor(0, | ||
+ | lcd.print(" | ||
+ | lcd.setCursor(0, | ||
+ | lcd.print(" | ||
+ | lcd.setBacklight(WHITE); | ||
+ | delay(1000); | ||
+ | } | ||
+ | |||
+ | |||
+ | void loop() { | ||
+ | lcd.clear(); | ||
+ | val1 = analogRead(analogPin1); | ||
+ | val2 = analogRead(analogPin2); | ||
+ | |||
+ | Serial.println(" | ||
+ | Serial.println(val1); | ||
+ | lcd.setCursor(0, | ||
+ | lcd.print(" | ||
+ | if(val1 < 100) | ||
+ | lcd.print(" | ||
+ | if(val1 < 300) | ||
+ | lcd.print(" | ||
+ | else{ | ||
+ | lcd.print(" | ||
+ | } | ||
+ | |||
+ | Serial.println(" | ||
+ | Serial.println(val2); | ||
+ | lcd.setCursor(0, | ||
+ | lcd.print(" | ||
+ | if(val2 < 100) | ||
+ | lcd.print(" | ||
+ | if(val2 < 300) | ||
+ | lcd.print(" | ||
+ | else{ | ||
+ | lcd.print(" | ||
+ | } | ||
+ | |||
+ | if(val1 < 100 || val2 < 100) | ||
+ | lcd.setBacklight(GREEN); | ||
+ | if(val1 < 300 || val2 < 300) | ||
+ | lcd.setBacklight(YELLOW); | ||
+ | if(val1 > 301 || val2 > 301) | ||
+ | lcd.setBacklight(RED); | ||
+ | |||
+ | delay(1000); | ||
+ | } | ||
+ | |||
+ | </ | ||
Tags: #Arduino | Tags: #Arduino |
arduino/wasserstandsanzeiger.1462636310.txt.gz · Zuletzt geändert: 18.05.2023 09:06 (Externe Bearbeitung)