فهرست مطالب:

Dustbin هوشمند از Magicbit: 5 مرحله
Dustbin هوشمند از Magicbit: 5 مرحله

تصویری: Dustbin هوشمند از Magicbit: 5 مرحله

تصویری: Dustbin هوشمند از Magicbit: 5 مرحله
تصویری: الگوریتم موفقیت 5 مرحله 2024, نوامبر
Anonim
Image
Image

در این آموزش با نحوه ساخت سطل زباله هوشمند با استفاده از Magicbit dev آشنا می شویم. دارای برد آردوینو IDE بیایید شروع کنیم

تدارکات

  • Magicbit
  • کابل USB-A به Micro-USB
  • سنسور اولتراسونیک - HC -SR04 (عمومی)
  • موتور میکرو سروو SG90

مرحله 1: داستان

راه اندازی سخت افزار
راه اندازی سخت افزار

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

مرحله 2: نظریه و روش شناسی

نظریه بسیار ساده است. وقتی به سطل زباله نزدیک می شوید ، شما را تشخیص می دهد. اگر فاصله بین شما و سطل زباله کوچکتر از فاصله مشخص شده باشد ، در این صورت پوشش سطل زباله به طور خودکار باز می شود. برای تکمیل هر دوی این اجسام از سنسور اولتراسونیک HC-SRO4 و سرو موتورهای کوچک استفاده می کنیم. شما می توانید هر نوع سرو موتور دیجیتال تهیه کنید.

مرحله 3: راه اندازی سخت افزار

راه اندازی سخت افزار
راه اندازی سخت افزار
راه اندازی سخت افزار
راه اندازی سخت افزار

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

سنسور اولتراسونیک برای افزایش قدرت از 3.3 ولت استفاده کرد. بنابراین ما از پورت پایین راست برد Magicbit برای اتصال سنسور اولتراسونیک به Magicbit استفاده کردیم. اما از سرو موتور برای عملکرد مناسب 5 ولت استفاده می شود ، بنابراین ما از پورت پایینی سمت چپ برای اتصال سرو موتور با Magicbit استفاده کردیم. در این مورد ، ما از ماژول اتصال دهنده Magic bit servo connector استفاده می کنیم. اما اگر آن ماژول را ندارید ، می توانید از سه سیم جامپر برای اتصال 5V به 5V ، Gnd به Gnd و پین سیگنال به 26 پین در magicbit استفاده کنید.

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

مرحله 4: راه اندازی نرم افزار

راه اندازی نرم افزار
راه اندازی نرم افزار

بخش نرم افزاری نیز بسیار آسان است. بیایید به کد Arduino IDE و نحوه عملکرد آن کد نگاه کنیم.

برای هدایت سروو از کتابخانه سرو سرو ESP32 استفاده می کنیم. این کتابخانه تقریباً شامل مدیر هیئت مدیره جادویی در Arduino IDE است. برای مقابله با سنسور اولتراسونیک از کتابخانه newPing استفاده می کنیم. این را می توان از لینک زیر بارگیری کرد.

bitbucket.org/teckel12/arduino-new-ping/d…

فایل فشرده را بارگیری کرده و به ابزار بروید> شامل کتابخانه> کتابخانه Zip را در آردوینو اضافه کنید. اکنون فایل زیپ بارگیری شده کتابخانه جدید پین خود را انتخاب کنید. در کد ما ابتدا کتابخانه های سروو و سنسور اولتراسونیک را اعلام می کنیم. در تابع حلقه ما همیشه فاصله سطل زباله تا نزدیکترین جسم جلو را بررسی می کنیم. اگر این رنده از 200 باشد ، خروجی فاصله کتابخانه 0 است. هنگامی که فاصله کمتر از 60 سانتیمتر است ، سپس با باز کردن سروو ، حلقه را برای بازکردن جلد اجرا می کند. اگر فاصله از 60 سانتی متر بزرگتر باشد ، جلد پایین می آید. با استفاده از متغیر بولی همیشه وضعیت جلد را بررسی می کنیم. اگر درپوش پایین باشد فقط آن باز می شود. همچنین برعکس. اکنون پورت و برد COM مناسب را به عنوان magcibit انتخاب کنید ، سپس کد را بارگذاری کنید. اکنون سطل زباله هوشمند شما آماده استفاده است.

مرحله 5: کد آردوینو

#عبارتند از

#تعریف TRIGGER_PIN 21 #تعریف ECHO_PIN 22 #حداکثر MAX_DISTANCE 200 سونار NewPing (TRIGGER_PIN ، ECHO_PIN ، MAX_DISTANCE) ؛ #include // include servo library int distance؛ سرو رادار سروو ؛ void setup () {Serial.begin (115200)؛ RadarServo.attach (26) ؛ // سروو موتور تأخیر متصل شده (3000) را تعیین می کند. } void loop () {// موتور سروو را از 15 تا 165 درجه برای (int i = 0؛ i <= 180؛ i ++) {RadarServo.write (i)؛ تأخیر (50) ؛ distance = sonar.ping_cm ()؛ // یک تابع برای محاسبه فاصله اندازه گیری شده توسط سنسور اولتراسونیک برای هر درجه برای (int j = 0؛ j0) {break؛ } Serial.print (i)؛ // درجه فعلی را به پورت سریال Serial.print ("،") ارسال می کند. // کاراکتر اضافی را درست در کنار مقدار قبلی مورد نیاز بعدا در پردازش IDE برای نمایه سازی Serial.print (j) ارسال می کند. // درجه فعلی را به پورت سریال Serial.print ("*") ارسال می کند. Serial.print (1) ؛ // مقدار فاصله را به پورت سریال Serial.print ("/") ارسال می کند. // کاراکتر اضافی را درست در کنار مقدار قبلی مورد نیاز بعداً در پردازش IDE برای نمایه سازی Serial.print (فاصله) ارسال می کند. // مقدار فاصله را به Port Port Serial.print (".") ارسال می کند؛ // نویسه اضافی را درست در کنار مقدار قبلی مورد نیاز بعداً در پردازش IDE برای نمایه سازی ارسال می کند}} // خطوط قبلی را از 165 تا 15 درجه برای (int i = 180؛ i> = 0؛ i-) {RadarServo. بنویسید (i) ؛ تأخیر (50) ؛ فاصله = sonar.ping_cm ()؛ برای (int j = 75؛ j> = 0؛ j- = 25) {if (i == 180 && (j == 75 || j == 50 || j == 25)) {ادامه } Serial.print (i)؛ // درجه فعلی را به پورت سریال Serial.print ("،") ارسال می کند. // کاراکتر اضافی را درست در کنار مقدار قبلی مورد نیاز بعدا در پردازش IDE برای نمایه سازی Serial.print (j) ارسال می کند. // درجه فعلی را به پورت سریال Serial.print ("*") ارسال می کند. Serial.print (-1) ؛ // مقدار فاصله را به پورت سریال Serial.print ("/") ارسال می کند. // کاراکتر اضافی را درست در کنار مقدار قبلی مورد نیاز بعداً در پردازش IDE برای نمایه سازی Serial.print (فاصله) ارسال می کند. // مقدار فاصله را به Port Port Serial.print (".") ارسال می کند؛ // نویسه اضافه را درست در کنار مقدار قبلی مورد نیاز بعداً در پردازش IDE برای نمایه سازی ارسال می کند}}}

توصیه شده: