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

سطل زباله هوشمند با سنسور رنگ

رباتیک و هوشمندسازی
۰ نظر
۱۴ نفر
کد ۳۰۷۴

آیا تا به حال به این فکر کردی که یک سطل زباله بتونه زباله‌ها رو بر اساس رنگشون تفکیک کنه و اگر زباله اشتباهی رو داخلش انداختی، با عصبانیت همه رو پس بده؟ امروز در آیسی‌مدار دقیقا قراره همین کار رو انجام بدیم! با "گلبرت" (Gelbert) آشنا بشید؛ یک سطل زباله دست‌ساز، هوشمند و البته به‌شدت حساس به رنگ که قرار نیست هر زباله‌ای رو قبول کنه.

این سطل زباله با استفاده از یک برد آردوینو، سنسور تشخیص رنگ (RGB) و یک سنسور اولتراسونیک ساخته شده. وقتی زباله‌ای رو بهش نزدیک می‌کنی، در بالایی رو باز می‌کنه، رنگ زباله رو اسکن می‌کنه و اگر رنگش زرد باشه (رنگ مورد علاقه‌اش!)، زباله رو با خوشحالی قبول می‌کنه. اما امان از روزی که زباله‌ای غیر از رنگ زرد رو بهش بدی! در این حالت، هم در بالایی و هم در پایینی سطل هم‌زمان باز می‌شه و کل زباله‌های داخلش رو روی زمین می‌ریزه!

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

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

  • برد آردوینو Uno + کابل اتصال به پورت USB
  • بردبورد کوچک
  • باتری 9 ولت کتابی
  • سیم‌های جامپر (به مقدار زیاد)
  • ماژول مینی DFPlayer (برای دیکد و پخش فایل‌های صوتی)
  • کارت حافظه SD
  • سنسور فاصله سنج اولتراسونیک
  • سنسور تشخیص رنگ (RGB)
  • دو عدد موتور مینی سروو (Micro Servo)
  • اسپیکر مینیاتوری 3 وات
  • نمایشگر LCD کاراکتری 16 در 2
  • تکه‌های مقوای کارتن
  • چرخ‌دنده‌های پرینت سه‌بعدی شده
  • میله چوبی (رول‌پلاک چوبی) با قطر تقریبی 98 میلی‌متر
  • چسب برزنتی (Duct Tape) به مقدار خیلی زیاد
  • مقداری مقوای اضافه (محض احتیاط)
  • مقوای نازک زرد رنگ (برای روکش)
  • چشم‌های عروسکی متحرک با قطر 35 میلی‌متر (Googly eyes)
مرحله ۱

درک منطق و عملکرد سیستم

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

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

گلبرت به جای قبول کردن زباله، یک واکنش نمایشی و دراماتیک نشون می‌ده: دریچه بالایی و در پایینی سطل به طور هم‌زمان باز می‌شن و تمام زباله‌ها رو می‌ریزه روی زمین — از جمله تمام زباله‌هایی که از قبل داخلش بود!

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

در نهایت، با فشار دادن یک دکمه، سطل دوباره بسته می‌شه و سیستم ری‌ست می‌شه تا بتونی یک بار دیگه شانست رو امتحان کنی... فقط حواست باشه که اشتباهت رو تکرار نکنی! دیاگرام منطقی: به بیان ساده‌تر، رفتار گلبرت رو می‌شه تو سه تا وضعیت (State) خلاصه کرد: 1 _ وضعیت سنس کردن (Sensing): جایی که حضور شیء و مقدار رنگ (RGB) اون تشخیص داده می‌شه.

2 _ وضعیت عمل کردن (Actuation): جایی که موتورها به حرکت در میان و نمایشگر LCD و اسپیکر فعال می‌شن. 3_ وضعیت انتظار (Waiting): در این حالت، سطل کاملا باز می‌مونه و منتظر می‌مونه تا کاربر دکمه ری‌ست رو بزنه و لوپ از اول شروع بشه.

مرحله ۲

مونتاژ مدار الکترونیکی

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

اتصال سنسورها:

بیا کار رو با وصل کردن پین‌های 5 ولت و GND آردوینو به بردبورد شروع کنیم. این بخش قراره مدار اصلی ما باشه و بیشتر قطعات برقشون رو از همین جا می‌گیرن. بعدش سنسور اولتراسونیک رو روی بردبورد نصب کن و پین‌هاش رو (VCC، GND، TRIG و ECHO) به پین‌های مناسب روی آردوینو وصل کن.

برای سنسور رنگ (RGB)، ما به ولتاژ کمتری نیاز داریم. پس پین VCC اون رو مستقیما به پین 3.3 ولت آردوینو وصل کن و پین GND رو به زمین. حواست باشه که برای ارتباط I2C باید پین SDA سنسور رو به A4 آردوینو و پین SCL رو به A5 وصل کنی.

در نهایت، دکمه ری‌ست رو بین پین A0 آردوینو و GND روی بردبورد قرار بده. عالیه، الان سنسورها کاملا متصل شدن! اتصال عملگرها (اکچویتورها): حالا نوبت اتصال 2 تا سرووموتوره. سرووی مربوط به در پایینی رو به پین 10 آردوینو و سرووی دریچه بالایی رو به پین 11 وصل کن.

سیم‌کشی نمایشگر LCD یکم پیچیده‌تره. حتما نقشه مدار و کدهای آردوینو رو با دقت چک کن تا تمام پین‌ها رو درست وصل کنی. برای تنظیم کنتراست (وضوح) صفحه نمایش، یادت نره که یک پتانسیومتر به پین V0 ال‌سی‌دی متصل کنی.

در آخر، اسپیکر رو به ماژول DFPlayer (ماژول پخش MP3) وصل کن. یک کارت حافظه SD که فایل صوتی اخطار روش ریخته شده رو داخل ماژول قرار بده و پین‌های RX و TX ماژول رو به آردوینو وصل کن. حتما سر راه خطوط RX و TX مقاومت بذار تا ارتباط پایدار و بدون نویزی داشته باشی. آپلود کدهای آردوینو: فوق‌العاده‌ست — اگر تا اینجای کار پیش رفتی، یعنی کارت تقریبا تمومه!

حالا آردوینو رو به کامپیوترت وصل کن و کدها رو روی برد آردوینو Uno آپلود کن. ما تو کدها از دستورات Serial.print استفاده کردیم تا بتونی تو سریال مانیتور ببینی دقیقا چه اتفاقی داره میفته و اگر سیم‌کشی اشتباهی داشتی، سریع متوجهش بشی. الان تو یک سیستم کامل و بی‌نقص سنسور-اکچویتور داری. هورا!

مرحله ۳

مونتاژ و ساخت بدنه مقوایی

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

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

جلوی جعبه یک سوراخ مستطیلی برای صفحه نمایش LCD دربیار. دو تا سوراخ قرینه هم در دو طرف جعبه برای رد کردن میله چوبی ایجاد کن (این میله قراره دریچه بالایی رو بچرخونه). یک سوراخ کوچک هم گوشه پایین برای دکمه ری‌ست دربیار.

قاب پشتیبان پرینت سه‌بعدی شده رو در کف جعبه قرار بده؛ این قطعه باعث استحکام بیشتر می‌شه و کمک می‌کنه تا موتور پایینی رو راحت‌تر نصب کنی.

اول از همه، سنسور اولتراسونیک و ال‌سی‌دی رو سر جاشون داخل جعبه محکم کن. تو این مرحله می‌تونی آردوینو و بردبورد رو هم داخل جعبه قرار بدی تا تمام قطعات بزرگ جانمایی بشن. برای فیکس کردن همه‌چیز، از چسب برزنتی (Duct Tape) استفاده کن، اون هم به مقدار زیاد!

حالا بریم سراغ دریچه بالایی. یک سوراخ روش دربیار تا بتونی سیم‌های سنسور رنگ (RGB) رو از توش رد کنی، و بعد این تکه مقوا رو محکم به میله چوبی بچسبون. چرخ‌دنده رو به سر میله متصل کن و میله رو از داخل سوراخ‌های کناری جعبه رد کن. مطمئن شو که سرووموتور بالایی رو دقیقا طوری تنظیم می‌کنی که چرخ‌دنده‌هاش با چرخ‌دنده میله کاملا درگیر بشن.

در مرحله بعد، مکانیزم در پایینی رو مونتاژ کن. سرووموتور دوم رو نصب کن، اهرم پرینت سه‌بعدی شده رو بهش متصل کن و دقت کن که مکانیزم قفل (Latch) طوری تنظیم بشه که در سطل کاملا تمیز و روان باز و بسته بشه.

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

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

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

INO ArduinoCode_Gelbert_YellowBin.ino

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

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

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

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

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

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