arduino:wasserstandsanzeiger
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | Nächste ÜberarbeitungBeide Seiten der Revision | ||
arduino:wasserstandsanzeiger [07.05.2016 19:00] – Frickelpiet | arduino:wasserstandsanzeiger [15.05.2016 09:31] – Frickelpiet | ||
---|---|---|---|
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 |
- | ===== Notizen ===== | ||
- | Analoge Signale lesen: https:// | ||
- | Programierbeispiel: | + | ===== 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 wird der Wasserstand in Worten angezeigt (high, good, low). Abhängig vom Wasserstand wird die Farbe der Hintergrundbeleuchtung des Displays verändert. | ||
+ | |||
+ | < | ||
+ | // 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, 2); // set up the LCD's number of columns and rows | ||
+ | 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, 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.txt · Zuletzt geändert: 18.05.2023 12:15 von 127.0.0.1