/* Definição dos Pinos */
const byte led_red = 4;
const byte led_green = 2;
const byte led_blue = 15;
const byte bt_green = 25;
const byte bt_blue = 13;
/* Funções */
void blinkLED(byte pin, int time) {
static bool flag = 0;
flag = !flag;
digitalWrite(pin, flag);
delay(time);
}
void controlLED(byte button, byte led) {
bool state_bt = digitalRead(button);
digitalWrite(led, !state_bt);
}
void toggleLED(byte button, byte led) {
static bool st_old = HIGH;
static bool flag = 0;
byte state_bt = digitalRead(button);
if(!state_bt && st_old) {
flag = !flag;
digitalWrite(led, flag);
}
st_old = state_bt;
}
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
pinMode(led_red, OUTPUT);
pinMode(led_green, OUTPUT);
pinMode(led_blue, OUTPUT);
pinMode(led_red, OUTPUT);
pinMode(bt_green, INPUT_PULLUP);
pinMode(bt_blue, INPUT_PULLUP);
}
void loop() {
blinkLED(led_red, 200);
controlLED(bt_green, led_green);
toggleLED(bt_blue, led_blue);
delay(10);
}