/*
Forum: https://forum.arduino.cc/t/joystick-controlling-leds/1307844
Wokwi: https://wokwi.com/projects/410824037311785985
*/
int sensorPin = A0;
int ledPins2 = 2;
int ledPins3 = 3;
int ledPins4 = 4;
int ledPins5 = 5;
int ledPins6 = 6;
int ledPins7 = 7;
int ledPins8 = 8;
int ledPins9 = 9;
int sensorValue = 0;
int ButtonValue = 10;
int status = true;
void setup() {
Serial.begin(9600);
pinMode(ledPins2, OUTPUT);
pinMode(ledPins3, OUTPUT);
pinMode(ledPins4, OUTPUT);
pinMode(ledPins5, OUTPUT);
pinMode(ledPins6, OUTPUT);
pinMode(ledPins7, OUTPUT);
pinMode(ledPins8, OUTPUT);
pinMode(ledPins9, OUTPUT);
pinMode(ButtonValue, INPUT_PULLUP);
digitalWrite(ledPins2, HIGH);
digitalWrite(ledPins3, HIGH);
digitalWrite(ledPins4, HIGH);
digitalWrite(ledPins5, HIGH);
digitalWrite(ledPins6, HIGH);
digitalWrite(ledPins7, HIGH);
digitalWrite(ledPins8, HIGH);
digitalWrite(ledPins9, HIGH);
}
void loop() {
sensorValue = analogRead(sensorPin);
Serial.print("Potentiometer = ");
Serial.print(sensorValue);
Serial.print(" Button Value = ");
Serial.println(status);
delay(100);
if (digitalRead(ButtonValue) == false) {
status = !status;
digitalWrite(ledPins2, HIGH);
digitalWrite(ledPins3, HIGH);
digitalWrite(ledPins4, HIGH);
digitalWrite(ledPins5, HIGH);
digitalWrite(ledPins6, HIGH);
digitalWrite(ledPins7, HIGH);
digitalWrite(ledPins8, HIGH);
digitalWrite(ledPins9, HIGH);
} while (digitalRead(ButtonValue) == false); {
if (sensorValue >= 0 && sensorValue < 172) {
//turn the ledPin on
digitalWrite(ledPins2, LOW);
digitalWrite(ledPins3, LOW);
digitalWrite(ledPins4, LOW);
digitalWrite(ledPins5, HIGH);
digitalWrite(ledPins6, HIGH);
digitalWrite(ledPins7, HIGH);
digitalWrite(ledPins8, HIGH);
digitalWrite(ledPins9, HIGH);
}
if (sensorValue >= 172 && sensorValue < 342) {
//turn the ledPin on
digitalWrite(ledPins2, HIGH);
digitalWrite(ledPins3, LOW);
digitalWrite(ledPins4, LOW);
digitalWrite(ledPins5, LOW);
digitalWrite(ledPins6, HIGH);
digitalWrite(ledPins7, HIGH);
digitalWrite(ledPins8, HIGH);
digitalWrite(ledPins9, HIGH);
}
if (sensorValue >= 342 && sensorValue < 512) {
//turn the ledPin on
digitalWrite(ledPins2, HIGH);
digitalWrite(ledPins3, HIGH);
digitalWrite(ledPins4, LOW);
digitalWrite(ledPins5, LOW);
digitalWrite(ledPins6, LOW);
digitalWrite(ledPins7, HIGH);
digitalWrite(ledPins8, HIGH);
digitalWrite(ledPins9, HIGH);
}
if (sensorValue >= 512 && sensorValue < 682) {
//turn the ledPin on
digitalWrite(ledPins2, HIGH);
digitalWrite(ledPins3, HIGH);
digitalWrite(ledPins4, HIGH);
digitalWrite(ledPins5, LOW);
digitalWrite(ledPins6, LOW);
digitalWrite(ledPins7, LOW);
digitalWrite(ledPins8, HIGH);
digitalWrite(ledPins9, HIGH);
}
if (sensorValue >= 682 && sensorValue < 852) {
//turn the ledPin on
digitalWrite(ledPins2, HIGH);
digitalWrite(ledPins3, HIGH);
digitalWrite(ledPins4, HIGH);
digitalWrite(ledPins5, HIGH);
digitalWrite(ledPins6, LOW);
digitalWrite(ledPins7, LOW);
digitalWrite(ledPins8, LOW);
digitalWrite(ledPins9, HIGH);
}
if (sensorValue >= 852 && sensorValue < 1024) {
//turn the ledPin on
digitalWrite(ledPins2, HIGH);
digitalWrite(ledPins3, HIGH);
digitalWrite(ledPins4, HIGH);
digitalWrite(ledPins5, HIGH);
digitalWrite(ledPins6, HIGH);
digitalWrite(ledPins7, LOW);
digitalWrite(ledPins8, LOW);
digitalWrite(ledPins9, LOW);
}
}
}