#include "pico/stdlib.h"
#define led_vermelho1 20
#define led_amarelo1 19
#define led_verde1 18
#define led_vermelho2 27
#define led_amarelo2 26
#define led_verde2 22
int main() {
stdio_init_all();
gpio_init(led_vermelho1);
gpio_set_dir(led_vermelho1, GPIO_OUT);
gpio_init(led_amarelo1);
gpio_set_dir(led_amarelo1, GPIO_OUT);
gpio_init(led_verde1);
gpio_set_dir(led_verde1, GPIO_OUT);
gpio_init(led_vermelho2);
gpio_set_dir(led_vermelho2, GPIO_OUT);
gpio_init(led_amarelo2);
gpio_set_dir(led_amarelo2, GPIO_OUT);
gpio_init(led_verde2);
gpio_set_dir(led_verde2, GPIO_OUT);
while (true) {
//Semáforo 1 verde / Semáforo 2 vermelho
gpio_put(led_verde1, 1);
gpio_put(led_amarelo1, 0);
gpio_put(led_vermelho1, 0);
gpio_put(led_verde2, 0);
gpio_put(led_amarelo2, 0);
gpio_put(led_vermelho2, 1);
sleep_ms(3000);
//Semáforo 1 amarelo / Semáforo 2 vermelho
gpio_put(led_verde1, 0);
gpio_put(led_amarelo1, 1);
gpio_put(led_vermelho1, 0);
gpio_put(led_verde2, 0);
gpio_put(led_amarelo2, 0);
gpio_put(led_vermelho2, 1);
sleep_ms(2000);
//Semáforo 1 vermelho / Semáforo 2 verde
gpio_put(led_verde1, 0);
gpio_put(led_amarelo1, 0);
gpio_put(led_vermelho1, 1);
gpio_put(led_verde2, 1);
gpio_put(led_amarelo2, 0);
gpio_put(led_vermelho2, 0);
sleep_ms(3000);
//Semáforo 1 vermelho / Semáforo 2 amarelo
gpio_put(led_verde1, 0);
gpio_put(led_amarelo1, 0);
gpio_put(led_vermelho1, 1);
gpio_put(led_verde2, 0);
gpio_put(led_amarelo2, 1);
gpio_put(led_vermelho2, 0);
sleep_ms(2000);
}
return 0;
}