MoreGraphs.ino 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #include <LiquidCrystal.h>
  2. #include <LcdBarGraphX.h>
  3. byte lcdNumCols = 16; // -- number of columns in the LCD
  4. LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // -- creating LCD instance
  5. // -- creating a 4 chars wide bars
  6. LcdBarGraphX lbg0(&lcd, 4, 0, 0); // -- First line at column 0
  7. LcdBarGraphX lbg1(&lcd, 4, 5, 0); // -- First line at column 5
  8. LcdBarGraphX lbg2(&lcd, 4, 10, 0); // -- First line at column 10
  9. LcdBarGraphX lbg3(&lcd, 4, 0, 1); // -- Second line at column 0
  10. LcdBarGraphX lbg4(&lcd, 4, 5, 1); // -- Second line at column 5
  11. LcdBarGraphX lbg5(&lcd, 4, 10, 1); // -- Second line at column 0
  12. byte i0 = 0;
  13. byte i1 = 0;
  14. byte i2 = 0;
  15. byte i3 = 0;
  16. byte i4 = 0;
  17. byte i5 = 0;
  18. void setup(){
  19. // -- initializing the LCD
  20. lcd.begin(2, lcdNumCols);
  21. lcd.clear();
  22. // -- do some delay: some time I've got broken visualization
  23. delay(100);
  24. }
  25. void loop()
  26. {
  27. // -- draw bar graph from the analog value readed
  28. lbg0.drawValue( i0, 255);
  29. lbg1.drawValue( i1, 255);
  30. lbg2.drawValue( i2, 255);
  31. lbg3.drawValue( i3, 255);
  32. lbg4.drawValue( i4, 255);
  33. lbg5.drawValue( i5, 255);
  34. // -- do some delay: frequent draw may cause broken visualization
  35. delay(100);
  36. i0 += 5;
  37. i1 += 7;
  38. i2 += 9;
  39. i3 += 11;
  40. i4 += 13;
  41. i5 += 15;
  42. }