Mundarija:

Tovuqni avtomatik oziqlantiruvchi: 11 qadam
Tovuqni avtomatik oziqlantiruvchi: 11 qadam

Video: Tovuqni avtomatik oziqlantiruvchi: 11 qadam

Video: Tovuqni avtomatik oziqlantiruvchi: 11 qadam
Video: Автоматическая кормушка для кошек и собак. Автокормушка Automatic Pet Feeder 4PLDH5001 с таймером. 2024, Iyul
Anonim
Tovuqni avtomatik oziqlantiruvchi
Tovuqni avtomatik oziqlantiruvchi

Balki sizda shunday tuyg'u bor edi, siz o'z ishingizga ketayotgandirsiz, keyin tovuqlaringizga qanday nonushta qilishni unutganingiz haqida o'ylaysiz. O'ylaymanki, siz tovuqni avtomatik oziqlantiruvchi vositadan foydalanishingiz mumkin! Ushbu IOT-qurilmasi yordamida sizning tovuqlaringiz har doim o'z vaqtida nonushta qilishadi!

Bu ajoyib narsani qurishni boshlashdan oldin, avval o'zimni tanishtiraman. Men Bertil Vandekerxoveman (bu g'alati ism, bilaman, lekin faqat Google Tarjimonini tinglang. Bu vazifani deyarli mukammal bajaradi) va men Howest NMCTni o'rganayotgan talabaman! Bu ko'rsatma-bu mening birinchi yillik yakuniy loyihamni qanday qurishim bo'yicha bosqichma-bosqich ko'rsatma. Umid qilamanki, sizga yoqadi va boshlaylik!

1 -qadam: Kerakli materiallarni olish

Kerakli materiallarni olish
Kerakli materiallarni olish

Yuqoridagi ro'yxatda siz ushbu loyiha uchun zarur bo'lgan barcha materiallarni ko'rishingiz mumkin.

2 -qadam: korpusni qurish

Qoplamani qurish
Qoplamani qurish
Qoplamani qurish
Qoplamani qurish
Qoplamani qurish
Qoplamani qurish
Qoplamani qurish
Qoplamani qurish

Korpusni qurishdan oldin, biz uni qurish uchun material olishimiz kerak. Men 8 mm MDFdan foydalanaman, chunki u juda arzon va ulardan foydalanish oson. Agar siz uni qayta tiklamoqchi bo'lsangiz, xohlagan yog'och turini tanlashingiz yoki hatto metalldan yasashingiz mumkin. Yog'ochning qalinligi uchun o'lchovlar to'g'ri ekanligiga ishonch hosil qiling.

Sizga kerak bo'lgan yog'och choyshablar (sm):

  • 2 x (100, 8 x 44, 6) - yon panellar
  • 1 x (50, 8 x 100) - orqa panel
  • 1 x (50 x 80) - old panel
  • 1 x (50 x 40) - ichki old panel
  • 1 x (51, 6 x 50) - yuqori panel
  • 2 x (3,6 x 8) - kichikroq yon panellar
  • 1 x (8 x 51, 6) - kichikroq old panel
  • 1 x (11, 4 x 49, 8) - shkala uchun taxta
  • 1 x (50 x 20) - raf uchun old panel
  • 2 x (50 x 25) - huni
  • 2 x (30 x 35) - huni
  • 1 x (50 x 38) - raf uchun yuqori panel
  • 1 x (18 x 5) - dvigatel uchun raf

Va keyin oziq -ovqat slaydlari uchun bizga kerak bo'ladi (sm):

  • 1 x (30 x 16)
  • 2 x (20 x 16)
  • 1 x (30 x 21, 6)

Biz yon panellardan boshlaymiz, har bir panelga ikkita yordam blokini biriktiramiz. Panelning yuqori qismida siz yordam blokini yon tomondan 13 sm, pastda esa yon tomondan 8 sm masofada joylashtirasiz. Buni boshqa yon panel uchun takrorlang

