#include "pico/stdlib.h"
#define LED_VERDE_PIN 13
#define LED_AMARELO_PIN 12
#define LED_VERMELHO_PIN 11
#define BUTTON_PIN 5
bool ciclo_ativo = false;
void iniciar_ciclo() {
while (ciclo_ativo) {
gpio_put(LED_VERMELHO_PIN, 1);
sleep_ms(500);
gpio_put(LED_VERMELHO_PIN, 0);
gpio_put(LED_AMARELO_PIN, 1);
sleep_ms(500);
gpio_put(LED_AMARELO_PIN, 0);
gpio_put(LED_VERDE_PIN, 1);
sleep_ms(500);
gpio_put(LED_VERDE_PIN, 0);
}
}
config_pin() {
gpio_init(LED_VERDE_PIN);
gpio_set_dir(LED_VERDE_PIN, GPIO_OUT);
gpio_init(LED_AMARELO_PIN);
gpio_set_dir(LED_AMARELO_PIN, GPIO_OUT);
gpio_init(LED_VERMELHO_PIN);
gpio_set_dir(LED_VERMELHO_PIN, GPIO_OUT);
gpio_init(BUTTON_PIN);
gpio_set_dir(BUTTON_PIN, GPIO_IN);
gpio_pull_down(BUTTON_PIN);
}
int main() {
stdio_init_all();
config_pin();
while (true) {
if(gpio_get(BUTTON_PIN)) {
ciclo_ativo = !ciclo_ativo;
if (ciclo_ativo) {
iniciar_ciclo();
}
sleep_ms(250);
}
}
return 0;
}