د ESP32 ټیوټوریل 27/55 - د الټراسونیک سینسر سره د واټن اندازه کول | د SunFounder د ESP32 IoT زده کړې کټ
په دې ټیوټوریل کې به موږ زده کړو چې څنګه د ESP32 سره د الټراسونیک واټن سینسر وکاروو ترڅو واټنونه اندازه کړو او پایلې په سکرین کې وښیو. موږ به دا هم وپلټو چې څنګه یو بزر فعال کړو کله چې یو شی په مشخصه ساحه کې کشف شي. دا پروژه د ESP32 مایکروکنټرولر استعداد روښانه کوي، کوم چې د Wi-Fi او Bluetooth وړتیاوې مدغم کوي، چې دا د مختلفو IoT غوښتنلیکونو لپاره مناسب کوي.
د دې لارښود په اوږدو کې، تاسو به د هارډویر اجزاو، تارونو د نښلولو لارښوونو، او کوډ برخو تشریحات ومومئ ترڅو تاسو سره د پروژې په بریالۍ پلي کولو کې مرسته وکړي. د اضافي روښانتیا لپاره، مهرباني وکړئ ویډیو ته مراجعه وکړئ (په ویډیو کې په 00:00).
هارډویر تشریح شوی
د دې پروژې لومړني اجزاو کې د ESP32 مایکروکنټرولر، الټراسونیک سینسر (HC-SR04)، او یو بزر شامل دي. الټراسونیک سینسر د دوو اصلي برخو څخه جوړ دی: یو لیږدونکی چې الټراسونیک څپې خپروي او یو ترلاسه کوونکی چې د انعکاس شویو څپو اوریدو ته انتظار کوي. د هغه وخت په اندازه کولو سره چې څپې بیرته راګرځي، موږ کولی شو د یو شی واټن محاسبه کړو.
ESP32 د مرکزي کنټرولر په توګه کار کوي، د الټراسونیک سینسر څخه ډاټا پروسس کوي او د اندازه شوي واټن پر بنسټ بزر کنټرولوي. بزر به غږ وکړي کله چې کشف شوی واټن د ټاکل شوي حد څخه کم وي، چې دا په ګوته کوي چې یو شی ډیر نږدې دی.
ډیټاشیټ تفصیلات
| جوړونکی | HC-SR04 |
|---|---|
| د پرزې شمېره | HC-SR04 |
| منطق/IO ولټاژ | 5 V |
| د برېښنا رسولو ولټاژ | 5 V |
| د تولید جریان (په هر چینل) | 16 mA |
| د لوړ جریان (په هر چینل) | … |
| د PWM فریکونسي لارښود | … |
| د منطق داخلولو حدونه | … |
| د ولټاژ کمښت / RDS(on) / سنتریشن | … |
| حرارتي محدودیتونه | … |
| بسته بندي | … |
| یادښتونه / بڼې | د اندازه کولو ساحه: 2 سانتي متره تر 400 سانتي متره |
- د سینسر لپاره د 5 V سم برېښنا رسول ډاډمن کړئ.
- د الټراسونیک څپو لپاره روښانه لاره وساتئ ترڅو د مداخلې مخه ونیول شي.
- د سیګنال ځنډ او شور کمولو لپاره لنډ تارونه وکاروئ.
- د غلط اړیکو مخنیوي لپاره د پنونو سم نښلول ډاډمن کړئ.
- د دقیقیت د کتلو لپاره سینسر په مختلفو چاپیریالونو کې ازموئ.
د تارونو نښلولو لارښوونې