Shundan so'ng, orqa panelni oling va to'rt burchakda yordam blokini qo'shing.

Endi yon panellar va orqa panelni oling va ularni 3, 5 mm vintlar bilan burab qo'ying, shundan so'ng pastki panelning yordam paneli yordamida javon panellarini burab qo'ying. Keyin ichki old panelni oling va uni yuqori yordam bloklariga burab qo'ying. Agar siz hamma narsani to'g'ri qilsangiz, u 3 -rasmga o'xshaydi.

Shundan so'ng, biz oziq -ovqat uchun huni qilamiz. To'g'ri panellarni oling va ularni uchburchak shaklida ko'ring, 50x25 panellar 50x24 va 30x35 panellar 30x32 uchburchaklar bo'lishi kerak. Uchburchaklar nuqta bilan emas, balki tomoni 2 sm bo'lganligiga ishonch hosil qiling.

Huni qilish uchun bo'laklarni bir -birining yoniga qo'ying va ularni yopishqoq lenta bilan ushlab turing.

Voronkaga mahkamlash uchun, 7 -rasmda ko'rsatilgandek, yuqoridan 22 sm balandlikdagi ichki qismidagi yordamchi bloklarni ulang. Shundan so'ng, voronkani joyiga tushiring va yordam bloklariga burab qo'ying. Siz bo'shliqlarni yopishqoq lenta bilan to'ldirishingiz mumkin.

Keyin siz dvigatel tokchasini, pvc trubkasini va dvigatelni olasiz. Pvc quvurining teshikini voronka ostiga joylashtiring va uni tokchaga qisqichlar bilan mahkamlang, dvigatel uchun ham xuddi shunday qiling. Shundan so'ng, javonni orqa panelga ulash uchun yordamchi bloklardan foydalaning.

Shundan so'ng, oziq -ovqat mahsulotlarini siljitish uchun panellarni oling va uning orqa panelini dvigatel tokchasiga, pastki plastinani esa korpusga mahkamlang.

Endi old panelni olib, uni mahkamlagichga mahkamlang va magnit qulfni o'rnating, yuqori panel uchun ham shunday qiling.

3 -qadam: o'lchovni tuzing

O'lchovni tuzing
O'lchovni tuzing
O'lchovni tuzing
O'lchovni tuzing

Oziq -ovqat mahsulotida qancha oziq -ovqat qolganligini o'lchash uchun bizga yuk kamerasidan yasalgan tarozi kerak. Yuk xujayrasini oling va uni yog'ochdan yasalgan bo'lakka burang, so'ngra tarozi taxtasini oling va uni murvat va yong'oq yordamida yuk kamerasining boshqa tomoniga mahkamlang. Uning markazlashtirilgan va tekislanganligiga ishonch hosil qiling. Shundan so'ng, tarozini korpusga joylashtiring va uning atrofidagi kichikroq yon va old panellardan foydalaning.

4 -qadam: Raspberry PI (RPi) ni sozlash

Rpi -dan foydalanish uchun sizga RPi uchun OS kerak bo'ladi, men Rapsbian -dan foydalanishni tanladim. Faylni veb-saytdan yuklab oling va SD-kartaga yuklash uchun Etcher-dan foydalaning. Bu bajarilgandan so'ng, SC-kartaga o'ting va "cmdline.txt" faylini qidiring va satr oxiriga "ip = 169.254.10.1" qo'shing. Keyin Putty-dan foydalanib, Xost nomidagi Putty-ga 169.254.10.1 kiriting va Ochish-ni bosing. RPi -ni birinchi marta yuklaganingizda, siz keyingi hisob ma'lumotlari bilan tizimga kirishingiz kerak bo'ladi: foydalanuvchi nomi = pi va parol = malina.

Uy tarmog'iga ulanish uchun siz quyidagi kodni kiritishingiz kerak:

