#include <LCD_I2C.h>
LCD_I2C lcd(0x27, 16, 2);
const byte woltomierz = A1;
int napiecie;
float napiecieV;
byte bargraf;
byte znak0[8] = { 0b10000, 0b10000, 0b10000, 0b10000, 0b10000, 0b10000, 0b10000, 0b10000};
byte znak1[8] = { 0b10100, 0b10100, 0b10100, 0b10100, 0b10100, 0b10100, 0b10100, 0b10100};
byte znak2[8] = { 0b10101, 0b10101, 0b10101, 0b10101, 0b10101, 0b10101, 0b10101, 0b10101};
void setup() {
lcd.begin();
lcd.backlight();
lcd.createChar(0, znak0);
lcd.createChar(1, znak1);
lcd.createChar(2, znak2);
}
void loop() {
lcd.setCursor(0, 0);
napiecie = analogRead(woltomierz);
lcd.print(napiecie);
lcd.print(F(" "));
lcd.setCursor(11, 0);
napiecieV = napiecie * (5.0 / 1024.0);
lcd.print(napiecieV, 3);
lcd.setCursor(0, 1);
bargraf = (21 + napiecie) / 64;
for (byte x = 0; x < bargraf; x++){
lcd.write(2);
}
if ((21 + napiecie) % 64 > 21 && (21 + napiecie) % 64 <= 42) {
lcd.write(0);
}
if ((21 + napiecie) % 64 > 42) {
lcd.write(1);
}
lcd.print(F(" "));
}