#define LED_RED_1 2
#define LED_YELLOW_1 3
#define LED_GREEN_1 4
#define LED_RED_2 8
#define LED_YELLOW_2 9
#define LED_GREEN_2 10
int main() {
// Define as portas como saída
_gpio_init(LED_RED_1);
gpio_set_dir(LED_RED_1, GPIO_OUT);
_gpio_init(LED_YELLOW_1);
gpio_set_dir(LED_YELLOW_1, GPIO_OUT);
_gpio_init(LED_GREEN_1);
gpio_set_dir(LED_GREEN_1, GPIO_OUT);
_gpio_init(LED_RED_2);
gpio_set_dir(LED_RED_2, GPIO_OUT);
_gpio_init(LED_YELLOW_2);
gpio_set_dir(LED_YELLOW_2, GPIO_OUT);
_gpio_init(LED_GREEN_2);
gpio_set_dir(LED_GREEN_2, GPIO_OUT);
while (1) {
// Liga o vermelho dos dois semáforos
gpio_put(LED_RED_1, 1);
gpio_put(LED_YELLOW_1, 0);
gpio_put(LED_GREEN_1, 0);
gpio_put(LED_RED_2, 1);
gpio_put(LED_YELLOW_2, 0);
gpio_put(LED_GREEN_2, 0);
// Esperamos 1s com o sinal no vermelho
sleep_ms(1000);
// Desliga o vermelho do semáforo 1
gpio_put(LED_RED_1, 0);
// Liga o verde do semáforo 1
gpio_put(LED_GREEN_1, 1);
// Esperamos 3s com o sinal aberto
sleep_ms(3000);
// Apagamos o verde e acendemos o amarelo
gpio_put(LED_GREEN_1, 0);
gpio_put(LED_YELLOW_1, 1);
// Esperamos 1s com o sinal no amarelo
sleep_ms(1000);
// Acende o vermelho dos dois semáforos
gpio_put(LED_YELLOW_1, 0);
gpio_put(LED_RED_1, 1);
gpio_put(LED_RED_2, 1);
// Esperamos 1s com o sinal fechado
sleep_ms(1000);
// Desliga o vermelho do semáforo 2
gpio_put(LED_RED_2, 0);
// Liga o verde do semáforo 2
gpio_put(LED_GREEN_2, 1);
// Esperamos 3s com o sinal aberto
sleep_ms(3000);
// Apagamos o verde e acendemos o amarelo
gpio_put(LED_GREEN_2, 0);
gpio_put(LED_YELLOW_2, 1);
// Esperamos 1s com o sinal amerelo
sleep_ms(1000);
}
return (0);
}
pico:GP0
pico:GP1
pico:GND.1
pico:GP2
pico:GP3
pico:GP4
pico:GP5
pico:GND.2
pico:GP6
pico:GP7
pico:GP8
pico:GP9
pico:GND.3
pico:GP10
pico:GP11
pico:GP12
pico:GP13
pico:GND.4
pico:GP14
pico:GP15
pico:GP16
pico:GP17
pico:GND.5
pico:GP18
pico:GP19
pico:GP20
pico:GP21
pico:GND.6
pico:GP22
pico:RUN
pico:GP26
pico:GP27
pico:GND.7
pico:GP28
pico:ADC_VREF
pico:3V3
pico:3V3_EN
pico:GND.8
pico:VSYS
pico:VBUS
r1:1
r1:2
led1:A
led1:C
r2:1
r2:2
led2:A
led2:C
r3:1
r3:2
led3:A
led3:C
r4:1
r4:2
led4:A
led4:C
r5:1
r5:2
led5:A
led5:C
r6:1
r6:2
led6:A
led6:C