int btn = 19, btn2 = 5, led = 27, led2 = 14, led3 = 12, poten = 0;
int counter = 0;
void setup() {
Serial.begin(115200);
pinMode(btn, INPUT_PULLUP);
pinMode(btn2, INPUT_PULLUP);
pinMode(led, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(poten, INPUT);
}
void loop() {
int potenValue = analogRead(poten);
Serial.println(counter);
int btnValue = digitalRead(btn);
if (btnValue == 0) {
while (digitalRead(btn) == 0) {}
counter = counter - 1;
if (counter < 0 ) {
counter = 0;
}
}
int btn2Value = digitalRead(btn2);
if (btn2Value == 0) {
while (digitalRead(btn2) == 0) {}
counter = counter + 1;
if (counter > 3) {
counter = 3;
}
}
int mappedValue = map(potenValue, 0, 4095, 0, 255);
if (counter == 1) {
analogWrite(led, mappedValue);
analogWrite(led2, 0);
analogWrite(led3, 0);
}
if (counter == 2) {
analogWrite(led, mappedValue);
analogWrite(led2, mappedValue);
analogWrite(led3, 0);
}
if (counter == 3) {
analogWrite(led, mappedValue);
analogWrite(led2, mappedValue);
analogWrite(led3, mappedValue);
}
if (counter == 0 ) {
analogWrite(led, 0);
analogWrite(led2, 0);
analogWrite(led3, 0);
}
delay(100);
}
{
"version": 1,
"author": "*02-01-06 ด.ช.ณัฏฐนันท์ เตชะวิบูลย์วงศ์",
"editor": "wokwi",
"parts": [
{ "type": "wokwi-breadboard", "id": "bb1", "top": -425.4, "left": -26, "attrs": {} },
{ "type": "board-esp32-devkit-c-v4", "id": "esp", "top": -124.8, "left": 196.84, "attrs": {} },
{
"type": "wokwi-led",
"id": "led1",
"top": -397.2,
"left": 205.4,
"attrs": { "color": "red" }
},
{
"type": "wokwi-led",
"id": "led2",
"top": -397.2,
"left": 243.8,
"attrs": { "color": "yellow" }
},
{
"type": "wokwi-led",
"id": "led3",
"top": -397.2,
"left": 272.6,
"attrs": { "color": "blue" }
},
{
"type": "wokwi-pushbutton",
"id": "btn1",
"top": -355.3,
"left": 301.1,
"rotate": 90,
"attrs": { "color": "white" }
},
{
"type": "wokwi-pushbutton",
"id": "btn2",
"top": -355.3,
"left": 157.1,
"rotate": 90,
"attrs": { "color": "black" }
},
{ "type": "wokwi-potentiometer", "id": "pot1", "top": -356.5, "left": 383.8, "attrs": {} }
],
"connections": [
[ "esp:TX", "$serialMonitor:RX", "", [] ],