ورکشاپ آموزشی - آیسی مدار
رفتن به محتوا

دستگاه تشخیص رنگ هوشمند برای افراد کوررنگ با ماژول ESP32-CAM

ابزار و گجت
۰ نظر
۴۳ نفر
کد ۳۱۱۱

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

توی این آموزش قراره یک "دستگاه تشخیص رنگ بلادرنگ" بسازیم که قلب تپنده‌اش ماژول دوربین‌دار و قدرتمند ESP32-CAM هست. این دستگاه می‌تونه رنگ هر جسمی که جلوش قرار بگیره رو بخونه و اسم اون رنگ رو روی یک نمایشگر OLED بنویسه. برای اینکه کار جذاب‌تر بشه، یک ال‌ای‌دی آدرس‌پذیر (WS2812B) هم تو مدار قرار دادیم که دقیقا همون رنگی که دستگاه تشخیص داده رو شبیه‌سازی می‌کنه و بهمون نشون می‌ده.

پس قطعات رو آماده کن تا با هم این گجت کوچیک اما فوق‌العاده کاربردی رو بسازیم که می‌تونه برای خیلی‌ها مثل یک چشم سوم عمل کنه.

قطعات موردنیاز

  • ماژول دوربین‌دار ESP32-CAM
  • بردبورد کوچک
  • ال‌ای‌دی آدرس‌پذیر WS2812B
  • سیم‌های جامپر برای اتصالات
  • ماژول مبدل USB به سریال (FTDI)
  • ماژول نمایشگر OLED
  • ورق مقوایی یا تخته شاسی (در صورت نداشتن پرینتر سه‌بعدی)
  • هویه و سیم لحیم
  • پرینتر سه‌بعدی (اختیاری برای ساخت قاب)
  • فیلامنت PLA
  • یک تکه کاغذ سفید
  • چسب (حرارتی یا قطره‌ای)
  • قیچی
  • کابل USB
  • نرم‌افزار Arduino IDE
مرحله ۱

طراحی و پرینت سه‌بعدی قاب دستگاه

برای اینکه پروژه‌مون ظاهر تمیز و حرفه‌ای داشته باشه، از قطعات پرینت سه‌بعدی برای ساخت قاب استفاده می‌کنیم. البته اگر پرینتر سه‌بعدی نداری، می‌تونی همین قاب رو با استفاده از کارتن یا مقوای فشرده هم بسازی. من برای طراحی این قاب از نرم‌افزار Tinkercad استفاده کردم و ابعاد قطعات الکترونیکی رو دقیق اندازه‌گیری کردم تا همه‌چیز به خوبی داخلش جا بشه.

فایل‌های طراحی کاملا باز هستن و اگر دوست داشتی می‌تونی تغییراتی روی فایل‌های STL ایجاد کنی و ویژگی‌های جدیدی بهش اضافه کنی. فایل‌های STL این قاب رو می‌تونی به راحتی دانلود کنی. پیشنهاد می‌کنم از قطعات الکترونیکی استانداردی که تو لیست گفتیم استفاده کنی تا موقع جا زدن قطعات داخل قاب به مشکل نخوری.

بعد از اینکه طراحی نهایی شد، باید فایل‌ها رو به نرم‌افزارهای اسلایسر ببری تا برای پرینت آماده بشن. من برای این کار از نرم‌افزار Cura Slicer استفاده کردم.

تو تنظیمات پرینت نیازی به تغییرات پیچیده نیست. این طراحی طوری انجام شده که موقع پرینت هیچ نیازی به ساپورت (Support) یا رافت (Raft) نداره.

کل این قاب از دو تا قطعه تشکیل شده؛ یکی بدنه اصلی دستگاهه و اون یکی هم درب بالاییه که قطعات رو می‌پوشونه و باعث می‌شه مدارات از بیرون دیده نشن.

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

مرحله ۲

سیم‌کشی مدار و آپلود کدها

برای تکمیل این پروژه، باید دو مرحله سیم‌کشی انجام بدیم. مرحله اول فقط برای آپلود کردن کد روی ماژول ESP32-CAM هست (چون این ماژول پورت USB نداره) و بعد از آپلود، مدار رو باز می‌کنیم تا مدار اصلی و نهایی رو ببندیم.

برای مدار برنامه‌ریزی، باید از یک ماژول مبدل سریال (FTDI) استفاده کنی. پین RX مبدل رو به پین TX ماژول ESP وصل کن و پین TX مبدل رو به پین RX ماژول بزن.

پین‌های 5 ولت و GND ماژول FTDI رو هم به پین‌های تغذیه ESP32 متصل کن. نکته خیلی مهم اینه که برای قرار دادن ESP تو حالت پروگرام، باید پین GPIO 0 رو با یک سیم به پین GND متصل کنی. موقع آپلود کد تو نرم‌افزار، حتما یک بار دکمه ریست روی ماژول رو فشار بده.

تو نرم‌افزار Arduino IDE برد رو روی حالت AI Thinker CAM تنظیم کن و پورت رو انتخاب کن. اگر کتابخونه‌ای کم بود، باید اون رو نصب کنی. بعد از اینکه کد با موفقیت آپلود شد، حتما سیمی که پین GPIO 0 رو به GND وصل کرده بود رو جدا کن.

حالا بریم سراغ مدار نهایی. نمایشگر OLED و ال‌ای‌دی WS2812B رو طبق نقشه به ESP32 متصل کن. برق کل سیستم قراره از همون مبدل USB تامین بشه.

بهتره اول تمام اتصالات رو روی بردبورد انجام بدی تا از درست کار کردن همه‌چیز مطمئن بشی. وقتی همه‌چیز اکی بود، می‌تونی قطعات رو با سیم‌های جامپر به هم متصل کنی. یه ترفند خوب برای اینکه حجم سیم‌کشی‌ها کم بشه اینه که به جای چند تا سیم GND مجزا، همه رو به هم وصل کنی و فقط با یک سیم به ماژول ببری. این کار باعث می‌شه سیم‌ها مرتب بشن و تو قاب کوچیک دستگاه راحت‌تر جا بشن.

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

مرحله ۳

مونتاژ نهایی و جا زدن قطعات در قاب

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

مونتاژ رو با قرار دادن ماژول دوربین ESP32 شروع کن و بعد ال‌ای‌دی رو سر جاش بذار. اول قطعات رو بدون چسب جا بزن تا از درست بودن جایگاهشون مطمئن بشی، بعد با چند قطره چسب ثابتشون کن.

برد FTDI رو با چسب دوطرفه به کف قاب بچسبون تا پورت USB اون از بیرون قابل دسترسی باشه. یک بار کابل رو وصل کن و مطمئن شو که تصویر OLED و ال‌ای‌دی درست کار می‌کنن، چون بعد از بستن قاب دسترسی بهشون سخت می‌شه. وقتی همه‌چیز چک شد، درب قاب رو بذار و لبه‌هاش رو با چسب محکم کن.

ال‌ای‌دی‌های آدرس‌پذیر نورهای RGB تیز و متمرکزی دارن. برای اینکه نور ال‌ای‌دی ملایم و یکدست بشه، یک تکه کاغذ سفید مربع‌شکل رو روی سوراخ ال‌ای‌دی بچسبون. این کاغذ مثل یک دیفیوزر عمل می‌کنه و رنگ نهایی رو خیلی زیباتر نشون می‌ده. خب، بخش ساخت و مونتاژ کاملا تموم شد. حالا می‌رسیم به هیجان‌انگیزترین قسمت پروژه، یعنی تست عملی و کار با دستگاه.

مرحله ۴

تست عملی و نتیجه‌گیری

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

فقط یک نکته مهم موقع استفاده: حواست باشه که دوربین رو مستقیما به سمت منابع نوری قوی مثل لامپ یا نور مستقیم خورشید نگیری، چون باعث ایجاد خطا تو سیستم پردازش رنگ می‌شه.

برای تست، بهتره دستگاه رو زیر نور معمولی اتاق قرار بدی و اجسام رو تو فاصله مناسبی از دوربین نگه داری. سیستم به قدری هوشمنده که اگر یک جسم چندرنگ رو جلوش بگیری، رنگ غالب و اصلی جسم رو بهت نشون می‌ده.

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

تیم آیسی‌مدار همیشه دنبال پروژه‌هاییه که تاثیر مثبتی تو زندگی افراد داشته باشن. امیدواریم از ساخت این گجت کاربردی لذت برده باشی و اگر ایده‌ای برای ارتقای اون داری، تو بخش نظرات با ما در میون بذار.

فایل‌های پیوست

STL color detector frame.stl
STL color detector lid.stl
INO color.ino

تو میتونی اولین سازنده باشی!

اگه پروژه رو ساختی به اشتراک بزار و اعتبار هدیه بگیر

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

آموزش‌های مشابه

گفتگو‌های کاربران

هنوز نظری ثبت نشده؛ تو شروع کن!