#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 16 chars and 2 line display
const int redLedPin = 12;
const int greenLedPin = 10;
const int yellowLedPin = 8;
const int blueLedPin = 7;
const int analogA0Pin = A2;
const int analogA1Pin = A3;
void setup() {
pinMode(redLedPin, OUTPUT);
pinMode(greenLedPin, OUTPUT);
pinMode(yellowLedPin, OUTPUT);
pinMode(blueLedPin, OUTPUT);
Serial.begin(9600);
// LCD stuff
lcd.init();
lcd.backlight();
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Issokay");
lcd.setCursor(0, 1);
lcd.print(" ANDREW ");
delay(2000);
lcd.clear();
}
void loop() {
// Read voltage at pin A0
float voltageA0 = analogRead(analogA0Pin) * 3.3 / 1023.0; // Convert to voltage (assuming 5V reference)
// Read voltage at pin A1
float voltageA1 = analogRead(analogA1Pin) * 3.3 / 1023.0; // Convert to voltage (assuming 5V reference)
// Check voltage at pin A0
if (voltageA0 >= 1.4 && voltageA0 <= 2.0) {
digitalWrite(redLedPin, !digitalRead(redLedPin)); // Toggle red LED
} else if (voltageA0 == 0.0) {
digitalWrite(greenLedPin, !digitalRead(greenLedPin)); // Toggle green LED
}
// Check voltage at pin A1
if (voltageA1 >= 1.4 && voltageA1 <= 2.0) {
digitalWrite(yellowLedPin, !digitalRead(yellowLedPin)); // Toggle yellow LED
} else if (voltageA1 == 0.0) {
digitalWrite(blueLedPin, !digitalRead(blueLedPin)); // Toggle blue LED
}
// Print voltages to the LCD
lcd.setCursor(0, 0);
lcd.print("Voltage A0: ");
lcd.setCursor(13, 0);
lcd.print(voltageA0);
lcd.setCursor(0, 1);
lcd.print("Voltage A1: ");
lcd.setCursor(13, 1);
lcd.print(voltageA1);
delay(100); // Adjust delay as needed
}