آموزش آردوینو اینترنت اشیا IOT برد Esp32

پروژه طراحی و پیاده سازی دوربین دنده عقب خودرو با برد ESP32-CAM

نوشته شده توسط معین صابری

دوربین های دنده عقب یکی از مهم ترین ابزارها در خودروهای جدید به شمار می روند. به کمک دوربین می توانید به سادگی هنگام حرکت رو به عقب، محیط را مشاهده کنید. بدین ترتیب ریسک خسارت و حتی جانی به شدت کاهش می یابد. امروزه بر روی بسیاری از خودروها سنسورهای دنده عقب جهت هشدار فاصله تعبیه شده است، اما به کمک دوربین دنده عقب می توان نقاط کور را پوشش داد و از خطرات احتمالی کاست. در این آموزش به طراحی و پیاده سازی یک دوربین دنده عقب با آردوینو و قابلیت نمایش تصاویر بر روی نمایشگر TFT می پردازیم. برای این مورد، از برد محبوب ESP32CAM استفاده نموده ایم. همچنین جهت نمایش تصاویر از نمایشگر ST7735 بهره گرفته شده است. به همین منظور، در ادامه آموزش با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

 


دوربین دنده عقب و کاربرد آن در خودرو


دوربین های دنده عقب یکی از ابزارهای کاربردی جهت راهنمایی راننده حین حرکت خودرو رو به عقب هستند. به کمک این دوربین راننده می تواند با دقت بیشتر در محیط هایی با حالت پارک باریک و تنگ، پارک نماید. از آنجاییکه در این محیط ها نقاط کور بسیاری مشاهده می شود، لذا دوربین به سادگی می تواند نقاط کور را نمایش دهد. بدین ترتیب از خسارت به خودرو کاسته خواهد شد. در کنار این، دوربین دنده عقب با آردوینو می تواند حضور افراد، به خصوص خردسالان در قسمت عقب خودرو که در دید راننده نیستند را نمایش دهد.

Design and implementation of car rear view camera with the help of ESP32CAM

 

یکی دیگر از موارد پرکاربرد دوربین دنده عقب، تجربه ای برای خود من است. کنار ساختمان محل سکونت ما، ساختمانی در حال ساخت است. هنگام عملیات بتن ریزی، خودروی بتن ریز کنار پل ورود به ساختمان قرار می گیرد. در این شرایط، با توجه به اندازه بزرگ این خودرو، هنگام خروج از ساختمان، مشکل دید ایجاد شده و شرایط خطرناکی پیش خواهد آمد. در اینجا دوربین دنده عقب به سادگی می تواند عبور و مرور خودروها را نمایش داده تا بدین ترتیب خروج از ساختمان به شکل ایمنی صورت گیرد.

 

با توجه به مطالب ذکر شده، وجود یک دوربین دنده عقب می تواند علاوه بر جذابیت بخشی به خودرو، خطرات احتمالی این چنینی به دلیل وجود نقاط کور را کاهش دهد.

 


ماژول دوربین ESP32-CAM


ماژول دوربین ESP32-CAM یکی از مهم ترین، کاربردی ترین، قوی ترین و به طور کلی هر ترینی که شما بگویید را در خود جای داده است.!!!! این ماژول به قدری کاربردی است که در تمام پروژه های نظارت و دوربین می توان از آن استفاده نمود. وجود پردازنده قدرتمند ESP32 به همراه قابلیت اتصال به اینترنت از طریق وای فای، این برد را به یک رقیب بلامنازع در عرصه IOT بدل کرده است. در پروژه ساخت دوربین دنده عقب با آردوینو از برد ESP32-Cam استفاده خواهیم کرد.

پروژه ساخت دوربین دنده عقب با ESP32-Cam - دیجی اسپارک

 

در این آموزش به کمک قابلیت دوربین ماژول ESP32-CAM تصاویر دریافت شده بر روی نمایشگر TFT به نمایش در می آید. در اینجا جهت سادگی کار، نمایشگر TFT و ماژول دوربین از طریق کابل به یکدیگر متصل بوده و تصاویر بر روی نمایشگر نمایش داده خواهد شد. به این موضوع در قسمت های بعدی می پردازیم.

 


ماژول نمایشگر TFT با اندازه ۱٫۸ اینچ


