How to use an Ultrasonic Sensor with Raspberry PI Pico board
Hello and welcome back. In this tutorial, we will learn how to use an Ultrasonic Sensor with the Raspberry PI Pico board. Also, I used an LCD display for displaying those values. Therefore, we can also learn how to use an LCD display with Raspberry Pi. For that, I used python language and Thony ide for that. If you are a beginner with this raspberry pi, use this link for that.
Ultrasonic sensor
Mainly we can use this sensor to measure distance. For that, there are two parts. That is the transmitter and the receiver. The transmitter transmits the wave, and when this wave hits an obstacle and returns, the wave is captured by the receiver. With this sensor, we can see how long it takes for this wave to hit an obstacle and come back. If you want to know more about this sensor, please use this link.
LCD display
We can print text and characters on these displays. Also, we can buy these in different sizes and a 16 * 2 display is used in this tutorial. Also, I used the I2C module to drive this display. Therefore, we can operate this display using only 4 wires. If you want to get more information about these displays, please use this link.
OK, let’s do this project step by step. The required components are given below.
- Raspberry Pi Pico board x 1 — Our Store / Amazon
- Ultrasonic sensor x 1 — Our Store / Amazon
- LCD display x 1 — Our Store / Amazon
- I2C module x 1 — Our Store / Amazon
- Breadboard x 1 — Our Store / Amazon
- Jumper wires — Our Store / Amazon
Disclosure: These Amazon links are Affiliate links. As an Amazon Associate, I earn from qualifying purchases.
Step 1
Firstly, identify these components.
Step 2
Secondly, connect the Raspberry Pi Pico board and the ultrasonic sensor to the breadboard.
Step 3
Thirdly, connect the ultrasonic sensor to the Raspberry Pi board using the jumper wires. The circuit diagram is below.
Step 4
Now, solder the I2C module to the LCD display. Then connect it to the Raspberry Pi board.
Step 5
Next, connect the Raspberry Pi board to your computer. Now, let’s create the program for this project. It is as follows.
- The full details of this project — Download
- I2C libraries — i2c_lcd.py | lcd_api.py
#Import the library files
from i2c_lcd import I2cLcd
from lcd_api import LcdApi
from machine import Pin,I2C
import time
Trig = Pin(2,Pin.OUT)#Include the Trig pin
Echo = Pin(3,Pin.IN)#Include the Echo pin
i2c = I2C(0,scl=Pin(5), sda=Pin(4), freq=100000)#Include the I2C pins
I2C_ADDR = i2c.scan()[0]#Scan I2C address
lcd = I2cLcd(i2c, I2C_ADDR, 2, 16)#Initialize the I2C module
#Get the distance
def distance():
Trig.value(0)
time.sleep_us(4)
Trig.value(1)
time.sleep_us(10)
Trig.value(0)
while Echo.value() == 0:
low = time.ticks_us()
while Echo.value() == 1:
high = time.ticks_us()
t = high - low
return t
#Starting text
def startText():
lcd.move_to(0,0)
lcd.putstr("Distance Loading")
for i in range(0,15):
lcd.move_to(i,1)
lcd.putstr(".")
time.sleep(0.3)
startText()#Starting text
lcd.clear()#Clear the display
while True:
dis = distance()#Get the distance
cm = dis/29/2#Convert time to "cm"
cm = int(cm)
inch = dis/74/2#Convert time to "inch"
inch = int(inch)
lcd.move_to(0,0)#Set the cursor
lcd.putstr("Distance - ")
lcd.putstr(str(cm)+ "cm ")#Print the distance
lcd.move_to(0,1)#Set the cursor
lcd.putstr("Distance - ")
lcd.putstr(str(inch)+ "inch ")#Print the distance
- Now, open this code and library files using the Thony IDE. Then, save these codes on the Raspberry Pi Pico board one by one. You must remember to save the main code as main.py. Also, save the library files with their own file names. You can download this code and library files using the links above.
Step 6
Finally, run this code. Now you can use this project without a computer. OK, enjoy this project. The full video guide is below. So, see you in the next project or tutorial.
How to use an Ultrasonic Sensor with Raspberry PI Pico board