آموزش ESP32 32/55 - هشدار محدوده معکوس خودرو با LCD و بوق | کیت یادگیری اینترنت اشیاء SunFounder
در این آموزش، ما یک سیستم کمک به معکوس کردن با استفاده از میکروکنترلر ESP32، حساس(حس کننده) فاصله اولتراسونیک، نمایشگر LCD و زنگ هشدار ایجاد خواهیم کرد. این پروژه شما را از فاصله با موانع در حین معکوس کردن مطلع میسازد، به طوری که فرکانس بیپ زنگ بر اساس نزدیکی مانع تغییر میکند. شما یاد خواهید گرفت که چگونه اجزا را سیمکشی کنید، شِفر (کود) را بنویسید و انتظار داشته باشید که عملکرد سیستم به طور مؤثر برای وسیله نقلیه شما کار کند.
با اجرای این پروژه، ESP32 خوانشهای سنسورها را مدیریت کرده و زنگ و نمایشگر LCD را کنترل خواهد کرد. حساس(حس کننده) اولتراسونیک فاصله تا هر مانعی را اندازهگیری میکند، در حالی که زنگ بازخورد صوتی مبتنی بر آن فاصله ارائه میدهد. نمایشگر LCD فاصله اندازهگیریشده را نشان میدهد و به شما امکان میدهد تا خوانشها را در زمان واقعی مشاهده کنید. برای درک بهتر از تنظیمات، حتماً ویدیو را تماشا کنید (در ویدیو در 00:00).
توضیحات سختافزار
اجزاء کلیدی در این پروژه شامل میکروکنترلر ESP32، یک حساس(حس کننده) اولتراسونیک فاصله، یک نمایشگر LCD و یک بیزر هستند. ESP32 یک میکروکنترلر قدرتمند با قابلیتهای Wi-Fi و Bluetooth داخلی است که آن را برای پروژههای IoT ایدهآل میسازد. حساس(حس کننده) اولتراسونیک با انتشار امواج صوتی و محاسبه زمان برگشت پژواک، فاصلهها را اندازهگیری میکند. نمایشگر LCD فاصله اندازهگیری شده را نمایش خواهد داد در حالی که بیزر هشدارهای صوتی بر اساس نزدیکی ارائه میدهد.
هر جزء نقش حیاتی در اطمینان از عملکرد صحیح سیستم کمک معکوس دارد. درک نحوه عملکرد این قطعات با هم به شما در عیبیابی هرگونه مشکلی که ممکن است در طول فرآیند ساخت پیش بیاید کمک خواهد کرد. این پروژه از قدرت پردازش ESP32 برای مدیریت دادههای حساس(حس کننده) و کنترل خروجیها به طور مؤثر استفاده میکند.
جزئیات برگه اطلاعات
| تولیدکننده | سیستمهای اسپرِسِف |
|---|---|
| شماره قطعه | ESP32 |
| ولتاژ منطق/ورودی-خروجی | ۳.۳ ولت |
| ولتاژ تغذیه | ۵ ولت (حداکثر) |
| جریان خروجی (به ازای هر کانال) | ۴۰ میلیآمپر |
| جریان اوج (برای هر کانال) | ۱۶۰ میلیآمپر |
| راهنمایی فرکانس PWM | ۱ کیلوهرتز - ۴۰ کیلوهرتز |
| آستانههای منطق ورودی | ۰.۳ VCC (کم)، ۰.۷ VCC (زیاد) |
| افت ولتاژ / RDS(on)/ اشباع | ۰.۲ ولت (معمولی) |
| محدودیتهای حرارتی | دمای عملیاتی: -۴۰°C تا ۸۵°C |
| بسته | QFN48 |
| یادداشتها / واریانتها | ماجیولهای مختلف ESP32 در دسترس هستند |
- از تأمین نیروی مناسب اطمینان حاصل کنید تا از آسیب جلوگیری شود.
- از یک مقاومت با بیپر استفاده کنید تا جریان را محدود کند.
- کابُلهای سیگنال را کوتاه نگهدارید تا تداخل کم شود.
- در صورت لزوم از مقاومتهای کششی برای ورودیهای دیجیتال استفاده کنید.
- مواظب حداکثر دامنه حساس(حس کننده) اولتراسونیک باشید.
دستورالعملهای سیمکشی