نمایشگرها پس از پردازنده، مهم ترین انتخاب در یک پروژه به کار می روند. انتخاب نمایشگر مناسب در پروژه می تواند به رابط و تجربه کاربری بسیار خوب منجر شود. ماژول نمایشگر TFT با درایور ST7735، یک نمایشگر فوق العاده کاربردی جهت اتصال به بردهای آردوینو و ESP است. به لطف توسعه کتابخانه تحت آردوینو برای این نمایشگر، شما می توانید در کمترین زمان ممکن این نمایشگر را با بردهای آردوینو و ESP راه اندازی کنید. از این نمایشگر برای تصویر دوربین دنده عقب با آردوینو استفاده می‌کنیم.

ال سی دی نمایش دوربین دنده عقب خودرو - دیجی اسپارک

 

این نمایشگر دارای رابط SPI جهت ارتباط با میکروکنترلرهاست. از آنجاییکه این پروتکل تا ۱۰ متر کابل را پشتیبانی می کند، لذا می توان به سادگی نمایشگر را در کابین خودرو قرار داد. سپس با کشیدن کابل، دوربین قسمتی از پلاک و یا سپر عقب قرار دهید تا تصاویر به سادگی نمایش داده شود.

 


ماژول کاهنده ولتاژ LM2596


ماژول های کاهنده ولتاژ از مهم ترین و پرکاربردترین ابزارها جهت کاهش ولتاژ خروجی به شمار می روند. از آنجاییکه در پروژه ساخت دوربین دنده عقب قصد تامین برق دستگاه را از باتری خودرو داریم، لذا از ماژول کاهنده ولتاژ LM2596 جهت تنظیم ولتاژ خروجی استفاده می کنیم. به کمک این ماژول برق ۱۲ ولت خودرو(که در حالت روشن به حوالی ۱۵ ولت نیز می رسد) را به ۳٫۳ که مناسب ماژول ESP32CAM است می رسانیم.

ماژول کاهنده برای پروژه ساخت دوربین دنده عقب - دیجی اسپارک

 

بر روی ماژول کاهنده LM2596 یک مولتی ترن جهت کاهش ولتاژ خروجی وجود دارد. شما می توانید به سادگی با چرخاندن آن، ولتاژ خروجی ماژول را بر روی ۳٫۳ تنظیم کرده و سپس تغذیه را به ماژول متصل نمایید.

 


نصب کتابخانه های مورد نیاز


برای اجرای پروژه دوربین دنده عقب، نیاز به نصب کتابخانه هایی داریم. کتابخانه ها ابزاری جهت اجرای سریع و آسان پروژه هستند. در ابتدا می بایست کتابخانه درایور ST7735 را نصب نماییم. به همین منظور، ابتدا بر روی منوی Tools کلیک کرده و سپس گزینه Manage Libraries را کلیک کنید.  با کلیک بر روی این گزینه، تصویر زیر را مشاهده خواهید کرد. مطابق تصویر فوق در کادر جستجوی کتابخانه ها که در تصویر قرمز رنگ نیز مشخص شده است، عبارت Adafruit_ST7735.h را تایپ کنید. پس از چند لحظه با تصویر زیر رو به رو می شوید. بر روی گزینه install کلیک کرده و کتابخانه را نصب کنید.

 

 پس از نصب این کتابخانه، می بایست کتابخانه نمایش تصاویر بر روی نمایشگر را دانلود و نصب کنید. برای این مورد، مشابه روش نصب کتابخانه پیشین، در کادر جستجوی کتابخانه ها عبارت TJpg_Decoder.h را تایپ کنید. پس از تایپ با تصویر زیر رو به رو می شوید. این کتابخانه را هم با کلیک بر روی گزینه install نصب نمایید.

 

توجه: ورژن کتابخانه TJpg_Decoder.h 0.0.3 و ورژن کتابخانه  st7735  برابر با ۱٫۷٫۰ است.

 


شماتیک و اتصالات


در این قسمت به بررسی شماتیک و اتصالات بین نمایشگر TFT و ماژول ESP32CAM می پردازیم. در ابتدا تصویر زیر اتصالات بین نمایشگر و ماژول ESP32CAM را نمایش می دهد.

شماتیک ساخت دوربین دنده عقب با ESP-Cam - دیجی اسپارک

 

در ادامه، مطابق تصویر فوق، اتصالات مدار ساخت دوربین دنده عقب آردوینو با ESP32-Cam را به صورت زیر در پیش بگیرید.

ماژول ESP32CAM نمایشگر TFTST7735
۱۳ SDA
۱۴ CLK
۱۵ CS
۲ A0
۱۲ RESET
VCC ۳٫۳V
GND GND
LED ۳٫۳V

 

توجه۱: در این پروژه جهت نمایش تصاویر دریافت شده از دوربین، می بایست پایه GPIO16 به زمین متصل گردد. از آنجاییکه این پایه به صورت داخلی پول آپ است، لذا با زمین کردن این پایه، برنامه فشرده شدن کلید را تشخیص داده و تصاویر بر روی نمایشگر ظاهر می گردد. در صورت آشنایی با فنی خودرو، می توانید از یک کلید فشاری جهت فعال سازی خودکار نمایشگر هنگام قرار گیری دنده در حالت R استفاده کنید. برای این مورد با بازکردن گردگیر دست دنده در خودروهای گیربکس دستی، کلید فشاری را در موقعیت دنده عقب به نحوی قرار دهید که با برخورد لیور دنده به کلید، نمایشگر هنگام دنده عقب فعال شود.

 

توجه ۲: این مدار با توجه به ماژول دوربین ESP32CAM و نمایشگر TFT، دارای جریان مصرفی نسبتا بالایی است. به همین منظور جهت حفاظت از باتری خودرو، برق دستگاه را به صورت مستقیم از باتری تامین ننماید. برای این منظور، برق دستگاه را از سوییچ، آن هم در وضعیتی که خودرو روشن است تامین نمایید.

 

توجه۳: جهت اتصال نمایشگر به ماژول ESP32CAM از یک کابل با طولی در حدود ۳٫۵ متر استفاده شده است(بیشنیه طول کابل در ارتباط SPI 10 متر است.) این کابل از نوع سیم خشک تک رشته(کابل تلفن ساختمان) است. تصویر این کابل در زیر مشاهده می شود.

سیم کشی برای ساخت دوربین دنده عقب با آردوینو - دیجی اسپارک

 

توجه ۴: مابین ورودی مثبت ماژول کاهنده ولتاژ و کابل مثبت تغذیه باتری، یک فیوز ۱ آمپر به صورت سری قرار گرفته است. این فیوز در صورت آسیب احتمالی مدار، عمل کرده و از سیم کشی خودرو محافظت می کند.

 

توجه۵: برای تبدیل ولتاژ ۱۲ ولت خودرو به ولتاژ مورد نیاز دستگاه از ماژول کاهنده ولتاژ LM2596 استفاده شده است. پس از اتصال برق خودرو به ورودی ماژول کاهنده، خروجی کاهنده را بر روی ۳٫۳ تنظیم کرده و سپس به مدار متصل نمایید.

 


کدهای پروژه دوربین دنده عقب خودرو


در این قسمت کدهای پروژه دوربین دنده عقب را مشاهده می کنید. توجه داشته باشید که این کدها برای برد ESP32-CAM توسعه یافته است. این کدها را کپی و سپس بر روی برد آپلود کنید.

 

جهت دسترسی به این بخش، اشتراک اسپارکر پلاس تهیه کنید.

 

 


اجرای پروژه دوربین دنده عقب


در این قسمت به اجرای پروژه دوربین دنده عقب آردوینو می پردازیم. پس از روشن سازی دستگاه، ابتدا زمان بر روی نمایشگر به نمایش در می آید. عدد های درج شده نمایشگر، سمت چپ مربوط به مدت زمان راه اندازی دستگاه به ساعت و سمت راست دقیقه را نشان می دهد.

اجرای پروژه دوربین دنده عقب آردوینو با ESP32-Cam - دیجی اسپارک

 

در صورتیکه کلید دنده عقب (کلید متصل به پایه GPIO) فشرده شود، دوربین فعال شده و تصاویر بر روی نمایشگر به نمایش در خواهد آمد.

نمایش تصویر دوربین دنده عقب آردوینو - دیجی اسپارک

 


تحلیل کد پروژه دوربین دنده عقب خودرو


در این قسمت به تحلیل کدهای پروژه می پردازیم. در نظر داشته باشید که درون کدهای پروژه، توضیحات به فارسی و به صورت خط به خط کامنت شه اند. به طوریکه با مطالعه آن به سادگی می توانید روال کلی کار را دریابید. در اینجا ما نیز به طور خلاصه به بررسی کدهای پروژه می پردازیم. در ابتدای کدها، پایه های اتصال دوربین به GPIO برد ESP32 تعیین می شود. پس از این مرحله، پایه ها جهت اتصال به نمایشگر نیز تنظیم شده و به کمک تابع زیر، یک نمونه شی از کلاس ST7735 ساخته می شود.

پس از این، به کمک تابع init_camera، تنظیمات دوربین صورت می گیرد.  در ادامه با تعیین پایه GPIO16 به عنوان ورودی، در حلقه تکرار اصلی برنامه، هرگاه وضعیت این پایه LOW شود، دوربین دنده عقب قعال شده و تصاویر بر روی آن ظاهر می شود. در حالت عادی نیز، زمان بر روی نمایشگر نمایش داده خواهد شد.

 


لوازم مورد نیاز


  1. ماژول دوربین ESP32CAM
  2. ماژول نمایشگر TFT با درایور ST7735
  3. ماژول مبدل سریال به USB
  4. ماژول کاهنده ولتاژ LM2596
  5. فیوز
  6. پایه فیوز
  7. انواع کلید

 


جمع بندی


در این آموزش به طراحی و پیاده سازی دوربنی دنده عقب خودرو با قابلیت مایش تصاویر بر روی نمایشگر TFT پرداختیم. از آنجاییکه هنگام رانندگی رو به عقب ممکن است با نقاط کور بسیاری مواجه شویم، لذا وجود دوربین دنده عقب ابزاری بسیار کاربردی و ضروری برای کمک به رانندگان خواهد بود. در این آموزش به طراحی و پیاده سازی دوربین دنده عقب خودرو به کمک برد ESP32-CAM ونمایشگر TFT پرداختیم.  به کمک این دوربین می توانید به سادگی هنگام حرکت در حال دنده عقب، کلیه نقاط کور خودرو را پوشش دهید.

 

چنانچه در رابطه با این آموزش سوالی دارید، و یا احساس می کنید مطالب گنگ هستند، نظرات خود را در انتهای مطلب به صورت کامنت مطرح نمایید. همچنین اگر در جایی مطالب ایراد و یا اشکالی دارند، می توانید مورد را به صورت کامنت مطرح کنید. من بلافاصله پس از دریافت نظر شما، با شما به تبادل نظر خواهم پرداخت.

 

درباره نویسنده

معین صابری

کارشناسی ارشد رشته معماری سیستم های کامپیوتری

مالي که ز تو کس نستاند، علم است
حرزي که تو را به حق رساند، علم است
جز علم طلب مکن تو اندر عالم
چيزي که تو را ز غم رهاند، علم است
(شیخ بهایی)

تبادل نظر و رفع عیب با ثبت دیدگاه

۸ دیدگاه

  • سلام اموزش فوق العاده ای بود
    اتفاقاً من دنبال همین اموزش ولی با قابلیت عکس برداری میگشتم .
    ای کاش میشد این تصویر را بصورت بیسیم بر بروی نمایشگر می‌دیدیم که به نظرم بهتر میشد

    • سلام و متشکرم از شما
      به کمک همین آموزش می توانید عکس برداری هم کنید. برای مورد بی سیم هم آموزشی منتشر خواهد شد.

  • سلام مهندس
    من یه ایده ای به ذهنم رسید البته نمیدونم میشه اجراش کرد یا نه
    روی برد esp32 کدی را اپلود کنیم که بتواند یک اکسس پوینت ایجاد کند و سپس با استفاده از یک برد esp8266 که قبلاً کدی را روش اپلود کردیم بتواند به اکسس پوینت esp32 cam وصل شود و تصویر دریافتی را روی نمایشگر نشان دهد
    و یک سوال درمورد این پروژه شما داشتم تا حداکثر چند متر میشه بین نمایشگر و esp32 cam سیم کشی کرد ؟

    • سلام و مرسی از شما
      ایده بسیار جالبی هست، روی آن حتما کار می کنم. برای حذف سیم کشی بیسار کاربردی هست.
      در رابطه با کابل، از آنجاییکه نمایشگر با پروتکل SPI با ESPCAM در ارتباط است، طبق استاندارد این پروتکل می توان تا حدود ۱۰ متر سیم کشی انجام داد.

    • سلام
      ارسال و دیافت داده ها تحت بستر بلوتوث هست. به عنوان مثال شما می توانید بین تلفن همراه و این ماژول از طریق بلوتوث ارتباط برقرار کنید. در این رابطه قبلا آموزش منتشر شده است. این آموزش را می توانید از لینک زیر مطالعه نمایید:
      شروع به کار و راه اندازی BLE ماژول ESP32