Created
January 26, 2014 16:03
-
-
Save ced404/8634860 to your computer and use it in GitHub Desktop.
Arduino ultrasonic sensor reading displayed on blue LCD 1602A + i2c serial interface, PCF8574T (library : LiquidCrystal I2C)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
HC-SR04 Ping distance sensor: | |
VCC to arduino 5v | |
GND to arduino GND | |
Echo to Arduino pin 7 | |
Trig to Arduino pin 8 | |
This sketch originates from Virtualmix: http://goo.gl/kJ8Gl | |
Has been modified by Winkle ink here: http://winkleink.blogspot.com.au/2012/05/arduino-hc-sr04-ultrasonic-distance.html | |
And modified further by ScottC here: http://arduinobasics.blogspot.com.au/2012/11/arduinobasics-hc-sr04-ultrasonic-sensor.html | |
on 10 Nov 2012. | |
*/ | |
// NOTE: lcd - http://www.dfrobot.com/wiki/index.php?title=I2C/TWI_LCD1602_Module_(SKU:_DFR0063) | |
#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 | |
#define echoPin 7 // Echo Pin | |
#define trigPin 8 // Trigger Pin | |
#define LEDPin 13 // Onboard LED | |
long duration, distance; // Duration used to calculate distance | |
void setup() { | |
Serial.begin (9600); | |
pinMode(trigPin, OUTPUT); | |
pinMode(echoPin, INPUT); | |
pinMode(LEDPin, OUTPUT); // Use LED indicator (if required) | |
lcd.init(); // initialize the lcd | |
// Print a message to the LCD. | |
lcd.backlight(); | |
// Blinking block cursor | |
lcd.blink_on(); | |
} | |
void loop() { | |
// Delay 50ms before next reading. | |
delay(150); | |
/* The following trigPin/echoPin cycle is used to determine the | |
distance of the nearest object by bouncing soundwaves off of it. */ | |
digitalWrite(trigPin, LOW); | |
delayMicroseconds(2); | |
digitalWrite(trigPin, HIGH); | |
delayMicroseconds(10); | |
digitalWrite(trigPin, LOW); | |
duration = pulseIn(echoPin, HIGH); | |
//Calculate the distance (in cm) based on the speed of sound. | |
distance = duration/58.2; | |
// display on lcd | |
String disp = String(distance); | |
lcd.clear(); | |
lcd.print("distance :"); // first line | |
lcd.setCursor(0, 1); // second line | |
lcd.print(disp); | |
lcd.print(" cm"); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment