//01 resistor entre 50 e 220 ohms
//01 LED azul
// 01 placa Pi Pico
// 06 cabos de ligação MM
// 01 cabo de dados micro-USB
#include <stdio.h>
#include "pico/stdlib.h"
#define LED 18 // Pino do LED
#define BUTTON 19 // Pino do botão
void toggleLED() {
// Lê o estado atual do botão (lógica invertida por conta do pull-up)
bool button_state = !gpio_get(BUTTON);
static bool statusLED = false;
static bool current_state = false;
// Detecta uma transição do botão de "não pressionado" para "pressionado"
if (!button_state && current_state) {
statusLED = !statusLED;
gpio_put(LED, statusLED);
// Atualiza o estado do LED
}
current_state = button_state;
sleep_ms(10); // Atraso para debounce básico
}
int main() {
stdio_init_all();
// Configura o pino do LED como saída
gpio_init(LED);
gpio_set_dir(LED, GPIO_OUT);
// Configura o pino do botão como entrada com pull-up interno
gpio_init(BUTTON);
gpio_set_dir(BUTTON, GPIO_IN);
gpio_pull_up(BUTTON);
while (true) {
toggleLED(); // Executa o loop continuamente
}
}