Mundarija:

Uy hayvonlari uchun IoT davolash dispenseri: 7 qadam (rasmlar bilan)
Uy hayvonlari uchun IoT davolash dispenseri: 7 qadam (rasmlar bilan)

Video: Uy hayvonlari uchun IoT davolash dispenseri: 7 qadam (rasmlar bilan)

Video: Uy hayvonlari uchun IoT davolash dispenseri: 7 qadam (rasmlar bilan)
Video: O'Z EGASINI VAXSHIYLARCHA O'LDIRGAN UY HAYVONLARI // VAXSHIY HAYVONLAR 2024, Noyabr
Anonim
Image
Image
Uy hayvonlari uchun IoT davolash dispenseri
Uy hayvonlari uchun IoT davolash dispenseri

Mening ikkita mushukim bor va ularga kuniga taxminan 3 marta shirinliklar berish juda noqulay bo'lib qoldi. Ular menga yoqimli yuzlari va qattiq nigohlari bilan qarashar, keyin mushuk ko'katlari to'la qutiga yugurib, miyovlab, yolvorardilar. Men etarli deb qaror qildim. Mushukga bir nechta shirinliklar berish uchun endi turish kerak emas. Endi shirinlik tarqatish mashinasi vaqti keldi, chunki "Dasturchilar oddiy ishlarni kamroq bajarish uchun murakkab narsalarni yaratish uchun mavjud", deganlaridek.

DFRobot ushbu loyihaga homiylik qildi.

Qismlar ro'yxati:

  • DFRobot Raspberry Pi 3
  • DFRobot Raspberry Pi kamera moduli
  • Planet tishli DFRobot qadam dvigateli
  • I2C LCD 16x2
  • Barrel Jek terminalga
  • DRV8825 qadamli dvigatel uchun haydovchi
  • Kondensator 100 mF
  • Arduino UNO va Genuino UNO
  • Jumper simlari (umumiy)

1 -qadam: Dizayn yaratish

Dizayn yaratish
Dizayn yaratish

Birinchidan, mening yangi o'ylangan mashinamni qanday boshqarishni tanlash. Bluetooth -ning masofasi juda qisqa bo'lardi, hech qanday to'siqsiz, atigi 30 fut. Bu ma'lumot bilan men Wi -Fi -dan foydalanishni tanladim. Ammo endi, mashinani boshqarish uchun WiFi -dan qanday foydalanishim mumkin? Raspberry Pi 3 Wi -Fi -ni o'z ichiga oladi, bu menga veb -sahifani joylashtirish uchun Flask -dan foydalanishga imkon beradi. Keyingi o'rindiqning mavzusi va taomlarni qanday tarqatish kerak edi. Men aylanadigan g'ildirak dizayniga qaror qildim, u erda taomlar kichik bo'laklarga bo'linib, aylantiriladi, so'ngra taomlar rampaga tushib mashinaning old tomoniga o'tadi.

2 -qadam: Fusion 360 modelini yaratish

Fusion 360 modelini yaratish
Fusion 360 modelini yaratish
Fusion 360 modelini yaratish
Fusion 360 modelini yaratish
Fusion 360 modelini yaratish
Fusion 360 modelini yaratish

Men taom qutisi uchun asosiy modelni yaratishni boshladim. Shirinliklar mini-hopperga tushadi, keyin ular aylanadigan g'ildirakka joylashtiriladi.

Keyin men Raspberry Pi 3 ni Fusion dizayniga, boshqa elektronika bilan bir qatorda LCD va Raspberry Pi kamera modulini qo'shdim. Men, shuningdek, qo'shimcha taomlarni saqlashi mumkin bo'lgan huni yasadim.

Ovqatlanish dispenserining devorlari CNC routerda 1/4 dyuymli kontrplakdan kesilishi kerak. Unda 7 ta bo'lak, 4 ta devor, pol va tepa va qopqoq bo'laklari bor, ular taomlarni ochib yopishi mumkin.

Oxir -oqibat, men qopqoqni ochish uchun "chiroyli" tutqich yaratdim.

3 -qadam: Pi -ni sozlash

