Sensor ultrassônico com interface com nodemcu esp8266 12e para medição de distância

Este é um tutorial simples sobre como fazer a interface do sensor ultrassônico com o módulo WiFi nodemcu e medir a distância. Recentemente fiz um projeto de internet das coisas que envolve um sensor ultrassônico e um módulo WiFi nodemcu. O sensor ultrassônico usado no projeto é o mais popular entre a comunidade de circuitos DIY, o sensor ultrassônico hcsr04. Você pode encontrar muitos tutoriais na internet sobre como fazer a interface do sensor ultrassônico hcsr04 com o arduino e outros microcontroladores diferentes. Mas a interface do sensor ultrassônico hcsr04 com o nodemcu requer um pouco mais de esforço para compreender os requisitos de energia dos dois módulos. Vários tutoriais estão presentes na Internet sobre a interface do popular sensor ultrassônico hcsr04 com o nodemcu, mas nenhum deles funcionou para mim, e muitas pessoas nos comentários reclamam das restrições de energia do circuito. Portanto, neste tutorial irei elaborar os requisitos de energia dos dois módulos e como interligá-los corretamente.
Foto

Distância de medição do sensor ultrassônico HCSR04

Sensor Ultrassônico HC-SR04

O sensor ultrassônico Hcsr04 é composto por um transmissor ultrassônico, um receptor ultrassônico e um circuito de controle. O transmissor ultrassônico Hscr04 transmite ondas de ultrassom a 40.000 Hz. As ondas transmitidas retornam se atingirem qualquer superfície/objeto plano em seu caminho. As ondas devolvidas atingem o receptor ultrassônico. O receptor ultrassônico recebe as ondas devolvidas e notifica o circuito de controle sobre isso. Circuito de controle que calcula o tempo que as ondas levam para voltar após a transmissão. O tempo é então manipulado para aproximar a distância percorrida pelas ondas ou qual é a distância entre o sensor e o objeto? a partir do qual as ondas de ultrassom retornaram.
Hcsr04 pode medir distâncias entre uma faixa ativa de 2 cm a 4 metros. Hcsr04 requer 5 volts e 15 mA de energia para operação. Hcsr04 possui quatro pinos. Dois são pinos de alimentação. Vcc é o pino +ve, aplique 5v a este pino e Gnd é o pino de aterramento, conecte -ve da fonte de alimentação de 5v a ele. Os outros dois pinos são Acionar e Eco.

  • Pino de gatilho é acionado por um controlador externo para estourar uma onda de ultrassom.
  • Pino de eco notifica o controlador externo quando o receptor recebe de volta a onda devolvida.

O preço do módulo varia entre US$ 1,5 da China e US$ 3,95 da sparkfun.

Restrições de energia do sensor ultrassônico Nodemcu esp8266 e Hcsr04

Nodemcu esp8266 12e funciona em 3,3 volts e seus pinos também são compatíveis com 3,3 V TTL. Onde o sensor ultrassônico Hcsr04 funciona em 5 volts. Não podemos alimentar Hcsr04 diretamente com pinos de saída de energia nodemcu 3.3v. Muitos tutoriais disponíveis online sobre este tópico cometeram esse erro e os engenheiros 😀 estão reclamando deles. Existem alguns novos módulos de sensores ultrassônicos Hcsr04 vindos da China que podem funcionar em 3,3 volts. Se você tiver um, poderá interligá-lo diretamente com o nodemcu.

Diagrama de circuito do projeto

Usei uma fonte de alimentação barata que pode produzir 5 volts e também 3,3 volts. Comprei online na China. O lado de 5 volts da fonte de alimentação fornece energia para hcsr04 e o lado de 3,3 volts é usado para alimentar o nodemcu. Observe que os aterramentos de 3,3 V e 5 V são comuns.
Os pinos de disparo e eco do sensor ultrassônico hcsr04 são conectados diretamente aos pinos GPIO-2 e GPIO-0 ou D4 e D3 do nodemcu. Vocês podem ter uma dúvida aqui: por que os pinos estão conectados diretamente se os níveis de tensão de ambos os dispositivos são diferentes? A resposta é simples: a saída dos pinos de gatilho e eco pode ser facilmente lida por dispositivos de 3,3 volts. Funcionou para mim sem nenhum problema e o projeto DIY está funcionando continuamente por 72 horas. Se não funcionou para você, você pode inserir um conversor lógico entre os dois módulos. O restante das conexões pode ser visto no diagrama de circuito fornecido abaixo.
Sensor ultrassônico HC-SR04 com módulo WiFi nodemcu esp8266

