#include <stdio.h>
#include "pico/stdlib.h"
/*semáforo */
#define led0 2
#define led1 3
#define led2 4
#define led3 21
#define led4 22
#define button 15
#define OUT_H 1
#define OUT_L 0
#define OUT 1
#define IN 0
unsigned char pedestre;
int main()
{
uint8_t led0_last_sts = 0;
uint8_t led1_last_sts = 0;
uint8_t led2_last_sts = 0;
uint8_t led3_last_sts = 0;
uint8_t led4_last_sts = 0;
uint8_t button_last_sts = 0;
stdio_init_all();
gpio_init(led0);
gpio_set_dir(led0, OUT);
gpio_init(led1);
gpio_set_dir(led1, OUT);
gpio_init(led2);
gpio_set_dir(led2, OUT);
gpio_init(led3);
gpio_set_dir(led3, OUT);
gpio_init(led4);
gpio_set_dir(led4, OUT);
gpio_init(button);
gpio_set_dir(button, IN);
gpio_put(led2, OUT_H);
gpio_put(led4, OUT_H);
while (true)
{
pedestre = gpio_get(button);
if(pedestre == 0)
{
gpio_put(led2, OUT_H);
sleep_ms(30000);
gpio_put(led2, OUT_L);
gpio_put(led1, OUT_H);
sleep_ms(30000);
gpio_put(led1, OUT_L);
gpio_put(led0, OUT_H);
gpio_put(led4, OUT_H);
sleep_ms(2000);
gpio_put(led4, OUT_L);
gpio_put(led3, OUT_H);
sleep_ms(45000);
gpio_put(led3, OUT_L);
gpio_put(led4, OUT_H);
sleep_ms(15000);
gpio_put(led0, OUT_L);
gpio_put(led2, OUT_H);
}
}
}