sudo -i

echo "parol" | wpa_passphrase "SSID" >> /etc/wpa_supplicant/wpa_supplicant.conf

Sudo nano /etc/wpa_supplicant/wpa_supplicant.conf buyrug'ini kiriting va u erda tarmog'ingiz borligini tekshiring.

sudo wpa_cli

wlan0 interfeysi

skanerlash

qayta sozlamoq

Wpa_cli -ni o'chirish yoki Ctrl+D bilan yoping.

IP-manzilingiz borligini tekshiring:

ip addr shou dev wlan0

Ulanishni yakunlash uchun quyidagilarni tekshiring:

wget google.com

5 -qadam: O'chirish sxemasini tuzish

O'chirish
O'chirish
O'chirish
O'chirish

Yuqoridagi rasmlarda siz bosma taxtalarning joylashishini ko'rishingiz mumkin, ularni bajarayotganda hech narsani qisqartirmasligingizga ishonch hosil qiling. Men T-poshnali, DRV8825 va HX711-ni ayollar sarlavhalariga qo'yishni tanladim, agar kerak bo'lsa, ularni almashtirish mumkin, lekin buni qilish shart emas.

6 -qadam: HX711

HX711
HX711

Yuk xujayrasini o'lchash uchun siz vazn sensori ishlatishingiz kerak. Men HX711 dan foydalanaman.

HX711 uchun ulanishlar:

  • E+: qizil sim.
  • E-: qora sim.
  • A+: oq sim.
  • A-: yashil sim.
  • VCC: 5V.
  • SCK: GPIO22.
  • Tugatish: GPIO23.
  • GND: GND.

Hamma narsani ulab bo'lgach, avval siz o'lchovni sozlashingiz kerak bo'ladi. HX711 sinfidan va keyin quyidagi koddan foydalaning:

hx = HX711 (23, 24) hx.set_reading_format ("LSB", "MSB") #hx.set_reference_unit (327) -> bu izohda bo'lishi kerak hx.reset () hx.tare () val = hx.get_weight (5) uxlash (0,5) hx.power_down () hx.power_up () chop etish (val)

Endi kodni ishga tushiring va shkalada biror narsani joylashtiring. Uning aniq vaznini bilishingizga ishonch hosil qiling. 20 ga yaqin qiymatga ega bo'lguncha kuting, so'ngra uning o'rtacha qiymatini oling. Keyin siz bu raqamni ishlatilgan narsaning og'irligiga bo'lasiz. Endi bu raqamni hx.set_reference_unit (raqam) ga to'ldiring va sharhni qoldiring. Turli ob'ektni o'lchovga qo'yib, uni sinab ko'ring.

7 -qadam: Step motor

Bosqichli motor
Bosqichli motor

Shubhasiz, butun tizimni ishlashi uchun bizga elektronika kerak. Bosqichli motorni boshqarish uchun bizga qadam haydovchi kerak, men DRV8825 ni tanladim.

DRV8825 ga ulanish:

  • VMOT: +12V (shahar-shahar konvertoridan keladi).
  • GND: GND (DC-DC-konvertoridan keladi).

Bu ikkita kondansatör o'rtasida ishonch hosil qiling.

  • 2B: qizil qadamli sim.
  • 2A: ko'k qadamli sim.
  • 1B: qora qadamli sim.
  • 1A: yashil qadamli sim.
  • XATO: Siz uni simsiz qoldirishingiz mumkin, lekin uni 5V ga osib qo'yishingiz mumkin.
  • GND: GDN (Raspberry PI (RPi) dan keladi).
  • YOQISH: sim kerak emas.
  • MS1-MS2-MS3: sim kerak emas.
  • SIFIRLASH - UHLASH: bir -biriga, so'ngra 3, 3V ga ulang.
  • QADAM: GPIO20.
  • DIR: GPIO21.

