A conexão é extremamente simples: os pinos GND e VCC são ligados aos pinos GND e +5V do Arduino; os sinais TRIG e ECHO são ligados a duas portas digitais (no meu caso, D5 e D6).
O programa de teste também é trivial:
- Em setup() programamos a porta TRIG como saída e a porta serial para 38400bps.
- Em loop() damos um pulso na porta TRIG, medimos o pulso em ECHO e, se o resultado for menor que o máximo, enviamos pela serial o tempo e a distância correspondente.
O código fica assim:
const int pinTrigger = 5;
const int pinEcho = 6;
void setup() {
pinMode (pinTrigger, OUTPUT);
Serial.begin(38400);
}
void loop() {
digitalWrite (pinTrigger, HIGH);
delayMicroseconds (20);
digitalWrite (pinTrigger, LOW);
long tEcho = pulseIn (pinEcho, HIGH, 38000L);
if (tEcho < 38000L) {
Serial.print (tEcho);
Serial.print (" ");
Serial.print (tEcho/58L);
Serial.println ("cm");
}
delay (3000);
}
As imagens abaixo, capturadas com um osciloscópio digital, mostram os sinais TRIG (em amarelo) e ECHO (em azul). A largura do pulso TRIG está aumentada para 50 uS neste teste, para ficar visível na imagem.

Nenhum comentário:
Postar um comentário