Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Raspberry Pi
100 min
Share

كيفية تستخدم حساس الموجات فوق الصوتية مع لوحة راسبيرى باى 5 لقياس المسافة ؟

حساس الاستشعار بالموجات فوق الصوتية هو حساس يمكنه قياس المسافة عن طريق إرسال موجات صوتية وحساب المدة التي تستغرقها لترتد مرة أخرى. يمكن استخدامه لقياس المسافة بين شيئين أو لاكتشاف ما إذا كان هناك جسم ما امامه.

Project Video

Overview

في هذا المشروع، سوف نتعلم كيفية استخدام حساس الموجات فوق الصوتية لقياس المسافة وطباعة قيمة المسافة على الشاشة باستخدام باستخدام لوحة راسبيرى باى 5.

Getting the Items

Raspberry Pi 5 Single Board Computer
Get Item
Ultrasonic Sensor (HC-SR04)
Get Item
Half-size Breadboard
Get Item
Jumper Wires – Male to Female (40 Pack)
Get Item

Steps

Wiring it Up

قم بتوصيل الاسلاك بين لوحة راسبيرى باى 5 وبين حساس الموجات فوق الصوتية كما هو ظاهر فى الصورة التى فى الاسفل .


التوصيلات من الراسبيرى باى 5 الى لوحة التجارب :

• منفذ ال 5 فولت ← المنافذ الموجبة بلوحة التجارب

• منفذ الجراوند ← المنافذ السالبة بلوحة التجارب

التوصيلات من حساس الموجات فوق الصوتية :

• منفذ ال VCCمن حساس الموجات فوق الصوتية ←المنافذ الموجبة بلوحة التجارب

• منفذ ال GNDمن حساس الموجات فوق الصوتية ←المنافذ السالبة بلوحة التجارب

• منفذ الTrigمن حساس الموجات فوق الصوتية ← منفذ رقم 23 بلوحة راسبيرى باى 5

• منفذ الEchoمن حساس الموجات فوق الصوتية ← منفذ رقم 24 بلوحة راسبيرى باى 5

Coding

الان على الراسبيرى باى الخاص بك اضغط على ال menu ومن ثم اختر  programmingومن ثم قم بفتح برنامج Thonny ide.

الآن قم بنسخ هذا الكود في البرنامج. وظيفة هذا الكود هي جعل لوحة راسبيرى باى 5 تقيس المسافة باستخدام حساس الموجات فوق الصوتية وطباعة القيمة على النافذة، وستتم طباعة كلمة ("Hi") إذا كان الجسم الموجود أمام المستشعر أقرب من 20 سم، وستقوم النافذة بطباعة كلمة ("Bye")إذا كان الجسم يبعد أكثر من 30 سم عن الحساس.

from gpiozero import DistanceSensor  # Import the DistanceSensor class from the gpiozero library

import tkinter as tk  # Import the tkinter library for creating the GUI

from tkinter import font  # Import the font module from tkinter for customizing the font

from time import sleep  # Import the sleep function from the time module for delay

# Initialize the ultrasonic sensor

sensor = DistanceSensor(echo=24, trigger=23, max_distance=5)

# Initialize the Tkinter window

window = tk.Tk()

window.title("Distance Measurement")

custom_font = font.Font(size=30)  # Create a custom font object with size 30

window.geometry("800x400")  # Set the dimensions of the window

distance_label = tk.Label(window, text="Distance: ", anchor='center', font=custom_font)

# Create a label to display the distance, centered text, and use the custom font

distance_label.pack()  # Add the label to the window

def measure_distance():

   distance = int(sensor.distance * 100)  # Measure the distance and convert it to an integer

   #distance_label.config(text="Distance: {} cm".format(distance))  # Update the distance label with the new distance

   

   if distance < 20:

       distance_label.config(fg="red", text="Distance: {} cm\nHi!".format(distance))

       # If the distance is less than 20, set the label text to display "Hi!" in red

   elif distance > 30:

       distance_label.config(fg="blue", text="Distance: {} cm\nBye!".format(distance))

       # If the distance is greater than 30, set the label text to display "Bye!" in blue

       

   window.after(1000, measure_distance)  # Schedule the next measurement after 1 second

   

# Start measuring distance

measure_distance()

# Run the Tkinter event loop

window.mainloop()

Testing it Out

الآن قم بتشغيل الكود البرمجى، ستجد أن لوحة راسبيرى باى 5 تقيس المسافة باستخدام حساس الموجات فوق الصوتية وتعرض القيمة على نافذة، وستتم طباعة كلمة ("Hi")إذا كان الجسم الموجود أمام الحساس أقرب من 20 سم، وستقوم النافذة بطباعة كلمة("Bye") إذا كان الجسم على بعد أكثر من 30 سم من الحساس.

Resources

No items found.