Analogwert wird als Batteriesymbol auf LCD angezeigt
Ziel: /* Analogwert als Battriesymbol Arduino + LCD-Shield + 10K-Poti
liefert 0...5V an Analog_1 www.arduinospielwiese.de #include <LiquidCrystal.h> LiquidCrystal lcd(8, 13, 9, 4, 5, 6, 7);uint8_t f; // Füllstand int value; // Wert vom ADCbyte battery_0[8] = { 0b01110, 0b11011,
0b10001, 0b10001, 0b10001, 0b10001, 0b10001, 0b11111 };
byte battery_1[8] = { 0b01110, 0b11011,
0b10001, 0b10001, 0b10001, 0b10001, 0b11111, 0b11111 };byte battery_2[8] = { 0b01110, 0b11011,
0b10001, 0b10001, 0b10001, 0b11111, 0b11111, 0b11111 };byte battery_3[8] = { 0b01110, 0b11011,
0b10001, 0b10001, 0b11111, 0b11111, 0b11111, 0b11111 };byte battery_4[8] = { 0b01110, 0b11011,
0b10001, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111 };byte battery_5[8] = { 0b01110, 0b11011,
0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111 };void setup(){ lcd.clear(); lcd.begin(16, 2); // 6 der 8 Speicherplätze des LCD für
selbstdefinierte Symbole mit den oben definierten
Byte-Arrays befüllen lcd.createChar(0, battery_0); lcd.createChar(1, battery_1); lcd.createChar(2, battery_2); lcd.createChar(3, battery_3); lcd.createChar(4, battery_4); lcd.createChar(5, battery_5);}void loop(){ value = analogRead(A1); f = (uint8_t) (value / 190); lcd.setCursor(0, 0); lcd.write(f); delay(250);}Erklärungen zum Programmcode: Wie man ein eigene Symbole auf LCD ausgibt findest Du unter: Eigene Symbole erschaffen und im LCD ausgeben Wie man einen Analogwert mit Arduino verarbeitet findest Du hier. Was bedeutet die Zeile: f = (uint8_t) (value /
190);
|