#include <LiquidCrystal_I2C.h> // Libaries
#define I2C_ADDR 0x27 // LCD
#define LCD_COLUMNS 16 // LCD
#define LCD_LINES 2 // LCD
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES); // LCD
void setup() { // On start
// Init
lcd.init(); // Starting the lcd
lcd.backlight(); // Turning on the Backlight
lcd.print("STARTING"); // Start of the code
pinMode(0, OUTPUT); // Setting pin outputs
pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
digitalWrite(0, HIGH); // Testing the LED's
digitalWrite(1, HIGH);
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
delay(2000); // Easier to read
lcd.clear(); // Clearing the lcd
}
void loop() {
int S = analogRead(A0); // S = the Analog of the dial
lcd.print(S); // Printing the Analog input of the dial
delay(10); // Giving the lcd time to print
lcd.clear(); // Refreshing the lcd
if (S >= 102.3 * 1) { // The code for the LED's
digitalWrite(0, HIGH);
}
else {
digitalWrite(0, LOW);
}
if (S >= 102.3 * 2) {
digitalWrite(1, HIGH);
}
else {
digitalWrite(1, LOW);
}
if (S >= 102.3 * 3) {
digitalWrite(2, HIGH);
}
else {
digitalWrite(2, LOW);
}
if (S >= 102.3 * 4) {
digitalWrite(3, HIGH);
}
else {
digitalWrite(3, LOW);
}
if (S >= 102.3 * 5) {
digitalWrite(4, HIGH);
}
else {
digitalWrite(4, LOW);
}
if (S >= 102.3 * 6) {
digitalWrite(5, HIGH);
}
else {
digitalWrite(5, LOW);
}
if (S >= 102.3 * 7) {
digitalWrite(6, HIGH);
}
else {
digitalWrite(6, LOW);
}
if (S >= 102.3 * 8) {
digitalWrite(7, HIGH);
}
else {
digitalWrite(7, LOW);
}
if (S >= 102.3 * 9) {
digitalWrite(8, HIGH);
}
else {
digitalWrite(8, LOW);
}
if (S >= 102.3 * 10) {
digitalWrite(9, HIGH);
}
else {
digitalWrite(9, LOW);
}
} // WIP