Tutorial ESP32 19/55 - Detectando Obstáculos usando Sensor Infravermelho | Kit de Aprendizado IoT ESP32 da SunFounder

Tutorial ESP32 19/55 - Detectando Obstáculos usando Sensor Infravermelho | Kit de Aprendizado IoT ESP32 da SunFounder

Neste tutorial, aprenderemos a usar um sensor de evitamento de obstáculos infravermelho com o módulo ESP32 para detectar obstáculos. Este projeto demonstrará como o sensor pode acionar um buzzer quando um obstáculo é detectado. A configuração também exibirá o status da detecção no monitor serial, proporcionando uma maneira clara e interativa de observar a funcionalidade do sensor.

Vamos trabalhar com o Kit de Aprendizado IoT SunFounder ESP32, que inclui o microcontrolador ESP32 equipado com capacidades de Wi-Fi e Bluetooth. O sensor infravermelho funciona emitindo luz infravermelha, que será refletida em obstáculos próximos. Quando a luz é refletida de volta, o sensor ativa um sinal de saída que iremos ler em nosso código. Também incluiremos um buzzer que é ativado quando um obstáculo é detectado, fornecendo um alerta audível.

Hardware Explicado

Os principais componentes deste projeto incluem o módulo ESP32, o sensor de evitar obstáculos por infravermelho e um buzzer. O módulo ESP32 atua como a unidade central de processamento, lidando com as entradas dos sensores e controlando as saídas. Pode ser alimentado por uma bateria de lítio, tornando-o portátil e flexível para várias aplicações.

O sensor de evitamento de obstáculos por infravermelho consiste em um transmissor e um receptor. O transmissor emite luz infravermelha, enquanto o receptor detecta a luz refletida de objetos próximos. Quando um obstáculo está presente, o pino de saída do sensor fica baixo, sinalizando ao ESP32 para tomar uma ação, como ativar o buzzer.

Detalhes da Ficha Técnica

FabricanteSunFounder
Número da peçaSensor de Evitação de Obstáculos Infravermelho
Tensão de operação3,3 V - 5 V
Tipo de SaídaDigital (Baixo quando obstáculo detectado)
Faixa de DetecçãoAté 20 cm
Tempo de RespostaMenos de 10 ms
PacoteMódulo

  • Fonte de alimentação: 3,3 V a 5 V para operação.
  • O sinal de saída fica baixo quando um obstáculo é detectado.
  • Sensibilidade ajustável via potenciómetro.
  • O alcance de detecção típico é de até 20 cm.
  • Tempo de resposta rápido de menos de 10 ms.

Instruções de Fiação

ESP32-19-obstacle_voide-wiring

Para conectar o sensor de evitamento de obstáculos infravermelho ao ESP32, comece ligando o pino VCC do sensor ao pino 5V do ESP32. Em seguida, conecte o pino GND do sensor a um dos pinos GND do ESP32. Por fim, conecte o pino OUT do sensor ao pino GPIO 14 do ESP32.

Para o buzzer, conecte o terminal negativo ao GND e o terminal positivo ao pino GPIO 27. Certifique-se de que todas as conexões estão seguras e que o sensor está alimentado corretamente. A fiação deve ser direta, uma vez que o sensor e o buzzer só precisam de conexões simples de energia e sinal.

Exemplos de Código e Passo a Passo

No código, primeiro definimos o pino conectado ao sensor de evitamento de obstáculos. Isso é feito usando o identificadoravoidPindefinido para 14. Também declaramos uma variávelavoidStatepara manter o estado de saída do sensor.

const int avoidPin = 14;  // the number of the avoid module pin

int avoidState = 0;

Na função de configuração, inicializamos a comunicação serial e definimos aavoidPincomo uma entrada. Isso permite que o ESP32 leia o estado de saída do sensor.

void setup() {
  Serial.begin(115200);  
  pinMode(avoidPin, INPUT);
}

Dentro da função de loop, lemos continuamente a saída do sensor usandodigitalRead(avoidPin)e armazene o resultado emavoidStateEste valor é então impresso no monitor serial, permitindo-nos ver quando um obstáculo é detectado (a saída será 0) ou não (a saída será 1).

void loop() {
  avoidState = digitalRead(avoidPin);
  Serial.println(avoidState);
}

Para o código completo, consulte a seção de carregamento abaixo do artigo.

Demonstração / O que Esperar

Quando a configuração estiver completa e o código for carregado, você deve ver o monitor serial exibindo 0 ou 1, dependendo se um obstáculo é detectado. Quando um obstáculo está dentro da faixa de detecção, a saída mostrará 0 e o buzzer irá soar. Se o obstáculo for removido, a saída mostrará 1 e o buzzer parará. Essa funcionalidade é demonstrada no vídeo (no vídeo às 12:30).

Problemas comuns podem incluir fiação incorreta, o que pode levar o sensor a não funcionar corretamente, ou taxas de baud incompatíveis no monitor serial, impedindo que os dados sejam exibidos com precisão. Certifique-se de verificar esses aspectos se você encontrar problemas.

Carimbos de Tempo do Vídeo

  • 00:00 Início
  • 1:57 Introdução do projeto
  • 4:33 Cabeamento de Evitação de Obstáculos
  • 5:55 Código Arduino para Evitação de Obstáculos
  • 7:36 Selecionando a placa ESP32 e a porta COM no Arduino IDE
  • 9:18 Demonstração do projeto
  • 10:42 Ajustando a faixa de aumento da sensibilidade
  • 12:39 Tomando ação quando um obstáculo é detectado
  • 14:24 Usando um buzzer quando um obstáculo é detectado

Imagens

ESP32-19-obstacle_voide-schematic
ESP32-19-obstacle_voide-schematic
ESP32-19-obstacle_voide-wiring
ESP32-19-obstacle_voide-wiring
818-ESP32 Tutorial 19/55- Arduino code for obstacle avoidance module
Idioma: C++
Copiado!

Recursos e referências

Arquivos📁

Nenhum arquivo disponível.