ماژول وای فای و بلوتوث ESP32-CAM با دوربین 2 مگاپیکسل OV2640
ماژول ESP32-CAM به عنوان یک برد توسعهی همهکاره و جمعوجور شناخته میشود که قابلیتهای Wi-Fi/Bluetooth و یک ماژول دوربین را در خود جای داده است. این برد توسط شرکت Espressif Systems توسعه داده شده و برای پروژههایی که نیاز به پردازش تصویر و ویدیو دارند، طراحی شده است. در این بررسی، به ویژگیهای کلیدی، عملکرد و کاربردهای بالقوه ESP32-CAM خواهیم پرداخت و دلیل محبوبیت آن را در پروژههای دوربیندار بررسی خواهیم کرد.
توجه: ممکن است کد دوربین ارسالی این ماژول با آنچه در تصاویر میبینید متفاوت باشد
توجه: برای تشخیص چهره و نام گذاری روی صورت، از فریمور نسخه 1.0.4 بردهای ESP در نرم افزار آردوینو IDE استفاده کنید. ممکن است روی بعضی دیگر از نسخه ها نیز، این قابلیت فعال باشد اما با تست بر روی نسخه 3.0.5، مشخص شد که این نسخه فریور این قابلیت را حذف کرده است.
ویژگیهای کلیدی ESP32-CAM
- میکروکنترلر ESP32: میکروکنترلر دو هستهای و قدرتمند با قابلیتهای Wi-Fi و Bluetooth و تعدادی پین GPIO متنوع.
- ماژول دوربین (OV2640): پشتیبانی از وضوحهای مختلف تصویر و ویدیو، از جمله تا 1600x1200 پیکسل.
- اسلات کارت microSD: برای ذخیرهسازی تصاویر و ویدیوها، به کاربران این امکان را میدهد که به راحتی تصاویر ضبط شده را ذخیره کنند.
- پینهای GPIO: شامل 40 پین GPIO که به کاربران اجازه میدهد سنسورها، نمایشگرها و یا دستگاههای جانبی بیشتری را متصل کنند.
- برنامهنویسی از طریق Arduino IDE یا ESP-IDF: برنامهنویسی با محیط کاربرپسند Arduino IDE و برای کاربران پیشرفتهتر، استفاده از ESP-IDF برای کنترل و سفارشیسازی در سطوح پایینتر.
- محدوده وسیع کاربرد: مناسب برای برنامههای مختلف از جمله استریم ویدیو، اتوماسیون خانگی، سیستمهای امنیتی و نصبهای تعاملی.
مشخصات فنی برد توسعه ESP32-CAM
- میکروکنترلر: میکروکنترلر دو هستهای ESP32 (Tensilica LX6) با فرکانس کاری 240MHz.
- حافظه PSRAM: 2/4/8MB (انتخابی) --- در فریم ریت ثبت تصویر تاثیر گذار است.
- Wi-Fi و Bluetooth: قابلیتهای Wi-Fi (802.11 b/g/n) و Bluetooth (4.2 BR/EDR و BLE) یکپارچه.
- ماژول دوربین: ماژول دوربین OV2640 با وضوح تا 1600x1200 پیکسل.
- ذخیرهسازی: 520 کیلوبایت SRAM، حافظه فلش PSRAM خارجی 2 تا 8 مگابایت و اسلات کارت microSD برای ذخیرهسازی خارجی.
- پینهای GPIO: 10 پین ورودی/خروجی عمومی برای اتصال سنسورها، دستگاهها و نمایشگرهای خارجی.
- رابط برنامهنویسی: برنامهنویسی از طریق USB-TTL مبدل.
- اتصال USB: بدون پورت USB.
- منبع تغذیه: میتواند از طریق منبع 5V خارجی تغذیه شود.
- ابعاد: 40x27 میلیمتر.
- دکمهها: دکمه ریست برای ریست کردن برد.
- رگولاتور ولتاژ: رگولاتور ولتاژ 3.3V یکپارچه برای عملکرد پایدار.
- آنتن: آنتن یکپارچه برای ارتباطات Wi-Fi و Bluetooth.
پینهای برد توسعه ESP32-CAM
پینهای ESP32-CAM معمولاً شامل مجموعهای از پینهای GPIO، پینهای منبع تغذیه، پینهای مرتبط با دوربین و دیگر پینهای رابط است.
- پینهای قدرت و ریست:
- 5V: منبع تغذیه 5V خارجی.
- GND: زمین.
- VIN: منبع تغذیه 5V یا بالاتر.
- کارت microSD:
- HS2_DATA0 - 3: خطوط داده کارت microSD.
- HS2_CMD: خط فرمان کارت microSD.
- HS2_CLK: خط کلاک کارت microSD.
- وضعیت فلش و بوت:
- GPIO_0: برای تعیین حالت بوت.
- پینهای GPIO عمومی: پینهای اضافی GPIO برای استفاده عمومی (IO0، IO4، IO5، IO12، IO13، IO14، IO15، IO16 و غیره).
چگونه ESP32-CAM را برنامهنویسی کنیم؟
برنامهنویسی ESP32-CAM شامل چند مرحله است و میتوانید از Arduino IDE یا PlatformIO برای توسعه استفاده کنید. در اینجا یک راهنمای کوتاه برای استفاده از Arduino IDE ارائه شده است:
- نصب Arduino IDE: Arduino IDE را از وبسایت رسمی دانلود و نصب کنید.
- نصب بردهای ESP32:
- در Arduino IDE به "File" > "Preferences" بروید. در بخش "Additional Boards Manager URLs" آدرس زیر را اضافه کنید:
https://dl.espressif.com/dl/package_esp32_index.json
- روی "OK" کلیک کنید.
- به "Tools" > "Board" > "Boards Manager" بروید. "esp32" را جستجو کرده و نصب کنید.
- در Arduino IDE به "File" > "Preferences" بروید. در بخش "Additional Boards Manager URLs" آدرس زیر را اضافه کنید:
- انتخاب برد ESP32: به "Tools" > "Board" رفته و "ESP32 Wrover Module" را انتخاب کنید.
- اتصالات:
- اطمینان حاصل کنید که ESP32-CAM به درستی متصل شده است.
- پینهای 5V و GND ESP32-CAM را به منبع 5V خارجی متصل کنید.
- پینهای U0T (TX) و U0R (RX) ESP32-CAM را به مبدل USB به سریال برای برنامهنویسی متصل کنید.
- پین IO0 را به GND متصل کنید تا حالت برنامهنویسی فعال شود.
- پین IO0 را به 3.3V متصل کنید تا عملکرد عادی فعال شود.
- وارد کردن ESP32-CAM به حالت برنامهنویسی: ESP32-CAM را برای حالت برنامهنویسی تنظیم کنید و دکمه "RST" را به مدت کوتاهی فشار دهید.
- آپلود کد: اسکیچ Arduino خود را باز یا ایجاد کنید و مطمئن شوید که برد و پورت صحیح در Arduino IDE انتخاب شده است و با کلیک بر روی دکمه "Upload" کد را آپلود کنید.
پروژههایی که میتوان با ESP32-CAM انجام داد
ESP32-CAM یک برد توسعهی همهکاره است و پروژهها و کاربردهای متنوعی را میتوان با آن انجام داد. در اینجا چند ایده برای شروع ارائه شده است:
- دوربین نظارتی هوشمند:
سیستم نظارتی هوشمند با تشخیص حرکت بسازید. ESP32-CAM میتواند تصاویر یا ویدیوها را هنگام تشخیص حرکت ضبط کند و میتوانید آن را برای ارسال هشدار یا اعلان تنظیم کنید.
- اتوماسیون خانگی:
یک سیستم اتوماسیون خانگی DIY بسازید. از آن برای نظارت بر امنیت خانه، کنترل دستگاههای هوشمند یا حتی ادغام آن در یک اکوسیستم بزرگتر اتوماسیون خانگی استفاده کنید.
- استریم ویدیو:
یک برنامه استریم ویدیو در زمان واقعی توسعه دهید. ESP32-CAM میتواند ویدیو را ضبط و بهصورت زنده از طریق Wi-Fi استریم کند و به شما اجازه میدهد تا مکان را از راه دور نظارت کنید.
- شناسایی تصویر:
با شناسایی تصویر و یادگیری ماشین آزمایش کنید. میتوانید از دوربین برای ضبط تصاویر استفاده کنید و سپس آنها را برای تشخیص اشیاء یا شناسایی صورت پردازش کنید.
- ایستگاه هواشناسی با ثبت تصویر:
یک ایستگاه هواشناسی بسازید که نه تنها شرایط محیطی را اندازهگیری کند بلکه تصاویر را برای مستند کردن تغییرات جوی نیز ضبط کند. برای اندازهگیری این پارامترها میتوانید از سنسورهایی مانند ماژول سنسور دما، رطوبت و فشار BME680 استفاده کنید.
.توجه: ممکن است کد دوربین ارسالی این ماژول با آنچه در تصاویر میبینید متفاوت باشد