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.
Step 1: What Do You Need & Tools
Arduino (5-55$) , http://tinyurl.com/pk2wdt3
Ultrasonic sensor (2$), HC-SR04 , http://tinyurl.com/d3ss7tl
A 20x4 Display (6$) , http://tinyurl.com/pbk35ry
A IIC/I2C/TWI/SPI Serial Interface Board Module (2$) , http://tinyurl.com/nl2tr2k
A USB cable
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
what are tools? D:
(no tools needed, yay)
Step 2: The Display
Take care of the heat, it can easily destroy the display and the module!!!
Step 3: The Sensor
Step 4: 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.
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
VCC -> +5V
GND -> 0V
SDA -> A4
SCL -> A5
Step 5: Code
The code is made for the Arduino Uno, you can find it here:
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 amde the code for other processors (like the Attiny85)!!
Step 6: Finishing
Now your first self build arduino range sensor should work!! congratulations!!
Code it for other processors/platforms
make a nice case
use other parts
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!!!!
Thank you for Reading, feel free to comment and Vote for me in a Contest!!!
greets Jan Henrik