arduino‎ > ‎arduino cursus‎ > ‎

10. ultrasonic sensor met LCD

/* This Arduino script uses the DYP-ME007 Ultrasound Range finder to
 * measure distance in cm and displays the distance on a DFRobot
 * I2C LCD Module 508040.
 * Hardware: Connect the DYP-ME007 to +5V and Ground, and
 * the dypOutputPin to the DYP_ME007 "Trig" pin and the 
 * the dypInputPin to the DYP-ME007 "Echo" pin. 
 * By default I2C chips use analog pin A4 for data SDA and A5 
 * for the clock SCL. Of course 5V and GND need to be connected too.
 * Credits to DFRobot and Bexilino on
 * from which I have copied parts.
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,16,2);  // set the LCD address to 0x27 for a 16 chars and 2 line display

int dypOutputPin = 2; // TRIG 
int dypInputPin = 3;  // ECHO 
long distance;
long cm;

void setup(){
  pinMode(dypOutputPin, OUTPUT);
  lcd.init();                      // initialize the lcd 

void loop()
  // The DYP-ME007 pings on the low-high flank...
  digitalWrite(dypOutputPin, LOW);
  digitalWrite(dypOutputPin, HIGH);
  digitalWrite(dypOutputPin, LOW);   
  // the distance is proportional to the time interval
  // between HIGH and LOW
  distance = pulseIn(dypInputPin, HIGH); 
  cm= distance/58;                        
  delay(100); // avoids LCD flicker