#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();
int main(){
stdio_init_all();
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);
while(true){
if (gpio_get(BUTTON_PIN)){
ciclo_ativo = !ciclo_ativo;
if (ciclo_ativo){
iniciar_ciclo();
}
sleep_ms(200);
}
}
return 0;
}
void iniciar_ciclo(){
while(ciclo_ativo){
gpio_put(LED_VERDE_PIN,1);
sleep_ms(5000);
gpio_put(LED_VERDE_PIN,0);
gpio_put(LED_AMARELO_PIN,1);
sleep_ms(2000);
gpio_put(LED_AMARELO_PIN,0);
gpio_put(LED_VERMELHO_PIN,1);
sleep_ms(5000);
gpio_put(LED_VERMELHO_PIN,0);
}
}