#include <stdio.h>
#include "pico/stdlib.h"
#include "pico/cyw43_arch.h"
const int BTN_0 = 7;
const int LED_0 = 3;
const int STEP_0 = 27;
const int STEP_1 = 26;
const int STEP_2 = 22;
const int STEP_3 = 21;
const int STEP[] = {STEP_0, STEP_1, STEP_2, STEP_3};
void step_rotate (int step) {
int s = 0;
for (int i = 0; i < step ; i++){
if (s > 3)
s = 0;
for (int j = 0; j <= 3; j++)
gpio_put(STEP[j], 0);
gpio_put(STEP[s++], 1);
sleep_ms(20);
}
}
int main() {
gpio_init(BTN_0);
gpio_init(LED_0);
gpio_init(STEP_0);
gpio_init(STEP_1);
gpio_init(STEP_2);
gpio_init(STEP_3);
gpio_set_dir(BTN_0, GPIO_IN);
gpio_pull_up(BTN_0);
gpio_set_dir(LED_0, GPIO_OUT);
gpio_set_dir(STEP_0, GPIO_OUT);
gpio_set_dir(STEP_1, GPIO_OUT);
gpio_set_dir(STEP_2, GPIO_OUT);
gpio_set_dir(STEP_3, GPIO_OUT);
stdio_init_all();
while (true) {
sleep_ms(100);
if (!gpio_get(BTN_0) != 0) {
printf("roda viva roda gigante \n");
gpio_put(LED_0, 1);
step_rotate(180);
gpio_put(LED_0, 0);
}
}
}