Você já imaginou como utilizar um sensor capaz de medir distâncias com precisão, mesmo em condições extremas como chuva ou ambientes úmidos? Com o sensor ultrassônico à prova de água JSM-SR04M isso é possível! Extremamente versátil e robusto, sua construção foi pensada e desenvolvida para resistir as condições adversas do clima, oferecendo confiabilidade em medições, nas situações que outros tipos de sensores comuns não suportariam. Com ele você conseguirá criar os mais diversos tipos de sistemas automatizados em áreas externas, medir níveis de líquidos em reservatórios, ou até mesmo desenvolver robôs que interajam com o ambiente. 

Os sensores ultrassônicos são amplamente utilizados em áreas como automação, robótica e segurança, por conseguirem detectar objetos ou medir distâncias com alta precisão, independente de condições como a luz do ambiente. Além disso, esse sensor também consegue oferecer proteção contra água, o que o torna ideal para aplicações externas ou industriais.

Hoje, você vai aprender como utilizar o sensor ultrassônico à prova de água JSM-SR04M em seus projetos. Começaremos explorando as características do sensor JSM-SR04M, o que o torna diferente dos demais, desde sua construção, até a capacidade de operar em ambientes ruidosos. Em seguida, vamos para as etapas de configuração, desde a conexão com o Arduino, até a programação do sensor. Vamos lá!

 

 

O tutorial será divido nas seguintes partes, caso você deseje ir para algum lugar específico do artigo, basta clicar em seu respectivo nome e você será redirecionado para a parte que deseja:

Sensores Ultrassônicos

Características do sensor ultrassônico à prova de água JSM-SR04M

Esquema elétrico 

Montagem do Circuito

Como programar o Arduino para o sensor ultrassônico à prova de água JSM-SR04M

Resultado da medição do sensor

Conclusão

 

Sensores Ultrassônicos

Os sensores ultrassônicos utilizam as ondas sonoras para medir distâncias ou detectar objetos em um ambiente. Eles emitem pulsos de som em alta frequência, que são imperceptíveis ao ouvido humano. Essas ondas emitidas, refletem nos objetos e retornam para o sensor.

Com isso, o sensor consegue medir o tempo que essas ondas levaram, desde que foram emitidas, até o momento em que elas retornam. Essa técnica utilizada pelos sensores ultrassônicos é conhecida como time-of-flight e pode ser utilizada em condições de baixa visibilidade, como escuridão ou ambientes com partículas de suspensão.

Esse tipo de sensor é amplamente utilizado nas mais diversas áreas, desde automações industriais, robótica e até em sistemas de segurança. Por exemplo, em robôs que se movimentam, esse tipo de sensor pode ser utilizado para detectar em tempo real objetos ao seu redor e alterar sua rota. No ambiente industrial, eles são muito utilizados em sistemas de medição de nível de líquidos em tanques. Outro tipo de aplicação comum é a utilização em sistemas de medição de distância de ré em veículos para evitar colisões.

Uma das grandes vantagens da se utilizar um sensor ultrassônico é a sua capacidade de operação em ambientes que outros sensores, como os ópticos, não conseguem operar corretamente. Poeira, luz intensa e mudanças bruscas de iluminação, não afetam o desempenho de um sensor ultrassônico. Por esse motivo, eles tornam-se ideais para projetos e aplicações externos ou em condições adversas.

Uma desvantagem desse tipo de sensor, é realizar uma medição precisa em materiais que absorvem ou dispersam o som, como tecidos ou superfícies irregulares, que acabam comprometendo a reflexão das ondas emitidas pelo sensor.

Conheça o sensor ultrassônico à prova de água JSM-SR04M, ele utiliza a tecnologia ultrassônica em conjunto com sua construção impermeável.

 

Características do sensor ultrassônico à prova de água JSM-SR04M

O sensor ultrassônico à prova de água JSM-SR04M traz consigo duas ótimas características: tecnologia ultrassônica em um sensor à prova de água. Ele opera na frequência de 40kHz, e foi especialmente projetado para suportar condições externas. Contudo, é importante destacar que apenas o sensor é à prova de água e sua placa de controle, deve estar isolada e protegida das condições extremas. 