برای اتصال اجزای پروژه، ابتدا حساس(حس کننده) اولتراسونیک را متصل کنید. پایه VCC حساس(حس کننده) را به خط تغذیه 5 ولت و پایه GND را به زمین متصل کنید. پایه Trig باید به پایه متصل شود.26بر روی ESP32، و پایه Echo باید به پایه متصل شود.25.
سپس زنگ را با اتصالات مثبت آن به پایه وصل کنید14در ESP32، سر منفی را به زمین متصل کنید. برای LCD، پایه VCC را به خط ۵ ولت و پایه GND را به زمین متصل کنید. پایههای SDA و SCL LCD باید به پایههای21و22، به ترتیب. اطمینان حاصل کنید که همه اتصالات به طور ایمن برقرار باشند تا از هر گونه قطع اتصال در حین کار جلوگیری شود.
نمونههای شِفر (کود) و راهنمایی
در شِفر (کود)، شما شناسههای کلیدی مانند را خواهید یافتdistance، که فاصله اندازهگیریشده از حساس(حس کننده) اولتراسونیک را ذخیره میکند. این متغیر بهطور مداوم در حلقه بهروز میشود تا فاصله فعلی را نشان دهد. پایه بیزر به عنوانbuzzerPin، که کنترل آسان حالت آن را ممکن میسازد.
const int triggerPin = 26; // Trigger pin for ultrasonic sensor
const int echoPin = 25; // Echo pin for ultrasonic sensor
const int buzzerPin = 14; // Buzzer pin
این ثابتها در ابتدای شِفر (کود) برای وضوح و سهولت در تنظیم تعریف شدهاند. پایههای تریگر و اکو برای ارتباط با حساس(حس کننده) اولتراسونیک استفاده میشوند، در حالی که پایه بوزر کنترل خروجی صدا را بر عهده دارد.
void setup() {
pinMode(triggerPin, OUTPUT); // Set trigger pin as output
pinMode(echoPin, INPUT); // Set echo pin as input
pinMode(buzzerPin, OUTPUT); // Set buzzer pin as output
}
درsetup()در این تابع، حالتهای پایههای حساس(حس کننده) اولتراسونیک و بیزر را تنظیم میکنیم. این اطمینان میدهد که ESP32 میتواند بهدرستی با اجزای سختافزاری در طول عملکرد تعامل داشته باشد.
void loop() {
distance = readDistance(); // Call function to read distance
if (distance <= 10) {
beep(100); // Fast beep for close distance
} else if (distance <= 20) {
beep(500); // Medium beep for moderate distance
} else {
beep(2000); // Slow beep for safe distance
}
}
متن:loop()تابع به طور مداوم فاصله را میخواند و فرکانس بوق زدن بوق را بر اساس این مقدار تنظیم میکند.beep()تابع با فواصل مختلفی فراخوانی میشود بسته به اینکه مانع چقدر نزدیک است.
نمایشگاه / چه انتظاری باید داشت
زمانی که همه چیز به هم متصل شد و شِفر (کود) بارگذاری شد، میتوانید انتظار داشته باشید که سیستم در فواصل مختلف بر اساس فاصله به مانع بوق بزند. زمانی که فاصله کمتر از 10 سانتیمتر باشد، زنگ به سرعت بوق میزند، در حالی که فاصلههای بیشتر از 50 سانتیمتر منجر به بوق کند میشود. مطمئن شوید که با قرار دادن دست خود در جلوی حساس(حس کننده) اولتراسونیک، تغییرات در خوانشهای فاصله و نرخهای بوق مربوطه را آزمایش کنید (در ویدیو در ساعت 12:30).
زمانبندی ویدئو
- ۰۰:۰۰ شروع
- ۲:۰۸ مقدمه و مستندات
- توضیحی درباره سیمکشی ۴:۱۲
- شِفر (کود) آردوینو ۱۳:۱۷
- انتخاب برد ESP32 و پورت COM در Arduino IDE در ساعت ۲۱:۰۱
- ۲۲:۴۸ نمایش در آزمایشگاه
- مقدمه ۲۴:۵۴ درباره خودرو
Common Course Links
Common Course Files
مواردی که ممکن است به آنها نیاز داشته باشید
-
آمازونخرید LCD1602-I2C از اَمه زونamzn.to
-
ایبیخرید LCD1602-I2C از eBayebay.us
-
علیاکسپرسخرید LCD1602-I2C از علیاکسپرسs.click.aliexpress.com
-
علیاکسپرسخرید ۱۰ عدد LCD1602-I2C از علیاکسپرسs.click.aliexpress.com
منابع و مراجع
-
مستنداتآموزش ESP32 32/55- صفحه مستندات SunFounder برای کمک به معکوس کردنdocs.sunfounder.com
فایلها📁
فایل فریزینگ
-
LCD2004-I2C
LCD2004-I2C.fzpz0.02 MB