Hammasini biriktirishdan oldin, VMOT+GND, GND ni Rpi, RESET-SLEEP va STEP-DIR-ga ulang. Biz birinchi navbatda step drayveri uchun Vref -ni o'rnatishimiz kerak. Vref, step motoriga kerak bo'lgan oqimning yarmi bo'lishi kerak. Bu dvigatel uchun u 600 mV atrofida, kuchlanishni va kichik vintni o'lchab, 600 mV atrofida bo'lguncha aylantiring. Shundan so'ng siz boshqa simlarni ulashingiz mumkin.

8 -qadam: 3D bosma turbinasi

3D bosma turbinasi
3D bosma turbinasi

Ovqatni suv omboridan oziqlanadigan joyga surish uchun sizga bu turbina kerak bo'ladi. 3D -printerga ulanmagan odamlar uchun siz har doim 3D -uyadan foydalanishingiz mumkin -> HUB

9 -qadam: MySQL -ni o'rnatish

Ma'lumotlarni tizimdan saqlash uchun unga ma'lumotlar bazasi o'rnatilgan. Ma'lumotlar bazasi ishlashiga ruxsat berish uchun avval MySQL -ni RPi -ga o'rnatishimiz kerak.

Putty ulanishida quyidagi buyruqlarni kiriting:

sudo apt yangilash

sudo apt install -y python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3

MariaDB bilan ishlayotganingizni tekshiring:

sudo systemctl status mysql

Shundan so'ng, biz quyidagi buyruqlar bilan ma'lumotlar bazamizga bir nechta foydalanuvchi yaratmoqchimiz:

CREATE USER 'project-admin'@'localhost' 'adminpassword' tomonidan aniqlanadi;

CREATE USER 'project-web'@'localhost' IDENTIFIED 'webpassword';

DATABASE loyihasini yaratish;

Loyihadagi barcha imtiyozlarni bering.* 'Loyiha-admin'@'localhost' ga GRANT VARSANI BILAN;

GRANT SELECT, INSERT, UPDATE, O'CHIRISH.* TO 'project-web'@'localhost';

UPDATE mysql.user SET Super_Priv = 'Y' WHERE user = 'project-web' AND host = '%';

YUQARISH IMKONIYATLARI;

Endi ma'lumotlar bazasi mavjud, biz ma'lumotlar bazasini kerakli jadvallar va saqlangan protseduralar bilan to'ldirishimiz mumkin.

Birinchi tur:

sudo -i

undan keyin:

mariadb

shundan so'ng, Projectdb.sql -dagi kodni mariadb -ga ko'chiring.

Agar bu ishlayotgan bo'lsa, siz boshqa uchta.sql fayllari uchun ham xuddi shunday qilasiz va siz:

YUQARISH IMKONIYATLARI;

Agar hamma narsa to'g'ri ketsa, ma'lumotlar bazasi endi ishga tayyor!

PS: Agar biror narsa ishlamasa, esda tuting … Google sizning do'stingiz;-)!

10 -qadam: Kodni o'rnatish

Endi biz nihoyat kodni RPi -ga o'rnatishimiz, kodni github -dan yuklab olishimiz va Pycharm yordamida RPi -ga o'rnatishimiz mumkin. Buni qanday qilish kerakligi haqida yaxshi qo'llanmani bu erda topishingiz mumkin -> o'quv qo'llanma.

Kodni bu yerdan oling: Kod

11 -qadam: Qanday foydalanish kerak

  1. Ikkita vilkasini ulang.
  2. Veb -server ishga tushguncha biroz kuting.
  3. Brauzerga RPi IP -ni kiriting.
  4. "Uy" ekranida siz o'lchangan taomlar jadvalini ko'rishingiz mumkin.
  5. "Ovqatlanish vaqti" ekranida siz ovqatlanish vaqtini belgilashingiz mumkin.
  6. "Tarix" sahifasida siz depozitlar tarixini ko'rishingiz mumkin.

Tavsiya: