Arduino Ultrasonic Range Finder, With I²C Lcd Display!
by JanaMarie in Circuits > Arduino
44108 Views, 89 Favorites, 0 Comments
Arduino Ultrasonic Range Finder, With I²C Lcd Display!
Hello,
in this project i want to show and explain you a range sensor with ultrasonic and a 20x04 lcd screen. I wrote the code for this project myself and added lots of comments, so that everybody can understand it and use it for other projects (maybe a light range sensor?!). It is easy to build and much more easier to program, it just requires a few cheap parts and can run on battery, for a portable rangefinder.
The maximum rated range is 500 cm, the range is measured 20 times per seccond. It is Displayed on a lcd screen which is 20x4 chars big, it has a custom start message, and it can have a custom design while measuring. It will have a backlight LED and can run on every arduino, which has I²C communication. That mean you can run it on an Arduino nano, which is very small. It also requires 5V so it has to be a 5V version of an Arduino.
What Do You Need & Tools
We dont need much things, the parts should be less then 15$ (without arduino, with arduino may 25-35$):
Parts:
Arduino (5-55$)
Ultrasonic sensor (2$), HC-SR04
A 20x4 Display (6$)
A IIC/I2C/TWI/SPI Serial Interface Board Module (2$)
Some wires
a Breadboard
A USB cable
Software:
Arduino , www.Arduino.cc
wire.h library (should be with the Arduino software)
LiquidCrystal_I2C.h library for the Display
NewPing.h library for the sensor
Tools:
what are tools? D:
(no tools needed, yay)
Additional:
a Case...
The Display
Take care of the heat, it can easily destroy the display and the module!!!
The Sensor
Assembly
Now plug the TRIG pin of the Ultrasonic Sensor to pin 12 of your Arduino
and the ECHO pin to pin 11 of your Arduino.
Sensor:
VCC -> +5V
GND -> 0V
TRIG -> pin 12
ECHO -> pin 11
Plug the SDA pin of the display to pin A4 of your Arduino
and the SCL pin of the display to A5 of your Arduino
Display:
VCC -> +5V
GND -> 0V
SDA -> A4
SCL -> A5
Code
Now my favorite chapter, because i wrote the code myself, what made my day, beacuse im not such a good programmer :)
The code is made for the Arduino Uno, you can find it here:
https://github.com/Jana-MarieArduino-ultrasonic-rangefinder
I wrote many commands, to help you understanding it.
You can add a custom startup message (line 57), also you can add a custom design while measuring ( line 87 )
Feel free to comment bugs, addictions and things to make it better!!! :)
Also feel free to comment if you changed the code for other processors (like the Attiny85)!!
Finishing
SUCCESS!!! :)
Now your first self build arduino range sensor should work!! congratulations!!
Ideas:
Code it for other processors/platforms
make a nice case
use other parts
troubleshooting:
Display shows bars:
unplug power source, then wait 5 secconds and plug it in again. Sometimes there is a bug, that the display dont refresh :/
may SDA and SCL are reversed
Sensor dont work:
TRIG and ECHO are switched
Display, Arduino and LED´s fade out:
you made a short circuit, unplug your power source immediately!!!!
Jana