فهرست مطالب:

فیدر پروژه: 14 مرحله
فیدر پروژه: 14 مرحله

تصویری: فیدر پروژه: 14 مرحله

تصویری: فیدر پروژه: 14 مرحله
تصویری: واقعا رفتم جزیره لختیها لخت مادرزاد شدم 2024, نوامبر
Anonim
فیدر پروژه
فیدر پروژه

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

قبل از اینکه تو شروع کنی!

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

برای شروع ، ما نیازهای ساخت این پروژه را بررسی می کنیم. شما واقعاً به مهارت ها و ابزارهای ذکر شده در زیر نیاز خواهید داشت.

مهارت های سازنده:

  • چاپ سه بعدی یا دسترسی به خدمات چاپ
  • لحیم کاری
  • دانش پایه الکترونیک

ابزارها:

  • چاپگر سه بعدی
  • آهن لحیم کاری
  • تفنگ چسب داغ یا چسب دیگری که با ترکیبات رشته ای چاپگر سه بعدی کار می کند
  • پیچ گوشتی ها

تدارکات

هزینه کل ساخت این پروژه بسته به محل خرید قطعه و نوع تخفیفی که دریافت می کنید حدود 120 یورو است.

مهم:

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

Raspberry Pi 4 مدل B / 2GB + 16GB (حداقل مورد نیاز) کارت Micro SD

موجودی رزبری پای در حال حاضر بسیار محدود است ، این امر نیاز به نگاهی به اطراف دارد.

آداپتور برق 12 ولت 60 وات

www.banggood.com/AC-100-240V-to-DC-12V-5A-…

سوکت جک منبع تغذیه 5.5 میلی متر X 2.1 میلی متر DC (منحصر به فرد)

www.banggood.com/10pcs-5_5-x-2_1mm-DC-Powe…

ماژول برق DC-DC 12V تا 5V 3A Buck Step Down (منحصر به فرد)

www.banggood.com/LM2596-DC-DC-Voltage-Regu…

موتور پله دو فاز 42 میلی متری 12 و نیما 17

www.banggood.com/42mm-12V-Nema-17-Two-Phas…

ماژول L298N Dual H Bridge

www.banggood.com/Wholesale-L298N-Dual-H-Br…

سنسور فاصله زمان GY6180 VL6180X

www.banggood.com/GY6180-VL6180X-Time-Of-Fl…

سنسور جلوگیری از مادون قرمز (x3)

www.banggood.com/3Pcs-Infrared-Obstacle-Av…

دوربین USB

www.banggood.com/Electronic-Camera-Module-…

نور پس زمینه LCD 16 × 2 ، میکروکنترلر 8051 I2C

www.hobbyelectronica.nl/product/1602-lcd-d…

تغییر سطح دو طرفه

www.banggood.com/nl/Two-Channel-IIC-I2C-Lo…

مقاومتهای معمولی (10k ، 220R ، 470R)

www.banggood.com/Wholesale-Geekcreit-600pc…

LED ها (x2)

دیودها (x2)

سوئیچ 12V روشن/خاموش (منحصر به فرد)

www.banggood.com/5pcs-12V-Round-Rocker-Tog…

آجیل: 3x8mm ، 3x10mm ، 3x12mm

مرحله 1: فلش کردن کارت SD

فلش کردن کارت SD
فلش کردن کارت SD

برای این مرحله باید کارت SD خود را با تصویر ارائه شده فلش کنید:

thomy.stackstorage.com/s/KbCfVgoU0t8gU3C

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

اگر می خواهید کد را بررسی کنید ، می توانید تمام کد مورد نیاز را از آدرس زیر دریافت کنید:

github.com/VanIseghemThomas/ProjectFeeder

مطمئن شوید که می دانید چگونه کارت SD را به درستی فلش کنید یا روند را قطع نکنید زیرا این می تواند منجر به خرابی کارت شود. برای فلش کردن کارت از نرم افزاری به نام Win32DiskManager استفاده کردم. برنامه دیگری که می دانم کار می کند و کاربر پسندتر است Ethcer نام دارد. هر دو به یک اندازه خوب کار می کنند.

مرحله 2: SSH Into the Pi

SSH Into the Pi
SSH Into the Pi

وقتی چشمک زدن تمام شد ، می توانید کارت SD را در pi قرار دهید و آن را روشن کنید. مطمئن شوید که با استفاده از کابل اترنت به pi خود وصل شده اید. اکنون باید بتوانید با استفاده از SSH با ip 169.254.10.1 به آن متصل شوید. من از برنامه ای به نام PuTTY استفاده می کنم ، اما اگر تمایلی به نصب نرم افزار ندارید ، همیشه می توانید دستور زیر را در خط فرمان تایپ کنید:

ssh [email protected]

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

  • کاربر: feederpi
  • رمز عبور: Redeef1

کاربر "pi" نیز فعال است اما نمی توانید به عنوان آن وارد سیستم شوید. این به این دلیل تنظیم شده است که به طور خودکار وارد سیستم شوید و برنامه را اجرا کنید. به همین دلیل است که هنگام ورود به سیستم با موارد زیر روبرو می شوید:

[sudo] رمز عبور برای feederpi:

کافی است crtl+c را فشار دهید تا اکنون پوسته ای داشته باشید.

حالا موارد زیر را تایپ کنید:

sudo -i

اکنون شما به عنوان root وارد سیستم شده اید.

مرحله 3: راه اندازی Wifi

راه اندازی Wifi
راه اندازی Wifi

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

wpa_passphrase "SSID شما" "رمز شما" >> /etc/wpa_supplicant/wpa_supplicant.conf

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

nano /etc/wpa_supplicant/wpa_supplicant.conf

حالا می توانید pi را با تایپ کردن مجدد راه اندازی کنید:

اکنون راه اندازی مجدد کنید

حالا به پی زمان دهید تا بوت شود و مانند قبل با SSH وارد سیستم شوید ، تا ببینید آیا به وای فای که تایپ کرده اید ارتباطی دارید یا خیر:

ip a

در زیر wlan0 interace شما باید چیزی مشابه با آدرس IP مشاهده کنید ، این بدان معناست که شما با موفقیت به وای فای خود متصل شده اید. بعداً وقتی همه چیز متصل می شود ، نرم افزار این را روی LCD نمایش می دهد.

مرحله 4: چاپ قطعات

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

www.thingiverse.com/thing:4459996

چاپ همه این قسمت ها کمی طول می کشد ، بنابراین به کمی حوصله احتیاج دارید.

این تنظیماتی است که من استفاده کردم (PLA):

  • ارتفاع لایه: 0.3 میلی متر
  • سرعت چاپ: 50-60 میلی متر بر ثانیه
  • دمای نازل: 200 درجه سانتی گراد
  • دمای تخت: 60 درجه سانتی گراد

در این مورد چیزهای زیادی برای گفتن وجود ندارد ، مگر اینکه از چاپ لذت ببرید.

مرحله 5: مونتاژ قطعات (مقدمه)

مونتاژ قطعات (مقدمه)
مونتاژ قطعات (مقدمه)
مونتاژ قطعات (مقدمه)
مونتاژ قطعات (مقدمه)

خوب حالا ما همه چیز را جمع آوری می کنیم. قبل از اینکه همه چیز را توضیح دهم ، برخی موارد را باید در نظر داشته باشم و به شما کمک می کند تا این کار را انجام دهید.

نکته 1:

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

نکته 2:

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

مرحله 6: مونتاژ قسمت بالا (توزیع کننده)

مونتاژ بالا (دیسپنسر)
مونتاژ بالا (دیسپنسر)
مونتاژ بالا (دیسپنسر)
مونتاژ بالا (دیسپنسر)
مونتاژ بالا (دیسپنسر)
مونتاژ بالا (دیسپنسر)

قطعات مانند تصویر چیده شده اند.

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

اطمینان حاصل کنید که بالای پیچ ها با سطح هم سطح است ، در غیر این صورت تغذیه مسدود می شود. برای این کار باید از پیچ های 3x8 میلی متری و مدل "Stepper_offset" بین پله و قسمت بیرونی صفحه استفاده کنید.

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

بقیه تقریباً رو به جلو هستند ، فقط در جایی که سوراخ پیدا کردید ، پیچ بزنید.

مرحله 7: مونتاژ بالا (ظرف)

مونتاژ بالا (ظرف)
مونتاژ بالا (ظرف)
مونتاژ بالا (ظرف)
مونتاژ بالا (ظرف)
مونتاژ بالا (ظرف)
مونتاژ بالا (ظرف)

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

در بالا ، می خواهید سنسور TOF را وصل کنید ، این سنسور برای اندازه گیری مقدار غذای باقی مانده در ظرف مورد استفاده قرار می گیرد. در تصاویر می بینید که چگونه آن را ضمیمه کرده ام. ابتدا سوراخ های پین ها را با آهن لحیم کاری ذوب کردم ، سپس سنسور را با مقداری چسب حرارتی در حالی که کابل ها متصل هستند ، در محل خود چسباندم.

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

مرحله 8: مونتاژ پایین

مونتاژ پایین
مونتاژ پایین
مونتاژ پایین
مونتاژ پایین
مونتاژ پایین
مونتاژ پایین

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

مرحله 9: الکترونیک ، حسگرها و محرک ها

الکترونیک ، حسگرها و محرک ها
الکترونیک ، حسگرها و محرک ها
الکترونیک ، حسگرها و محرک ها
الکترونیک ، حسگرها و محرک ها
الکترونیک ، حسگرها و محرک ها
الکترونیک ، حسگرها و محرک ها
الکترونیک ، حسگرها و محرک ها
الکترونیک ، حسگرها و محرک ها

اکنون وقت آن است که لحیم کاری را روی آن قرار دهید. من 2 مورد از آنچه شما باید انجام دهید ارائه کرده ام ، یکی شماتیک الکتریکی استاندارد ، و یک نمایش بصری. من به شدت پیشنهاد می کنم از شماتیک الکتریکی استفاده کنید زیرا بینش بیشتری در مورد نحوه کار همه چیز دارد و به نظر من به یکدیگر متصل است. تنها دلیلی که دیگری در اینجا وجود دارد ، اجباری بودن آن است. دلیل اینکه من این را می گویم این است که فضای زیادی برای کابل ها وجود ندارد ، بنابراین باید در سیم کشی GND ، +5V و غیره کارآمد باشید. این بستگی به نحوه استفاده از کابل ها دارد. بنابراین همه چیز را دقیقاً مانند یکدیگر به یکدیگر وصل نکنید ، کار می کند اما مناسب نیست.

برای سوئیچ که می توانید ببینید من هر 3 سیم را وصل کردم ، این به این دلیل است که سوئیچ دارای LED داخلی است که نشان می دهد آیا برق روشن است. 2 لید بدون رنگ به عنوان سوئیچ عمل می کنند ، سرب رنگی به GND می رود.

به طور کلی این نظمی است که من همه چیز را سیم کشی کردم:

  1. بخش قدرت: جک قدرت ، h-Bridge ، مبدل بوک بوست ، سوئیچ
  2. رزبری پای (برای اطلاعات بیشتر به مرحله بعدی مراجعه کنید)
  3. سنسورهای IR
  4. LED ها
  5. ورودی های استپر
  6. بخش I2C: 3.3V ، SDA ، SCL

داشتن یک نمونه اولیه PCB برای لحیم کاری مانند من ضروری نیست ، اما مفید است.

همچنین فراموش نکنید که دوربین را به پورت USB pi متصل کنید.

مهم:

قبل از اتصال بخش 5 ولت مدار ، مطمئن شوید مبدل بوک بوست را به 5 ولت تنظیم کنید. در غیر این صورت می توانید همه چیز را سرخ کنید. برای تنظیم این حالت ، پتانسیومتر را بچرخانید و به بازخوانی ولتاژ روی صفحه نگاه کنید.

مرحله 10: الکترونیک ، رزبری پای

الکترونیک ، رزبری پای
الکترونیک ، رزبری پای

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

برای +5V شما فقط می توانید به پین 5 ولت pi متصل شوید ، اما این ایمنی مانند فیوز را دور می زند. اگر به پایین نگاه کنید ، باید برخی از پدها را که برچسب TPxx دارند ، مشاهده کنید ، در مورد ما ما به دنبال TP1 یا TP2 هستیم. سیم 5+ ولت خود را به یکی از آنها بچسبانید اما مراقب باشید که با آثار دیگر ارتباط برقرار نکند. این به احتمال زیاد گارانتی را نیز باطل می کند. من شخصاً سعی کردم آن را به هر دو پد تست متصل کنم و به این نتیجه رسیدم که استفاده از TP2 احتمالاً ساده ترین و مطمئن ترین راه است ، دور از سایر پدهای در معرض دید و آثار زیادی در اطراف آن وجود ندارد.

برای GND فقط یکی از پین های بالا را مانند نمایش های شماتیک بگیرید ، این اکنون کاملاً خوب است.

مرحله 11: آزمایش الکترونیک

وقتی همه چیز به درستی متصل می شود ، تمرین خوب این است که ابتدا همه چیز را قبل از مونتاژ کامل همه چیز آزمایش کنید.

در اینجا یک چک لیست:

  • آدرس IPV4 در LCD نمایش داده می شود
  • امکان اتصال به IP از طریق مرورگر
  • قادر به چرخاندن پله با "تغذیه" و مشاهده چراغ LED است
  • وضعیت کانتینر خوانده و به روز می شود
  • پخش مستقیم از دوربین
  • تشخیص رویدادهای غذا خوردن

عیب یابی:

در اینجا برخی از مشکلاتی که با آنها روبرو شده ام و نحوه رفع آنها را ذکر می کنم.

- LCD من روشن می شود اما چیزی نشان نمی دهد:

1) در زمان نگارش این مطلب ، pi حدود 2 دقیقه برای بوت شدن کامل نیاز دارد ، بنابراین باید زمان بیشتری به آن بدهید.

2) شما LCD خود را به درستی وصل نکرده اید. با تایپ دستور زیر در یک پوسته می توانید ببینید آیا آن را به درستی وصل کرده اید:

sudo i2cdetect -y 1

این باید 2 آدرس را برگرداند: 0x27 (= LCD) و 0x29 (= سنسور TOF). اگر 0x27 ظاهر نمی شود ، باید سیم کشی LCD را بررسی کنید. اگر هر دو ظاهر نشدند ، باید سیم کشی پین های SDA و SCL را بررسی کنید. به عنوان مثال. بررسی کنید که آیا این دو را به طور تصادفی عوض کرده اید یا خیر. بدترین حالت این است که شما با 2 جزء فردی اشتباه کرده اید یا چیزی خراب شده است.

- LCD من در "اتصال به WiFi" گیر کرده است

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

این نرم افزار همچنین برای اتصال به شبکه های خانگی با آدرس IP تنظیم شده است که با "192.168" شروع می شود. اگر شبکه شما با محدوده خصوصی دیگری مانند "10.0" یا "172.16" راه اندازی شده است ، باید به آدرس /home/pi/project/main.py بروید و در تابع get_ips () change: اگر "192.168" در ip اگر "محدوده خصوصی شما اینجاست" در ip.

- LCD من ip را نمایش می دهد اما نمی توانم وصل کنم:

1) مطمئن شوید که به ip 192.168. X. X متصل می شوید ، ip دیگر 169.254.10.1 همیشه پیکربندی شده است تا از طریق اترنت مستقیماً به رایانه شما متصل شود. اگر به برق متصل نباشید این کار نمی کند.

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

- پله تکان می خورد و نمی چرخد:

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

مرحله 12: تکمیل

تکمیل
تکمیل
تکمیل
تکمیل
تکمیل
تکمیل
تکمیل
تکمیل

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

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

مرحله 13: اضافی: افزونه Chrome

اضافی: افزونه Chrome
اضافی: افزونه Chrome
اضافی: افزونه Chrome
اضافی: افزونه Chrome
اضافی: افزونه Chrome
اضافی: افزونه Chrome

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

ابتدا مطمئن شوید که پوشه Feeder Extension را از فهرست github بارگیری کرده اید:

github.com/VanIseghemThomas/ProjectFeeder

به آدرس زیر بروید:

chrome: // extensions/

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

اگر در نوار Chrome شما ظاهر نمی شود ، می توانید آن را در منوی Chrome پیدا کنید.

مرحله 14: نرم افزار

نرم افزار
نرم افزار

اگر دوست دارید با نرم افزار کار کنید یا به دلایلی به یک نسخه جدید از یک فایل نیاز دارید ، تمام فایل های مورد نیاز شما در مخزن GitHub که من تهیه کرده ام یافت می شود:

من همچنین یک طرح EER برای پایگاه داده ارائه دادم ، در صورتی که تمایل دارید ویژگی هایی را به API اضافه کنید. یک مخزن پایگاه داده را می توانید در مخزن GitHub نیز پیدا کنید. تمام کد های پشتیبان در پایتون نوشته شده است. Flask برای مسیریابی و Socket.io برای شبکه های وب استفاده می شود.

توصیه شده: