Ultrasonic HC-SR04

Neste teste vou utilizar o Sonar HC-SR04, este sensor fornece medida de distância entre 2cm e 4m com uma precisão de até 3mm, o componente inclui o transmissor, receptor e o circuito de controle.

 

O sensor funciona basicamente da seguinte maneira:

Datasheet

No exemplo da página da ITead Studio e na library disponibilizada ("Ultrasonic.h"), utiliza-se um LCD 16x2 com a library 'LiquidCrystal.h', mais informação sobre este esquema em http://fritzing.org/projects/arduino-ultrasonic-ranging-with-hc-sr04/

Neste caso vou utilizar o LCD Shield que tenho e com a library modificada (para o LcdSmartie): "LCD4Bit_mod.h"

Vou assim usar a library "LCD4Bit_mod.h" e a "Ultrasonic.h" com o seguinte esquema: 

Código:

Atribuição/configuração dos pinos é feita da seguinte forma: Ultrasonic(Trig Pin, Echo Pin);

#include "Ultrasonic.h"

#include "LCD4Bit_mod.h"

LCD4Bit_mod lcd = LCD4Bit_mod(2); 

char buf2[32];

Ultrasonic ultrasonic(12,13); //(Trig,Echo)

void setup() {

  lcd.init();

  lcd.clear();

  lcd.printIn("Ultrasonic");

  lcd.cursorTo(2,3);

  lcd.printIn("HC-SR04");

  delay(3000);

}

void loop()

{  

    lcd.clear();

    lcd.printIn("Valor(cm):");

    itoa (ultrasonic.Ranging(CM), buf2, 10); 

    lcd.cursorTo(2,1);

    lcd.printIn(buf2); 

    delay(100);

}