/**
ESP32 + DHT22 Example for Wokwi
https://wokwi.com/arduino/projects/322410731508073042
*/
#include "DHTesp.h"
//refine components, r g b and push button
#define LED_RGB_r 12
#define LED_RGB_g 13
#define LED_RGB_b 14
#define PUSHBUTTON 33
int counter =0; //0 red 1 blu green 2
void setup() {
Serial.begin(115200);
//define leds as outputs
pinMode(LED_RGB_r,OUTPUT);
pinMode(LED_RGB_g,OUTPUT);
pinMode(LED_RGB_b,OUTPUT);
//define pushbutton as input(pull up)
pinMode(PUSHBUTTON, INPUT_PULLUP);
// set 011 = red
digitalWrite(LED_RGB_r, LOW );
digitalWrite(LED_RGB_g, HIGH );
digitalWrite(LED_RGB_b, HIGH );
}
void loop() {
// if push button was pressed , increase counter
if(digitalRead(PUSHBUTTON) == LOW)
{
counter++;
Serial.println(counter);
delay(200); // small delay to prevent LONG PRESS inputs
}
//reset the counter to 0 , red
if(counter==3)
counter=0;
//if counter ==0 , we are setting led red , 011
if(counter ==0)
{
digitalWrite(LED_RGB_r, LOW );
digitalWrite(LED_RGB_g, HIGH );
digitalWrite(LED_RGB_b, HIGH );
}
//if counter ==1 , we are setting led blue , 100
else if(counter ==1)
{
digitalWrite(LED_RGB_r, HIGH );
digitalWrite(LED_RGB_g, LOW );
digitalWrite(LED_RGB_b, LOW );
}
//if counter ==2 , we are setting led green , 101
if(counter ==2)
{
digitalWrite(LED_RGB_r, HIGH );
digitalWrite(LED_RGB_g, LOW );
digitalWrite(LED_RGB_b, HIGH );
}
delay(100);
}