/**
* Copyright (c) 2020 Raspberry Pi (Trading) Ltd.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#include "pico/stdlib.h"
// A
#define rA 2 // Rojo
#define yA 3 // Amarillo
#define gA 4 // Verde
// B
#define rB 6 // Rojo
#define yB 7 // Amarillo
#define gB 8 // Verde
void init() {
gpio_init(rA);
gpio_set_dir(rA, GPIO_OUT);
gpio_init(yA);
gpio_set_dir(yA, GPIO_OUT);
gpio_init(gA);
gpio_set_dir(gA, GPIO_OUT);
gpio_init(rB);
gpio_set_dir(rB, GPIO_OUT);
gpio_init(yB);
gpio_set_dir(yB, GPIO_OUT);
gpio_init(gB);
gpio_set_dir(gB, GPIO_OUT);
}
int main() {
// Sirve para tener un control de los ms de duración por estado
int speedmult = 1000;
init();
int current_sem;
gpio_put(rB, 1); // Para cuando se inicia
while (true) {
// Estado 1
gpio_put(rA, 0);
gpio_put(gA, 1);
sleep_ms(5 * speedmult);
// Estado 2
gpio_put(gA, 0);
gpio_put(yA, 1);
sleep_ms(2 * speedmult);
// Estado 3
gpio_put(yA, 0);
gpio_put(rA, 1);
sleep_ms(1 * speedmult);
// Estado 4
gpio_put(rB, 0);
gpio_put(gB, 1);
sleep_ms(5 * speedmult);
// Estado 5
gpio_put(gB, 0);
gpio_put(yB, 1);
sleep_ms(2 * speedmult);
// Estado 6
gpio_put(yB, 0);
gpio_put(rB, 1);
sleep_ms(1 * speedmult);
}
}