Akkumlátor töltöttséget szeretnék vele megjeleníteni, hat fokozatban. Próbából kiírattam egyszerre mind a hat akku töltöttségi fokozatot, hogy hogyan is fog "festeni", de nem teljesen úgy sikerült mint ahogy elterveztem.
Kezdőként biztosan nem jól írtam a próba kódot.
Kód: Egész kijelölése
#include <LiquidCrystal.h>
LiquidCrystal lcd(4,5,6,7,8,9);
byte a0[8] ={B01110,
B11111,
B10001,
B10001,
B10001,
B10001,
B10001,
B11111};
byte a1[8] ={B01110,
B11111,
B10001,
B10001,
B10001,
B10001,
B11111,
B11111};
byte a2[8] ={B01110,
B11111,
B10001,
B10001,
B10001,
B11111,
B11111,
B11111};
byte a3[8] ={B01110,
B11111,
B10001,
B10001,
B11111,
B11111,
B11111,
B11111};
byte a4[8] ={B01110,
B11111,
B10001,
B11111,
B11111,
B11111,
B11111,
B11111};
byte a5[8] ={B01110,
B11111,
B11111,
B11111,
B11111,
B11111,
B11111,
B11111};
void setup() {
lcd.createChar(0, a0);
lcd.createChar(1, a1);
lcd.createChar(2, a2);
lcd.createChar(3, a3);
lcd.createChar(4, a4);
lcd.createChar(5, a5);
}
void loop(){
lcd.setCursor(15, 0);
lcd.print(a0[8]);
lcd.setCursor(14, 0);
lcd.print(a1[8]);
lcd.setCursor(13, 0);
lcd.print(a2[8]);
lcd.setCursor(12, 0);
lcd.print(a3[8]);
lcd.setCursor(11, 0);
lcd.print(a4[8]);
lcd.setCursor(10, 0);
lcd.print(a5[8]);
delay(150);
}
Hat fokozatban kiíratni egyedi karakterekkel az akku töltöttségi szintjét, és azokat egyszerre megjeleníteni ellenőrzés céljából.
Az első karakter még sikerült is, de a többi fokozat karaktere már mind az utolsó ként definiált karakter képében jelent meg, nem pedig fokozatokban.
a következő bekapcsolásnál tovább romlott a helyzet. A 2. 3. 4. 5. karakter helyett három függőleges vonal jelent meg és ez így történt minden további újra indítás során.
Miért nem jelent meg a többi fokozat karaktere és a következő bekapcsolás után miért lettek a függőleges csíkok?
