Tutorial ESP32 18/55 - Detectando Inclinação usando ESP32 | Kit de Aprendizado em IoT da SunFounder

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).

interruptor de inclinação

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

ESP32-18_tile_wiring

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

Imagens

ESP32-18_tile_wiring
ESP32-18_tile_wiring
tilt_switch
tilt_switch
ESP32-18_tile_schematic
ESP32-18_tile_schematic
817-ESP32 Tutorial 18/55- Arduino code for tilt sensor
Idioma: C++
Copiado!

Recursos e referências

Arquivos📁

Nenhum arquivo disponível.