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 ADC
byte 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);
|