د الټراسونیک سینسر د ESP32 سره د نښلولو لپاره، د سینسر VCC پن د ESP32 په 5V پن سره وصل کړئ. بیا، د سینسر GND پن د ESP32 په یوه ځمکني (GND) پن سره وصل کړئ. د سینسر څخه د ټریګر پن (Trig) باید د ESP32 په GPIO 26 سره وصل شي، پداسې حال کې چې د ایکو پن (Echo) باید د GPIO 25 سره وصل شي. دا تنظیم ESP32 ته اجازه ورکوي چې سینسر ته سیګنال واستوي او د واټن محاسبې لپاره د ایکو سیګنال ترلاسه کړي.
د بزر لپاره، مثبت (اوږد) پښه د ESP32 په GPIO 12 سره او منفي (لنډ) پښه د GND سره وصل کړئ. ډاډ ترلاسه کړئ چې ټولې اړیکې خوندي دي ترڅو د عملیاتو پرمهال د نرم تار مخه ونیول شي. که تاسو بریډبورډ کاروئ، د بزر اړیکې په سمه توګه تنظیم کړئ ترڅو د غلط تار نښلولو مخه ونیول شي. مهرباني وکړئ د تارونو د تایید لپاره ویډیو ته مراجعه وکړئ (په ویډیو کې په 05:12).
د کوډ مثالونه او تفصیل
کوډ د الټراسونیک سینسر لپاره پنونه پیل کوي او د سیریل اړیکه جوړوي. اصلي فنکشن، readSensorData()، د ټریګر سیګنال لیږلو او د ایکو پن څخه د ځواب وخت اندازه کولو مسؤلیت لري.
const int echoPin = 25;
const int trigPin = 26;
void setup() {
Serial.begin(115200);
pinMode(echoPin, INPUT);
pinMode(trigPin, OUTPUT);
Serial.println("الټراسونیک سینسر:");
}
کوډ echoPin او trigPin د الټراسونیک سینسر سره تړلو پنونو لپاره د ثابتونو په توګه تعریفوي. په setup() فنکشن کې، موږ د سیریل اړیکه پیل کوو او د پن حالتونه په مطابق ټاکو.
float readSensorData() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
unsigned long microsecond = pulseIn(echoPin, HIGH);
float distance = microsecond / 29.00 / 2;
return distance;
}
دا برخه د readSensorData() فنکشن ښیي، کوم چې د ټریګر پن ته د 10 مایکروثانیو پلس لیږي. دا بیا د ایکو پن لخوا د سیګنال بیرته ترلاسه کولو وخت اندازه کوي، واټن محاسبه کوي، او دا ارزښت بیرته راګرځوي.
په پای کې، د لوپ فنکشن په دوامداره توګه واټن لوستل او په سیریل مانیټر کې یې چاپوي. که واټن د 20 سانتي مترو څخه کم وي، بزر به فعال شي.
ډیمونسټریشن / څه تمه وکړو
کله چې تاسو پروګرام چلوئ، ESP32 به اندازه شوی واټن په سانتي مترو کې په سیریل مانیټر کې ښکاره کړي. که یو شی د سینسر په 20 سانتي مترو کې دننه راشي، بزر به غږ وکړي. دا چلند د سینسر مخې ته په مختلفو واټنونو کې د شیانو په ځای کولو سره ازمول کیدی شي. د قطبيت د بیرته راګرځولو څخه محتاط اوسئ او ډاډ ترلاسه کړئ چې اړیکې لکه څنګه چې مشخص شوي جوړې شوي ترڅو د عملیاتو پرمهال د ستونزو مخه ونیول شي (په ویډیو کې په 08:00).
د ویډیو وخت نښې
- 00:00 پیل
- 1:46 د الټراسونیک سینسر پیژندنه
- 6:02 د تارونو اړیکه تشریح شوې
- 7:37 د ESP32 آردوینو کوډ تشریح شوی
- 11:33 په آردوینو IDE کې د ESP32 بورډ او COM پورټ غوره کول
- 13:15 د فاصلې اندازه کولو مظاهره
- 16:43 د فاصلې سره اقدام: بزر
// Define pins for the ultrasonic sensor
const int echoPin = 25;
const int trigPin = 26;
// Function prototype for reading sensor data
float readSensorData();
void setup() {
// Begin serial communication at 115200 baud rate
Serial.begin(115200);
// Set echoPin as input and trigPin as output
pinMode(echoPin, INPUT);
pinMode(trigPin, OUTPUT);
// Print sensor information to the serial monitor
Serial.println("Ultrasonic sensor:");
}
void loop() {
// Read distance from the ultrasonic sensor
float distance = readSensorData();
// Print the measured distance to the serial monitor
Serial.print(distance);
Serial.println(" cm");
// Delay between readings
delay(200);
}
// Function to read data from the ultrasonic sensor
float readSensorData() {
// Trigger a low signal before sending a high signal
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Send a 10-microsecond high signal to the trigPin
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
// Return to low signal
digitalWrite(trigPin, LOW);
// Measure the duration of the high signal on the echoPin
unsigned long microsecond = pulseIn(echoPin, HIGH);
// Calculate the distance using the speed of sound (29.00µs per centimeter)
float distance = microsecond / 29.00 / 2;
// Return the calculated distance
return distance;
}
Common Course Links
Common Course Files
هغه شیان چې تاسو ورته اړتیا لرئ
-
ای بی
-
بنګګوډPurchase HC-SR04 Ultrasonic Sensor from Banggoodbanggood.com
سرچینې او حوالې
-
اسنادESP32 Tutorial 27/55 - SunFounder doc page for ultrasonic distance sensordocs.sunfounder.com
-
بهرنیHC-SR04 Ultrasonic Library from the Arduino official websiteplayground.arduino.cc
فایلونه📁
هیڅ فایل شتون نلري.