| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #include <Wire.h>
- #include <LiquidCrystal_I2C.h>
- #include <LcdBarGraphX.h>
- byte lcdNumCols = 20; // -- number of columns in the LCD
- LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // -- creating LCD instance
- // -- creating a 4 chars wide bars
- LcdBarGraphX lbg0(&lcd, 4, 0, 0); // -- First line at column 0
- LcdBarGraphX lbg1(&lcd, 4, 5, 0); // -- First line at column 5
- LcdBarGraphX lbg2(&lcd, 4, 10, 0); // -- First line at column 10
- LcdBarGraphX lbg3(&lcd, 4, 0, 1); // -- Second line at column 0
- LcdBarGraphX lbg4(&lcd, 4, 5, 1); // -- Second line at column 5
- LcdBarGraphX lbg5(&lcd, 4, 10, 1); // -- Second line at column 0
- byte i0 = 0;
- byte i1 = 0;
- byte i2 = 0;
- byte i3 = 0;
- byte i4 = 0;
- byte i5 = 0;
- void setup(){
- // -- initializing the LCD
- lcd.begin(4, lcdNumCols);
- lcd.clear();
- // -- do some delay: some time I've got broken visualization
- delay(100);
- }
- void loop()
- {
- // -- draw bar graph from the analog value readed
- lbg0.drawValue( i0, 255);
- lbg1.drawValue( i1, 255);
- lbg2.drawValue( i2, 255);
- lbg3.drawValue( i3, 255);
- lbg4.drawValue( i4, 255);
- lbg5.drawValue( i5, 255);
- // -- do some delay: frequent draw may cause broken visualization
- delay(100);
-
- i0 += 5;
- i1 += 7;
- i2 += 9;
- i3 += 11;
- i4 += 13;
- i5 += 15;
- }
|