Moin,
für mein Temperaturlogger Projekt benutze ich eine Funktion um Balken auf einem LCD darzustellen. Die Funktion sieht bei mir so aus:
byte setBar(byte xvalue,byte value) {
if (value>=0 && value<2) {
lcd.setCursor(xvalue, 1);
lcd.print(" ");
lcd.setCursor(xvalue, 0);
lcd.print(" ");
}
if (value>=2 && value<4) {
lcd.setCursor(xvalue, 1);
lcd.write(0);
lcd.setCursor(xvalue, 0);
lcd.print(" ");
}
if (value>=4 && value<6) {
lcd.setCursor(xvalue, 1);
lcd.write(1);
lcd.setCursor(xvalue, 0);
lcd.print(" ");
}
if (value>=6 && value<8) {
lcd.setCursor(xvalue, 1);
lcd.write(2);
lcd.setCursor(xvalue, 0);
lcd.print(" ");
}
if (value>=8 && value<10) {
lcd.setCursor(xvalue, 1);
lcd.write(3);
lcd.setCursor(xvalue, 0);
lcd.print(" ");
}
if (value>=10 && value<12) {
lcd.setCursor(xvalue, 1);
lcd.write(4);
lcd.setCursor(xvalue, 0);
lcd.print(" ");
}
if (value>=12 && value<14) {
lcd.setCursor(xvalue, 1);
lcd.write(5);
lcd.setCursor(xvalue, 0);
lcd.print(" ");
}
if (value>=14 && value<16) {
lcd.setCursor(xvalue, 1);
lcd.write(6);
lcd.setCursor(xvalue, 0);
lcd.print(" ");
}
if (value>=16 && value<18) {
lcd.setCursor(xvalue, 1);
lcd.write(7);
lcd.setCursor(xvalue, 0);
lcd.print(" ");
}
if (value>=18 && value<20) {
lcd.setCursor(xvalue, 1);
lcd.write(7);
lcd.setCursor(xvalue, 0);
lcd.write(0);
}
if (value>=20 && value<22) {
lcd.setCursor(xvalue, 1);
lcd.write(7);
lcd.setCursor(xvalue, 0);
lcd.write(1);
}
if (value>=22 && value<24) {
lcd.setCursor(xvalue, 1);
lcd.write(7);
lcd.setCursor(xvalue, 0);
lcd.write(2);
}
if (value>=24 && value<26) {
lcd.setCursor(xvalue, 1);
lcd.write(7);
lcd.setCursor(xvalue, 0);
lcd.write(3);
}
if (value>=26 && value<28) {
lcd.setCursor(xvalue, 1);
lcd.write(7);
lcd.setCursor(xvalue, 0);
lcd.write(4);
}
if (value>=28 && value<30) {
lcd.setCursor(xvalue, 1);
lcd.write(7);
lcd.setCursor(xvalue, 0);
lcd.write(5);
}
if (value>=30 && value<32) {
lcd.setCursor(xvalue, 1);
lcd.write(7);
lcd.setCursor(xvalue, 0);
lcd.write(6);
}
if (value>=32 && value<50) {
lcd.setCursor(xvalue, 1);
lcd.write(7);
lcd.setCursor(xvalue, 0);
lcd.write(7);
}
}
Wie könnte ich die Blöcke
if (value>=32 && value<50) {
lcd.setCursor(xvalue, 1);
lcd.write(7);
lcd.setCursor(xvalue, 0);
lcd.write(7);
}
optimieren/kürzen? Ich danke Euch für einen Tipp. Die Funktion erzeugt diese Balken rechts im LCD:
