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