DFRobot menga murojaat qilib, Raspberry Pi 3 va Raspberry Pi kamera modullarini yubordi. Men qutilarni ochganimdan so'ng, men SD -kartani o'rnatish orqali ishlashga to'g'ri keldim. Birinchidan, men Raspberry Pi Downloads sahifasiga kirib, Raspbian -ning eng so'nggi versiyasini yukladim. Keyin men faylni chiqarib tashladim va uni qulay katalogga joylashtirdim. Siz SD kartaga.img faylini nusxa ko'chira olmaysiz, uni kartaga "yozib" qo'yishingiz kerak. Siz OS tasvirini osongina o'tkazish uchun Etcher.io kabi yonayotgan yordam dasturini yuklab olishingiz mumkin. SD kartamda.img fayli bo'lganidan so'ng, men uni Raspberry Pi -ga joylashtirdim va unga quvvat berdim. Taxminan 50 soniyadan so'ng men simni ajratdim va SD -kartani chiqarib tashladim. Keyin men SD -kartani kompyuterga qo'ydim va "yuklash" katalogiga o'tdim. Men Notepad -ni ochdim va NO kengaytmasi bo'lgan "ssh" nomli bo'sh fayl sifatida saqladim. Menda "wpa_supplicant.conf" deb nomlangan fayl ham bor edi va unga bu matnni qo'ydim: tarmoq = {ssid = psk =} Keyin men kartani saqladim va chiqarib, Raspberry Pi 3 ga qo'ydim. SSH -dan foydalanish va WiFi -ga ulanish.

4 -qadam: dasturiy ta'minotni o'rnatish

VLC va harakat kabi videoni uzatadigan bir nechta dasturlar mavjud, lekin men kechikish va o'rnatishning osonligi tufayli mjpeg-streamerdan foydalanishga qaror qildim. Saytdagi ko'rsatmalarga binoan: git clone https://github.com/jacksonliam/mjpg-streamer.git papkaga kiriting, so'ngra yozing: sudo apt-get install cmake libjpeg8-dev Kerakli kutubxonalarni o'rnatish uchun. Katalogingizni yuklagan papkaga o'zgartiring va yozing: make Followed by: sudo make install Dasturiy ta'minotni kompilyatsiya qilish uchun. Nihoyat kiriting: LD_LIBRARY_PATH = eksport qiling. Va uni ishga tushirish uchun quyidagini kiriting:./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so" Siz oqimga quyidagi manzil orqali kirishingiz mumkin: https:// Pi ning mahalliy ip: 8080/oqimi. html Oqimni ko'rish uchun.

5 -qadam: Veb -serverni sozlash

Mashinani tashqi Wi -Fi orqali boshqarish uchun menga veb -server kerak edi. Veb -server, odatda, brauzer tomonidan so'ralganda, veb -sahifalarga xizmat ko'rsatadi. Men Apache -ni stoldan olib tashlab, sozlash va ishlatishni tez va sodda qilishni xohlardim. Men Python bilan Arduino Uno -ni boshqarish uchun Python -ni ishlatishni xohlardim. Oxir -oqibat, bu izlanish meni Flask -ga, Python -ning yaxshi kutubxonasiga olib keldi, bu foydalanuvchilarga tezda veb -server yaratishga imkon beradi. To'liq kod loyiha sahifasiga biriktirilgan. Python skripti asosan 2 ta veb -sahifani o'rnatadi, ulardan biri "/" ildiz katalogida, ikkinchisi "/tarqatish" da joylashgan. Indeks sahifasida HTML shakli mavjud bo'lib, u yuborilganda tarqatish sahifasiga post so'rovini yuboradi. Tarqatish sahifasi post qiymatining to'g'riligini tekshiradi va "D / n" xabari ketma -ket Arduino Uno -ga yuboriladi.

6 -qadam: IOni nazorat qilish

IOni nazorat qilish
IOni nazorat qilish
IOni nazorat qilish
IOni nazorat qilish
IOni nazorat qilish
IOni nazorat qilish
IOni nazorat qilish
IOni nazorat qilish

Men qadam dvigatelini haydash uchun DRV8825 -dan foydalanishga qaror qildim, chunki buning uchun faqat 2 ta IO piniga ehtiyoj bor edi, shu bilan birga sozlanishi oqim cheklovchisiga ega bo'ldim. Men L293D dan foydalanishga harakat qildim, lekin u step motorining yukini ko'tarolmadi. DRV8825 STEP pinini PWM orqali, yo'nalish esa DIR pinini yuqoriga yoki pastga tortish orqali boshqariladi. Men foydalanadigan qadam dvigatelida 1,2 amperlik kuchlanish bor, shuning uchun men VREF kuchlanishini.6V ga sozladim. Keyingisi LCD edi. Men kerakli IO miqdorini kamaytirish va kodni soddalashtirish uchun I2C dan foydalanmoqchi edim. Kutubxonani o'rnatish uchun "LiquidCrystal_I2C" ni qidiring va o'rnating. Nihoyat, Arduino Uno ketma -ket buferda yangi ma'lumotlarni tekshiradi va agar u "D" ga mos kelsa. Agar shunday bo'lsa, Uno qadam tashuvchi dvigatelni 180 gradusga, keyin esa -72 darajaga siljishiga olib keladi.

Tavsiya: