#include<LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,4);
const int analogPin = A0; // Throttle pin
const int ledCount = 10; // Amount of LEDs
int ledPins[] = { // Pins attatched to LEDs
2, 3, 4, 5, 6, 7, 8, 9, 10, 11
};
void setup() {
for (int led = 0; led < ledCount; led++) {
pinMode(ledPins[led], OUTPUT);
}
lcd.init();
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("Throttle [WIP]");
}
void loop() {
int throttle = analogRead(analogPin);
int ledLevel = map(throttle, 0, 1023, 0, ledCount);
for (int led = 0; led < ledCount; led++) {
if (led < ledLevel) {
digitalWrite(ledPins[led], HIGH);
}
else {
digitalWrite(ledPins[led], LOW);
}
}
lcd.setCursor(0,3); // Adding space to end fixes repetition of % sign
lcd.print("Power: " + (String)(throttle / 10.23) + "% ");
}
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
bargraph1:A1
bargraph1:A2
bargraph1:A3
bargraph1:A4
bargraph1:A5
bargraph1:A6
bargraph1:A7
bargraph1:A8
bargraph1:A9
bargraph1:A10
bargraph1:C1
bargraph1:C2
bargraph1:C3
bargraph1:C4
bargraph1:C5
bargraph1:C6
bargraph1:C7
bargraph1:C8
bargraph1:C9
bargraph1:C10
r1:1
r1:2
r2:1
r2:2
r3:1
r3:2
r4:1
r4:2
r5:1
r5:2
r6:1
r6:2
r7:1
r7:2
r8:1
r8:2
r9:1
r9:2
r10:1
r10:2
pot1:VCC
pot1:SIG
pot1:GND
lcd2:GND
lcd2:VCC
lcd2:SDA
lcd2:SCL