#include <stdio.h>
#include <pico/stdlib.h>
// Definição dos pinos
#define LED_PIN_VD 13 // LED Verde
#define LED_PIN_VM 12 // LED Vermelho
#define LED_PIN_AZ 11 // LED Azul
#define BUTTON_PIN_A 5 // Botão A
#define BUTTON_PIN_B 6 // Botão B
int main() {
// Inicialização dos LEDs
gpio_init(LED_PIN_VM);
gpio_set_dir(LED_PIN_VM, GPIO_OUT);
gpio_init(LED_PIN_VD);
gpio_set_dir(LED_PIN_VD, GPIO_OUT);
gpio_init(LED_PIN_AZ);
gpio_set_dir(LED_PIN_AZ, GPIO_OUT);
// Inicialização dos botões com resistores internos de pull-down
gpio_init(BUTTON_PIN_A);
gpio_set_dir(BUTTON_PIN_A, GPIO_IN);
gpio_pull_down(BUTTON_PIN_A);
gpio_init(BUTTON_PIN_B);
gpio_set_dir(BUTTON_PIN_B, GPIO_IN);
gpio_pull_down(BUTTON_PIN_B);
while (true) {
// Verifica se ambos os botões estão pressionados
if (gpio_get(BUTTON_PIN_A) && gpio_get(BUTTON_PIN_B)) {
gpio_put(LED_PIN_VM, 1); // Acende o LED vermelho
gpio_put(LED_PIN_AZ, 0); // Apaga o LED azul
gpio_put(LED_PIN_VD, 0); // Apaga o LED verde
} else if (gpio_get(BUTTON_PIN_A)) {
gpio_put(LED_PIN_AZ, 1); // Acende o LED azul
gpio_put(LED_PIN_VM, 0); // Apaga o LED vermelho
gpio_put(LED_PIN_VD, 0); // Apaga o LED verde
} else if (gpio_get(BUTTON_PIN_B)) {
gpio_put(LED_PIN_AZ, 0); // Apaga o LED azul
gpio_put(LED_PIN_VM, 0); // Apaga o LED vermelho
gpio_put(LED_PIN_VD, 1); // Acende o LED verde
} else {
gpio_put(LED_PIN_AZ, 0); // Apaga o LED azul
gpio_put(LED_PIN_VM, 0); // Apaga o LED vermelho
gpio_put(LED_PIN_VD, 0); // Apaga o LED verde
}
sleep_ms(100); // Aguarda 100 ms para evitar leituras falsas
}
return 0;
}Loading
pi-pico-w
pi-pico-w