Tutorial ESP32 18/55 - Detectando Inclinação usando ESP32 | Kit de Aprendizado em IoT da SunFounder
Neste tutorial, utilizaremos o microcontrolador SunFounder ESP32 para criar um projeto simples que detecta inclinação usando um interruptor de inclinação. Quando o interruptor de inclinação é ativado, um LED se apagará, e quando estiver em sua posição vertical, o LED acenderá. Este projeto não é apenas uma ótima introdução ao trabalho com sensores de inclinação, mas também serve como base para várias aplicações em robótica. Para um guia visual detalhado, não deixe de conferir o vídeo vinculado acima (no vídeo em 00:00).

Hardware Explicado
Os principais componentes utilizados neste projeto incluem o microcontrolador ESP32, um interruptor de inclinação e um LED. O ESP32 é um microcontrolador poderoso com Wi-Fi e Bluetooth integrados, tornando-o ideal para aplicações de IoT. O interruptor de inclinação é um dispositivo simples que contém uma bola de metal dentro de uma lata. Quando inclinado, a bola se move e quebra o circuito, permitindo que detectemos o estado de inclinação. O LED indicará visualmente o status de inclinação com base no estado do interruptor. Além desses componentes, também usaremos resistores para limitação de corrente e propósitos de pull-down. O resistor de 220 ohms conectado ao LED garante que o LED opere com segurança sem consumir muita corrente. O resistor de 10k ohms atua como um pull-down para o interruptor de inclinação, garantindo que o pino de entrada leia um estado conhecido quando o interruptor não estiver ativado.
Detalhes da Ficha Técnica
| Fabricante | SunFounder |
|---|---|
| Número da peça | ESP32 |
| Tensão de lógica/IO | 3,3 V |
| Tensão de alimentação | 5 V |
| Corrente de saída (por canal) | 12 mA |
| Corrente de pico (por canal) | 40 mA |
| Orientação sobre frequência PWM | 1 kHz |
| Limiar de lógica de entrada | 0,8 V (baixo), 2,0 V (alto) |
| Queda de tensão / RDS(on)/ saturação | 0,2 V |
| Limites térmicos | 85 °C |
| Pacote | Módulo ESP32 |
| Notas / variantes | Inclui recursos de Wi-Fi e Bluetooth. |
- Garanta valores de resistor adequados para evitar danos ao LED.
- Mantenha a fiação organizada para evitar curtos-circuitos.
- Use resistores de pull-down para garantir leituras estáveis do interruptor de inclinação.
- Teste as conexões antes de energizar o circuito para evitar falha nos componentes.
- Verifique a orientação do interruptor de inclinação para um funcionamento preciso.
Instruções de Fiação

Para conectar os componentes, comece com o interruptor de inclinação, que não tem polaridade, então pode ser conectado em qualquer direção. Conecte um pino do interruptor de inclinação à alimentação de 3,3V e o outro pino ao pino 14 no ESP32. Para garantir que o pino 14 leia um estado conhecido quando o interruptor não estiver ativado, conecte um resistor de 10k-ohm do mesmo pino ao terra. Em seguida, pegue o LED e insira-o na placa de testes com o pino mais longo (ânodo) conectado a um resistor de 220-ohm. Conecte a outra extremidade do resistor ao pino 26 no ESP32. O pino mais curto (cátodo) do LED deve ser conectado ao terra. Finalmente, conecte o pino de terra do ESP32 à trilha de terra da sua placa de testes e o pino de 3,3V à trilha de alimentação. Certifique-se de verificar todas as conexões para evitar curtos ou leituras incorretas. Se você seguir estas etapas, deverá ter um sensor de inclinação funcional pronto para programação.
Exemplos de Código e Passo a Passo
O código começa definindo os números dos pinos para o interruptor de inclinação e o LED. O interruptor de inclinação está conectado ao pino 14, e o LED está conectado ao pino 26. O estado do interruptor de inclinação é armazenado na variáveltiltState.
// Set pin numbers
const int tiltPin = 14; // Tilt Switch
const int ledPin = 26; // LED
// Variable for storing the tilt status
int tiltState = 0;
Este trecho mostra as atribuições de pinos e a declaração da variável que rastreará o estado de inclinação. AtiltPiné definido como uma entrada para ler o status do interruptor. Nosetup()a função, a comunicação serial é inicializada e os modos dos pinos são configurados para o interruptor de inclinação e o LED. Isso garante que o ESP32 possa ler a entrada do interruptor de inclinação e controlar o LED de acordo.
void setup() {
Serial.begin(115200);
// Initialize the tilt pin as an input
pinMode(tiltPin, INPUT);
// Initialize the LED pin as an output
pinMode(ledPin, OUTPUT);
}
Esta seção é crucial, pois cria o ambiente, permitindo que o ESP32 se comunique de forma eficaz e controle a saída com base no status do interruptor de inclinação.loop()a função verifica continuamente o estado do interruptor de inclinação. Se o interruptor estiver na posição vertical, o LED acenderá; se estiver inclinado, o LED apagará. O estado atual é impresso no monitor serial para depuração.
void loop() {
// Read the state of the tilt switch
tiltState = digitalRead(tiltPin);
Serial.println(tiltState);
// If the switch is upright
if (tiltState == HIGH) {
// Turn LED on
digitalWrite(ledPin, HIGH);
} else {
// Turn LED off
digitalWrite(ledPin, LOW);
}
}
Este loop roda continuamente, permitindo o monitoramento em tempo real do estado do interruptor de inclinação e o controle correspondente do LED. A saída pode ser observada no monitor serial, facilitando a verificação da funcionalidade.
Demonstração / O que Esperar
Uma vez que tudo esteja conectado corretamente e o código tenha sido carregado, você deve ver o LED acender quando o interruptor de inclinação estiver na posição vertical, e ele se apagará quando inclinado. Essa correlação direta entre o estado de inclinação e a resposta do LED demonstra efetivamente a funcionalidade do interruptor de inclinação. Armadilhas comuns incluem garantir que a fiação esteja correta e verificar se os resistores estão colocados adequadamente para evitar curtos-circuitos (no vídeo às 12:00).
Marcação de Vídeo
- 00:00 Inicio
- 1:44 Introdução do Projeto
- 2:49 Documentação
- 6:43 Explicação da Ligação do Arduino
- 10:39 Código Arduino explicado
- 13:40 Selecionando a placa ESP32 e a porta COM no Arduino IDE
- 15:22 Demonstração do Projeto Tilt
Common Course Links
Common Course Files
Recursos e referências
-
DocumentaçãoTutorial ESP32 18/55 - Documentação do sensor Tile SunFounderdocs.sunfounder.com
Arquivos📁
Nenhum arquivo disponível.