Explore projetos Arduino
Centenas de projetos, do nível iniciante ao avançado, com esquemas dos circuitos, códigos e vídeos. Comece pelo seu nível.

Temperatura e umidade com ESP32 e DHT22 (com display LCD)
Este projeto mede a temperatura e a umidade do ambiente com um sensor DHT22 e exibe os dados em tempo real em um LCD I2C 16x2. Os dados são lidos do sensor pelo protocolo de um fio (one-wire) com a biblioteca Adafruit DHT. Este projeto serve de base para estações meteorológicas IoT, automação residencial ou sistemas de monitoramento ambiental em estufas. A comunicação com o DHT22 é feita pelo pino GPIO 4 do ESP32.

Alarme detector de gás e fumaça com ESP32 e MQ-2
Neste projeto, um módulo sensor de gás MQ-2 detecta gases combustíveis (LPG, metano e propano) e fumaça, acionando um alarme tipo sirene em um buzzer passivo. A saída digital de limiar (DO) do sensor é conectada ao GPIO 4 do ESP32. Quando a concentração de gás ou fumaça ultrapassa o limiar, DO passa para LOW e o alarme é acionado. A sensibilidade é ajustada pelo potenciômetro do módulo. O buzzer passivo é acionado com `tone()` para criar um efeito de sirene que alterna entre duas frequências.

Leitor de cartões RFID RC522 com ESP32 e LCD
Neste projeto, vamos conectar o módulo RFID RC522, baseado no MFRC522, ao ESP32 via SPI e ler o UID do cartão ou da etiqueta. Isso serve de base para aplicações como fechaduras, sistemas de associados e controle de acesso. Vamos exibir o UID lido em um display LCD; nesta versão, ele não é comparado com uma lista de cartões autorizados. **ATENÇÃO:** o RC522 funciona apenas com **3,3V**; alimentá-lo com 5V queima o módulo!

Conexão Wi-Fi STA com ESP32 e display LCD
Neste projeto, conectamos o ESP32 à rede Wi-Fi de casa no modo estação (STA), de forma segura e tolerante a falhas. Guardamos o SSID e a senha em um arquivo `secrets.h` separado para evitar que sejam expostos no Git, configuramos um mecanismo de reconexão automática e exibimos o nível de sinal RSSI e o endereço IP em um display LCD I2C. O LED integrado funciona como indicador de status. É um gerenciador de conexão pronto para uso em produção.

Servidor web assíncrono com ESP32 (IP no LCD)
Neste projeto, transformamos o ESP32 em um **servidor web assíncrono** que você pode controlar pelo celular ou computador na mesma rede Wi-Fi. Com a biblioteca ESPAsyncWebServer, o servidor processa várias requisições ao mesmo tempo (ao contrário do `WebServer.h` tradicional, que bloqueia a execução ao processar uma requisição). Você poderá abrir o endereço IP do ESP32 no navegador e clicar nos botões ON/OFF (as rotas `/on` e `/off`) para ligar e desligar o LED conectado ao GPIO 5.

Piscar o LED integrado do Raspberry Pi Pico (Pico e Pico W)
O primeiro projeto da série Raspberry Pi Pico! Fazemos o LED verde integrado piscar para verificar se a placa funciona — um primeiro experimento no estilo clássico "Hello World". SEM componentes externos, apenas o Pico e um cabo USB. O código foi escrito em **MicroPython** (a linguagem com suporte oficial da Raspberry Pi Foundation). Aprenda a usar a classe `machine.Pin`, o modo `Pin.OUT`, os métodos `led.on()/off()` e `time.sleep()` no Thonny IDE.

Raspberry Pi Pico: controle de LED externo (GP14 + protoboard)
O próximo passo após o LED integrado do Pico: conectar um LED externo à protoboard e controlá-lo pelo pino GP14. Neste projeto, você aprende a usar qualquer pino GPIO de uso geral do Pico como saída, a polaridade do LED (terminal longo = ânodo/+, terminal curto = cátodo/–) e por que um resistor limitador de corrente (220Ω) é necessário. Sem o resistor, uma corrente excessiva passa pelo LED e pode queimá-lo. O circuito é muito simples: Pico GP14 → resistor de 220Ω → LE

Raspberry Pi Pico: dois LEDs alternados (padrão flip-flop, GP14 + GP13)
O próximo passo após um único LED no Pico: dois LEDs piscam alternadamente no clássico padrão flip-flop. Quando um apaga, o outro acende — o exemplo mais básico de coordenação entre vários GPIOs. Neste projeto, dois LEDs de cores diferentes (vermelho no GP14, verde no GP13) trocam de estado a cada 500ms. O método `Pin.toggle()` do MicroPython deixa o código curto e claro. Essa mesma lógica é a base de semáforos, luzes policiais, LEDs sequenciais e todas as animações com vários LEDs.

Raspberry Pi Pico: semáforo (3 LEDs em sequência, GP11/GP12/GP13)
Simulamos um semáforo real com LEDs vermelho, amarelo e verde — o primeiro projeto com 3 LEDs da série Pico! Verde por 4 segundos: "siga"; amarelo por 1,5 segundo: "prepare-se"; vermelho por 3 segundos: "pare"; e vermelho+amarelo por 1 segundo: "saída" (padrão de semáforo europeu). Aprenda **definição de funções** (`def all_off()`), **lógica de máquina de estados** (sequência) e **sincronização de vários GPIOs**.

Raspberry Pi Pico: efeito de luz policial (vermelho + azul, GP11 + GP12)
Simulamos a barra de luzes de uma viatura com um Raspberry Pi Pico da forma mais simples! Os LEDs vermelho e azul acendem alternadamente (flip-flop): enquanto o vermelho está aceso, o azul fica apagado, e eles trocam de estado a cada 0,3 segundo, para sempre. O código escreve as duas etapas diretamente em um único laço `while True`; a velocidade é definida pela constante `WAIT_MS`.

Raspberry Pi Pico: semáforo com 4 modos selecionados por botão (máquina de estados, GP11-13 + GP4)
4 modos de semáforo com apenas 1 botão! O modo muda a cada acionamento: **Ciclo normal** (vermelho → amarelo → verde em sequência), **Só vermelho** (sinal de parada), **Amarelo piscante** (atenção/modo noturno), **Desligado** (manutenção). Conceitos: **máquina de estados** (a variável `mode` determina qual comportamento executar), **alternância cíclica de modos com módulo** (`(mode + 1) % 4` → ciclo infinito 0→1→2→3→0), **temporização sem bloqueio** (as fases dos LEDs são temporizadas…

Jogo de cabo de guerra com LEDs e Raspberry Pi Pico (fita NeoPixel + 2 botões + buzzer)
Duelo de botões para dois jogadores! O **Raspberry Pi Pico** transforma uma **fita NeoPixel WS2812B** de 30 LEDs em uma corda: vermelho à esquerda, azul à direita. Cada toque avança sua cor em um LED; preencha a fita para vencer a rodada e ganhe 3 rodadas para vencer a partida. Se apertar cedo demais na contagem regressiva, você perde terreno; o **buzzer passivo** dá um clique diferente a cada jogador, e a partida termina em um arco-íris. `neopixel`, debounce e som sem bloqueio em MicroPython.