Esse sensor é utilizado em projetos que exigem desempenho e resistência a ambientes desafiadores. Sua distância máxima de detecção de 4,5 metros e mínima de 25 centímetros, e ele oferece flexibilidade para diferente tipos de aplicações, como monitoramento de nível em líquidos, controle de tráfego, automações em sistemas de irrigação e até mesmo robôs que ficam em sistemas externos. Sua resolução de 0,5 cm e ângulo de leitura de 50º, o JSM-SR04M fornece medições precisas e  consistentes, mesmo em locais com alta umidade ou exposição direta a respingos.

 

Sensor Ultrassonico a prova de agua - JSM-SR04M

 

Agora que você já conhece o sensor Ultrassônico a prova de água - JSM-SR04M vamos iniciar o desenvolvimento do circuito elétrico, responsável por conectar o sensor ao microcontrolador.

 

Esquema elétrico 

Para montagem do esquema elétrico, alguns componentes são necessários. Para simplificar nosso teste, utilizaremos apenas três itens. O primeiro deles, é o sensor ultrassônico à prova de água JSM-SR04M.

Na sequência, para conseguirmos ler os valores capturados pelo sensor, nossa escolha foi o Arduino UNO SMD:

 

Arduino Uno Compatível Com Cabo USB

 

Por fim, para realizarmos a conexão do sensor com o Arduino, utilizaremos um pequeno kit de Jumper:

 

Kit Jumper Macho Fêmea - 20 pçs

 

Agora, que você já sabe o que precisaremos utilizar, vamos para a montagem do esquema elétrico necessário para o teste do sensor:

Esquema elétrico de ligação do Como utilizar o sensor Ultrassônico a prova de àgua - JSM-SR04M

 

Com o esquema elétrico montado, vamos para a próxima etapa, a montagem do circuito físico.

 

Montagem do Circuito

Nessa etapa, realizamos as conexões que criamos no esquema elétrico, fisicamente com o sensor e o Arduino. Veja como ficou a conexão:

 

 

Agora, com o circuito montado, iremos para a programação necessária para montagem do circuito. 

 

Como programar o Arduino para o sensor ultrassônico à prova de água JSM-SR04M

Iniciando a programação do sensor ultrassônico, você precisará definir os pinos de trigger e echo do sensor:

#define trig 9  //Pino 9 do Arduino será a saída de trigger
#define echo 8  //Pino 8 do Arduino será a entrada de echo

Com os pinos definidos, você deve chamar a função responsável por gerar o pulso do trigger e também definir as variáveis que armazenam o tempo do echo e o valor da distância em centímetros:

void trigPulse();  //Função que gera o pulso de trigger

float pulse;     //Variável que armazena o tempo de duração do echo
float dist_cm;   //Variável que armazena o valor da distância em centímetros

Após essa definição, o Setup pode ser iniciado, e nele, algumas definições são realizadas. Primeiro o pino do trigger é definido como saída. Segundo, o pino do echo é definido como entrada. Na sequência deixamos o pino do trigger em nível baixo. Por fim, iniciamos o monitor serial com baudrate de 9600:

void setup() 
{
  pinMode(trig, OUTPUT);   //Pino de trigger será saída digital
  pinMode(echo, INPUT);    //Pino de echo será entrada digital
  digitalWrite(trig, LOW); //Saída trigger inicia em nível baixo
  Serial.begin(9600);      //Inicia comunicação serial com 9600 de baudrate
}

Finalizando o Setup, iniciamos o loop, chamando a função trigPulse(), responsável por gerar o pulso do trigger continuo no loop. Na sequência, definimos o valor da variável pulse como o valor do objeto pulseIn que realiza o cálculo do tempo que o echo fica em nível alto. A variável da distância é definida como o valor da variável pulse que definimos mais acima dividido pelo valor de 58.82.

Esse valor de 58.82 vem da função responsável por monitorar a distância do sensor. 

Primeiro, para calcularmos a distância, devemos utilizar a equação conhecida como fórmula do "Tempo de Voo". A sua fórmula geral é:

Distância (cm) = Velocidade x Tempo / 2 

Para utilizarmos essa fórmula no sensor Ultrassônico, o tempo é medido em microssegundos (μs) e a distância é medida em centímetros. Com isso a fórmula fica da seguinte maneira:

Distância (cm) = Velocidade x Tempo / 2 * 1.000.000

A velocidade dessa fórmula é a velocidade do som que é de 34.000 cm/s

Com isso a fórmula fica da seguinte maneira:

Distância (cm) = 34.000 x Tempo(μs) / 2 * 1.000.000

Realizando todas as simplificações possíveis chegamos a fórmula final de:

Distância (cm) = Tempo(μs) / 58.82

Por isso, definimos o valor da distância, como tempo que o pulso leva para ir e voltar, dividido pelo valor de 58.82

No final do Loop, temos apenas uma escrita do valor da distância no monitor serial, e um delay para evitar muitas leituras em pouco tempo.

void loop() 
{
   trigPulse();                 //Aciona o trigger do módulo ultrassônico
   pulse = pulseIn(echo, HIGH, 200000); //Mede o tempo em que o pino de echo fica em nível alto
   dist_cm = pulse/58.82;       //Valor da distância em centímetros
   Serial.println(dist_cm);     //Imprime o valor na serial
   delay(200);                 //Taxa de atualização

}

Ao final do código, temos a criação da função trigPulse() responsável por criar o pulso do trigger:

void trigPulse()
{
  digitalWrite(trig, HIGH);  //Pulso de trigger em nível alto
  delayMicroseconds(10);     //duração de 10 micro segundos
  digitalWrite(trig, LOW);   //Pulso de trigge em nível baixo
}

 Após entender as partes do código, você já pode montar o código completo, que fica da seguinte maneira:

#define trig 9  //Pino 9 do Arduino será a saída de trigger
#define echo 8  //Pino 8 do Arduino será a entrada de echo

void trigPulse();  //Função que gera o pulso de trigger

float pulse;     //Variável que armazena o tempo de duração do echo
float dist_cm;   //Variável que armazena o valor da distância em centímetros

void setup() 
{
  pinMode(trig, OUTPUT);   //Pino de trigger será saída digital
  pinMode(echo, INPUT);    //Pino de echo será entrada digital
  digitalWrite(trig, LOW); //Saída trigger inicia em nível baixo
  Serial.begin(9600);      //Inicia comunicação serial com 9600 de baudrate

}

void loop() 
{
   trigPulse();                 //Aciona o trigger do módulo ultrassônico
   pulse = pulseIn(echo, HIGH, 200000); //Mede o tempo em que o pino de echo fica em nível alto
   dist_cm = pulse/58.82;       //Valor da distância em centímetros
   Serial.println(dist_cm);     //Imprime o valor na serial
   delay(200);                  //Taxa de atualização

}

void trigPulse()
{
  digitalWrite(trig, HIGH);  //Pulso de trigger em nível alto
  delayMicroseconds(10);     //duração de 10 micro segundos
  digitalWrite(trig, LOW);   //Pulso de trigge em nível baixo
}

Com o código escrito e enviado para o Arduino, você já pode obter os resultados das medições realizadas pelo sensor.

 

Resultado da medição do sensor

Com a montagem do circuito realizada, e o código criado e enviado ao Arduino, utilizamos uma régua para demonstração do funcionamento do sensor:

 

 

Com isso temos o seguinte resultado das medições realizadas pelo sensor:

 

 

Conclusão

Hoje, você conheceu o sensor ultrassônico JSM-SR04M ideal para automações residenciais, robótica e monitoramento externo do ambiente em condições climáticas adversas e também entendeu um pouco mais sobre os sensores ultrassônicos e como eles funcionam. Com esse artigo, você já pode construir tranquilamente seu sistema de monitoramento de temperatura, como em sistemas inteligentes de irrigação, medidores de nível e muitas outras aplicações, desde as mais simples até as mais robustas e profissionais. 

Fique atento ao nosso blog para mais postagens como essa! Até a próxima !