#include <LiquidCrystal_I2C.h>
#include <LiquidCrystal.h>
#include <Scheduler.h>
#define PIN_POT A1
#define PIN1_POT A2
#define PIN2_POT A0
#define LED_PIN 3
#define LED1_PIN 4
#define LED2_PIN 5
byte ledState = LOW;
byte led1State = LOW;
byte led2State = LOW;
byte x, y, z;
int rotat, rotat1, rotat2;
int a = 1023;
int cursorColumn = 0;
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
Serial.begin(9600);
pinMode(PIN_POT, INPUT);
pinMode(PIN1_POT, INPUT);
pinMode(PIN2_POT, INPUT);
pinMode(LED_PIN, OUTPUT);
pinMode(LED1_PIN, OUTPUT);
pinMode(LED2_PIN, OUTPUT);
lcd.init();
lcd.backlight();
Scheduler.startLoop(loop2);
Scheduler.startLoop(loop3);
Scheduler.startLoop(loop4);
}
void loop() {
rotat = analogRead(PIN_POT);
rotat1 = analogRead(PIN1_POT);
rotat2 = analogRead(PIN2_POT);
lcd.setCursor(0, 0);
lcd.print(rotat);
lcd.setCursor(5, 0);
lcd.print(rotat1);
lcd.setCursor(10, 0);
lcd.print(rotat2);
}
void loop2() {
digitalWrite(LED_PIN, HIGH);
if (rotat < 1023 || rotat > 1023) {
x = a - rotat;
abs(x);
delay(x);
static bool ledState = false;
ledState = !ledState;
digitalWrite(LED_PIN, LOW);
}
else if(rotat == 1023) {
delay(1);
}
}
void loop3() {
digitalWrite(LED1_PIN, HIGH);
if (rotat1 < 1023 || rotat1 > 1023) {
y = a - rotat1;
abs(y);
delay(y);
static bool led1State = false;
led1State = !led1State;
digitalWrite(LED1_PIN, LOW);
}
else if(rotat1 == 1023) {
delay(1);
}
}
void loop4() {
digitalWrite(LED2_PIN, HIGH);
if (rotat2 < 1023 || rotat2 > 1023) {
z = a - rotat2;
abs(z);
delay(z);
static bool led2State = false;
led2State = !led2State;
digitalWrite(LED2_PIN, LOW);
}
else if(rotat2 == 1023) {
delay(1);
}
}