Sensor ultrassônico HC-SR04 com módulo WiFi nodemcu esp8266
Chegando ao código do projeto. O código é escrito em arduino ide. É de código aberto e você pode usá-lo e modificá-lo de acordo com suas necessidades. Antes de usar o código, certifique-se primeiro de ter instalado o pacote de suporte nodemcu esp8266 para arduino ide. Se ainda não o fez, instale-o primeiro. Vamos passar para o cálculo da distância ultrassônica antes de começar com as instruções do código. O sensor ultrassônico não calculou a distância sozinho. Em vez disso, ele apenas captura o tempo que as ondas levam para deixar o transmissor e retornar ao receptor. O tempo é convertido em distância usando a fórmula da velocidade do som no ar. De acordo com a fórmula da velocidade universal do som no ar
Tempo = Distância / Velocidade
Onde Velocidade = velocidade do som no ar. Que é 340m/s
Portanto, reorganizando a fórmula Distância= Tempo * 340(velocidade do som no ar).

A fórmula acima é usada no código abaixo para medir a distância no tempo. No início do código defini os pinos do nodemcu (trigP,ecoP) interagindo com o sensor ultrassônico hcsr04. Avante duas variáveis ​​(distância, duração) são definidos para armazenar os valores de tempo e distância. Na função de configuração, o pino do gatilho é declarado como saída e o pino de eco é declarado como entrada. A comunicação serial do nodemcu também é inicializada na função de configuração a uma taxa de transmissão de 9600.
​Na função de loop, o pino do gatilho permanece baixo por 2 segundos, após 2 segundos ele fica alto por 10 nós. 10us é o tempo em que o pino de disparo envia um sinal de ultrassom de saída em 8 ciclos. Em seguida, a função de pulso lê as ondas de retorno e aproxima o tempo. Depois da declaração

distância= duração*0,034/2 calcula a distância real entre o sensor ultrassônico e o objeto. Se você não consegue entender os 10 nós e outros parâmetros como função de pulso, eu aconselho você a seguir este tutorial, ele explicará cada parâmetro graficamente e matematicamente com exemplos do mundo real.

Construa o circuito na placa de ensaio e carregue o código no nodemcu. Depois de enviar o código no nodemcu, abra o monitor serial do arduino ide. Certifique-se de que seu nodemcu esteja conectado ao seu PC e que a porta e placa corretas estejam selecionadas no arduino ide. Assim que você abrir o monitor serial, você verá as leituras de distância aparecendo na janela do monitor serial do Arduino. Coloque algum objeto na frente do sensor ultrassônico e meça a distância manualmente com escala. Em seguida, observe as leituras no monitor serial do Arduino, ambas devem ser iguais. Caso contrário, deve estar em 3 mm (taxa de erro Hcsr04) além da leitura real/manual. A janela de resultados é mostrada abaixo.
Saída ultrassônica HC-SR04 no monitor serial arduino com nodemcu esp8266 12e

Saída ultrassônica HC-SR04 no monitor serial arduino com nodemcu esp8266 12e
Atenção
A função Pulse in usada no código é uma função antiga usada para medir distâncias com o sensor ultrassônico hcsr04. Esta função funciona mal com alguns módulos ultrassônicos, especialmente os antigos ou cujo circuito de controle está desatualizado. Esta função também é lenta na medição do tempo. Uma nova e rápida biblioteca é lançada pelo arduino para trabalhar com sensores ultrassônicos. A Biblioteca NewPing. Esta biblioteca utiliza temporizadores internos do Arduino e não foi compilada no Arduino IDE quando usada para nodemcu. Então não podemos usar a biblioteca NewPing com nodemcu.

Trabalho futuro
Acabei de mostrar como fazer a interface do sensor ultrassônico hcsr04 com o nodemcu esp8266. Pode-se trazer funcionalidade prática ao projeto superior, fazendo com ele um sistema de controle de galpão de estacionamento automático e inteligente. O galpão sobe quando o carro chega em casa e desce quando o carro entra e vice-versa. O GSM pode fazer parte do projeto para enviar um alerta por SMS para um indivíduo doméstico sobre a chegada do carro. O Nodemcu pode ser conectado a WiFi e o alerta de carro recebido pode ser enviado para um servidor online que mantém um registro de estacionamento.

Baixe o código do projeto. A pasta contém o arquivo .ino do projeto arduino ide. Por favor, forneça-nos seu feedback sobre o projeto. Se você tiver alguma dúvida, escreva-a abaixo na seção de comentários.
Código/Arquivos

Conteúdo Relacionado

Voltar para o blog

Deixe um comentário

Os comentários precisam ser aprovados antes da publicação.