Mündəricat:

Layihə qidalandırıcı: 14 addım
Layihə qidalandırıcı: 14 addım

Video: Layihə qidalandırıcı: 14 addım

Video: Layihə qidalandırıcı: 14 addım
Video: Yerin 12 000 metr dərinliyinə kamera göndərildi - Cəhənnəmdən səslər gəldi 2024, Noyabr
Anonim
Layihə qidalandırıcı
Layihə qidalandırıcı

Evdən kənarda və ya divanınızın rahatlığından ev heyvanlarınızı qidalandırmaq istərdinizmi? Əgər belədirsə, bu layihə sizin üçündür! Project Feeder, ev heyvanlarınızı telefonunuzdan və ya kompüterinizdən avtomatik və ya əl ilə qidalandırmağa imkan verən açıq mənbə layihəsidir. Ayrıca canlı yayım izləyə və ev heyvanınızın yemək davranışını izləyə bilərsiniz.

Başlamazdan əvvəl!

Bu layihə kollec üçün hazırlanmış və vaxt məhdudiyyətli bir işdir, buna görə çox "davam edən işlər" dir. Bu səbəbdən gələcəkdə təkmilləşdirilə bilən və yenilənə biləcək şeylərin olduğunu bilirəm. Yaradıcı olmağı, bu konsepsiyanı inkişaf etdirməyi və genişləndirməyi məsləhət görürəm.

Başlamaq üçün bu layihəni qurmaq üçün tələbləri nəzərdən keçirəcəyik. Aşağıda sadalanan bacarıq və vasitələrə həqiqətən ehtiyacınız olacaq.

İstehsalçı bacarıqları:

  • 3D çap və ya çap xidmətinə giriş
  • Lehimləmə
  • Əsas elektronika bilikləri

Alətlər:

  • 3D printer
  • Lehimleme dəmir
  • İsti yapışqan tabancası və ya 3D çaplı filament birləşmələri işləyən digər yapışqan
  • Tornavidalar

Təchizat

Parçanı haradan satın aldığınızdan və hansı endirimlər əldə etməyinizdən asılı olaraq bu layihənin inşasının ümumi dəyəri təxminən 120 avrodur.

Vacib:

Bəzi hissələr "Unikal" ilə işarələnmişdir, bu, binanın struktur dizaynına xasdır və bu hissənin dəqiq surətinə ehtiyacınız var.

Raspberry Pi 4 Model B / 2GB + 16GB (minimum tələb) Micro SD kart

Rasberry Pi -nin səhmləri hazırda çox məhduddur, buna görə ətrafa baxmaq lazımdır.

12V 60W güc təchizatı adapteri

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

5.5mm X 2.1mm DC Güc Təchizatı Jack Soketi (Unikal)

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

DC-DC 12V-dən 5V 3A-a qədər aşağıya endirmə güc modulu (unikal)

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

42 mm 12V Nema 17 İki Fazlı Step Motor

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

L298N İkili H Körpü Modulu

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

GY6180 VL6180X Uçuş Məsafəsi Sensoru

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

İnfraqırmızı maneələrdən qaçınma sensoru (x3)

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

USB kamera

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

Arxa işıq 16 × 2 LCD, 8051 mikro nəzarətçi I2C

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

İki yönlü səviyyə dəyişdiricisi

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

Ümumi dəyər rezistorları (10k, 220R, 470R)

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

LED -lər (x2)

Diodlar (x2)

12V ON/OFF açarı (unikal)

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

Somunlar: 3x8mm, 3x10mm, 3x12mm

Addım 1: SD kartın yanıb sönməsi

SD Kartın yanıb sönməsi
SD Kartın yanıb sönməsi

Bu addımı yerinə yetirmək üçün SD kartınızı təqdim olunan şəklə əlavə etməlisiniz:

thomy.stackstorage.com/s/KbCfVgoU0t8gU3C

Şəkil, qidalandırıcı ilə əlaqə qurmaq üçün əvvəlcədən qurulmuş bir apache veb serveri, verilənlər bazası və kodla təchiz olunmuşdur. Buna görə də proqramın qurulmasını nəzərdə tutan bir şey etmək lazım deyil.

Kodu nəzərdən keçirmək istəyirsinizsə, bütün lazımi kodu əldə edə bilərsiniz:

github.com/VanIseghemThomas/ProjectFeeder

SD kartı necə düzgün bir şəkildə yandıracağınızı və ya prosesi pozmamağı bildiyinizə əmin olun, çünki bu, kartın zədələnməsinə səbəb ola bilər. Kartı yandırmaq üçün Win32DiskManager adlı proqramdan istifadə etdim. Bildiyim başqa bir proqram işləyir və bir az daha istifadəçi dostudur Ethcer adlanır. Hər ikisi də eyni dərəcədə yaxşı işləyir.

Addım 2: Pi -yə SSH daxil edin

Pi -yə SSH
Pi -yə SSH

Yanıp sönmə tamamlandıqda, indi SD kartı pi -yə qoyub yandıra bilərsiniz. Ethernet kabelindən istifadə edərək pi -yə qoşulduğunuzdan əmin olun. İndi ip 169.254.10.1 ilə SSH istifadə edərək ona qoşula bilməlisiniz. PuTTY adlı bir proqramdan istifadə edirəm, amma proqram qurmaq istəmirsinizsə, həmişə aşağıdakı əmri əmr satırına yaza bilərsiniz:

ssh [email protected]

İndi bir sessiya açın. İlk dəfə qoşulduqda bir xəbərdarlıqla qarşılaşacaqsınız, buna məhəl qoymayıb davam edə bilərsiniz. İstifadəçi olaraq daxil olmağınız xahiş olunacaq və bundan sonra parol üçün bu şəkil üçün aşağıdakı etimadnaməni istifadə edin:

  • İstifadəçi: feederpi
  • Şifrə: Redeef1

'Pi' istifadəçisi də aktivdir, ancaq olduğu kimi daxil ola bilməyəcəksiniz. Bunun səbəbi, avtomatik olaraq işə giriş və proqramı işə salmaqdır. Bu səbəbdən daxil olarkən aşağıdakılarla qarşılaşacaqsınız:

feederpi üçün [sudo] şifrəsi:

Yalnız crtl+c düyməsini basın və indi bir qabığa sahib olmalısınız.

İndi aşağıdakıları yazın:

sudo -i

İndi kök olaraq daxil olmusunuz.

Addım 3: Wifi qurmaq

Wifi qurulur
Wifi qurulur

İndi kök olaraq daxil oldunuz və yaza bilərsiniz:

wpa_passphrase "SSID -iniz" "Parolunuz" >> /etc/wpa_supplicant/wpa_supplicant.conf

Konfiqurasiyanızın düzgün əlavə olunduğunu yoxlamaq üçün aşağıdakıları yazın. İstəyirsinizsə, təhlükəsizlik üçün düz mətn parolunu da silə bilərsiniz, ancaq çıxdıqda dəyişiklikləri saxladığınızdan əmin olun.

nano /etc/wpa_supplicant/wpa_supplicant.conf

İndi yazaraq pi -ni yenidən başladın:

yenidən başlatmaq

İndi yazdığınız wifi ilə əlaqənizin olub olmadığını öyrənmək üçün əvvəllər olduğu kimi SSH ilə yenidən açılmaq və yenidən daxil olmaq üçün bir az vaxt verin:

ip a

Wlan0 interfeysi altında bir ip ünvanı ilə oxşar bir şey görməlisiniz, bu, wifi-yə uğurla qoşulduğunuz deməkdir. Daha sonra hər şey bağlandıqda, proqram bunu LCD -də göstərəcək.

Addım 4: Parçaları çap edin

Bu layihə üçün lazım olan hissələri burada tapa bilərsiniz:

www.thingiverse.com/thing:4459996

Bütün bu hissələri çap etmək bir az vaxt aparacaq, buna görə bir az səbr etməlisiniz.

İstifadə etdiyim parametrlər (PLA) bunlardır:

  • Lay hündürlüyü: 0.3 mm
  • Çap sürəti: 50-60 mm/s
  • Burun istiliyi: 200 ° C
  • Yataq temperaturu: 60 ° C

Bu barədə əyləncəli çapdan başqa çox şey yoxdur.

Addım 5: Parçaların montajı (giriş)

Parçaların montajı (giriş)
Parçaların montajı (giriş)
Parçaların montajı (giriş)
Parçaların montajı (giriş)

Yaxşı, indi hər şeyi yığmağa davam edirik. Hamısını izah etməzdən əvvəl, yadda saxlamalı olduğum bəzi şeyləri nəzərdən keçirəcəyəm və bu, bunu etməyinizə kömək edəcək.

İPUCU 1:

3 mm -dən başqa bütün delikləri boltlar kimi 2,5 mm etmək qərarına gəldim. Bu, boltları vidalayaraq bir ipə toxuna biləcəyiniz və qoz -fındıq ehtiyacını aradan qaldıracağınızdır. Civata daxil olmaq olduqca çətindir, üstü genişləndirmək üçün lehimləmə dəmirindən istifadə edin, bu boltun daxil olmasını və vidalamağa başlamasını asanlaşdıracaq.

İPUCU 2:

Mənim kimi boltlar tükənirsə, yalnız diaqonal cütlərə vidalayın. Bu, bir çoxlarını xilas edir və yaxşı işləyir.

Addım 6: Üst hissənin (dispenserin) yığılması

Üstün yığılması (dispenser)
Üstün yığılması (dispenser)
Üstün yığılması (dispenser)
Üstün yığılması (dispenser)
Üstün yığılması (dispenser)
Üstün yığılması (dispenser)

Parçalar şəkildəki kimi düzülmüşdür.

Sözdə "lövhə" lərlə bir yerdə tutulurlar. Plitələrdən biri step motorunuza yığılır.

Boltların üst hissəsinin səthlə üst -üstə düşdüyünə əmin olun, əks halda qidalanma bağlanacaq. Bunun üçün 3x8 mm boltlardan istifadə etməlisiniz və "Stepper_offset" modeli, step ilə boşqabın xarici tərəfi arasında.

İndi dəyirmanı stepperə qoyun, bu olduqca asan davam etməlidir. Əks təqdirdə, bir az vazelin istifadə edə bilərsiniz.

Qalanları olduqca düzdür, yalnız bir çuxur tapdığınız bir vida götürün.

Addım 7: Üstün (Konteyner) yığılması

Üstün yığılması (Konteyner)
Üstün yığılması (Konteyner)
Üstün yığılması (Konteyner)
Üstün yığılması (Konteyner)
Üstün yığılması (Konteyner)
Üstün yığılması (Konteyner)

Burada qabımı necə hazırladığımı görürsünüz. Kutu orijinal olaraq qurudulmuş birləşmələr üçün istifadə olunur.

Yuxarıda, TOF sensorunu bağlamaq istəyirsən, bu konteynerdə nə qədər qida qaldığını ölçmək üçün istifadə olunacaq. Şəkillərdə onu necə bağladığımı görə bilərsiniz. Əvvəlcə lehimləmə dəmirimlə sancaqlar üçün delikləri əridim, sonra kabelləri bağlayarkən sensoru bir az isti yapışqanla yapışdırdım.

Konteynerin bağlanması üçün lehimləmə dəmirimlə 2 delik açdım və 2 boltla vidaladım. Bu şəkildə bağlamaq üçün bir rezin bant, fermuar və ya tel istifadə edilə bilər.

Addım 8: Dibinin montajı

Altın montajı
Altın montajı
Altın montajı
Altın montajı
Altın montajı
Altın montajı

Fərqli modulların yerləşdirilməsi üçün şəkillərə istinad etmək kifayətdir. Bu şəkillərin bir hissəsində artıq tellər var, bunun üçün indiyə qədər baxmalısınız. Bu layihənin hazırlanmasının ortasında çəkilmiş şəkillər. Əvvəlcə plan bir yük hücrəsinə qoymaq və yeməyi çəkmək idi, amma son anda yük hüceyrə amfiziyamın qırılması səbəbindən bu xüsusiyyəti silmək və eyni zamanda olduqca səliqəli bir video canlı axınla əvəz etmək məcburiyyətində qaldım. Yük hücrəsi əlavə etmək üçün seçim həmişə var, ancaq kodu araşdırıb bəzi şeyləri düzəltməlisiniz.

Addım 9: Elektronika, Sensorlar və Aktuatorlar

Elektronika, Sensorlar və Aktuatorlar
Elektronika, Sensorlar və Aktuatorlar
Elektronika, Sensorlar və Aktuatorlar
Elektronika, Sensorlar və Aktuatorlar
Elektronika, Sensorlar və Aktuatorlar
Elektronika, Sensorlar və Aktuatorlar
Elektronika, Sensorlar və Aktuatorlar
Elektronika, Sensorlar və Aktuatorlar

İndi lehimləmə dəmirini taxmağın vaxtı gəldi. Nə etməli olduğunuzun 2 təsvirini verdim, bir standart elektrik sxematik, bir vizual təqdimat. Elektrik sxemindən istifadə etməyi çox tövsiyə edirəm, çünki hər şeyin necə işlədiyini və mənim fikrimcə bir -biri ilə əlaqəli olduğunu daha çox dərk edir. Digərinin burada olmasının yeganə səbəbi məcburi olmasıdır. Bunu söyləməyimin səbəbi, kabellər üçün çox yer olmadığı üçün, kabellərinizi necə çəkmək istədiyinizdən asılı olan GND, +5V və s. İlə səmərəli işləməlisiniz. Buna görə hər şeyi sxematik olaraq bir -birinə bağlamayın, işləyəcək, amma uyğun olmayacaq.

Keçid üçün hər 3 qurğunu bağladığımı görə bilərsiniz, bunun səbəbi, açarın gücün açıldığını göstərən daxili bir LED ilə təchiz edilməsidir. 2 rəngsiz aparat keçid rolunu oynayır, rəngli qurğuş GND -ə keçir.

Ümumiyyətlə, hər şeyi bağladığım sifariş budur:

  1. Güc bölməsi: güc jakı, h-körpü, gücləndirici buck çeviricisi, keçid
  2. Raspberry Pi (Daha çox məlumat üçün növbəti addıma baxın)
  3. IR sensorlar
  4. LED -lər
  5. Stepper girişləri
  6. I2C hissəsi: 3.3V, SDA, SCL

Etdiyim kimi lehimləmək üçün ətrafa bir prototipləşdirmə pcb -nin olması vacib deyil, amma faydalıdır.

Kameranı pi -nin USB portuna bağlamağı da unutmayın.

Vacib:

Dövrənin 5V hissəsini bağlamadan əvvəl, gücləndirici buck çeviricisini 5V -ə uyğunlaşdırdığınızdan əmin olun. Əks təqdirdə hər şeyi qızartmaq riski ilə üzləşə bilərsiniz. Bunu tənzimləmək üçün potensiometrini çevirir və ekrandakı gerilim oxunuşuna baxırsınız.

Addım 10: Elektronika, Raspberry Pi

Elektronika, Raspberry Pi
Elektronika, Raspberry Pi

Şematik çəkmək üçün proqram məhdudiyyətləri səbəbiylə moruq pi -ni necə bağlayacağımı çəkə bilmədim.

+5V üçün, pi'nin 5V pininə tel bağlaya bilərsiniz, ancaq bu, qoruyucu kimi təhlükəsizliyi aşır. Aşağıya baxsanız, TPxx olaraq etiketlənmiş bəzi yastıqları görməlisiniz, bizim vəziyyətimizdə TP1 və ya TP2 axtarırıq. +5V -lərinizi onlardan birinə lehimləyin, ancaq digər izlərlə keçməmək üçün diqqətli olun. Bu da çox güman ki, zəmanəti ləğv edəcək. Mən şəxsən hər iki test yastığına bağlamağa çalışdım və nəticəyə gəldim ki, TP2 -ni istifadə etmək ən asan və ən təhlükəsizdir, digər açıq yastiqciklərdən uzaqdır və ətrafında çox iz yoxdur.

GND üçün, şematik şoular kimi yuxarıdakı pinlərdən birini götürün, bu indi çox yaxşıdır.

Addım 11: Elektronikanı yoxlayın

Hər şey düzgün bir şəkildə bağlandıqda, hər şeyi tamamilə yığmadan əvvəl hər şeyi sınamaq yaxşı bir təcrübədir.

Burada bir yoxlama siyahısı:

  • IPv4 ünvanı lcd -də görünür
  • Brauzer vasitəsilə IP -yə qoşulmaq imkanı
  • "Qidalanma" ilə stepperi çevirə və LED -in işığını yandıra bilir
  • Konteyner statusu oxunur və yenilənir
  • Kameradan canlı yayım
  • Yemək hadisələrinin aşkarlanması

Giderme:

Burada daxil olduğum bəzi problemləri və onları necə həll edəcəyimi sadalayıram.

- Mənim LCD yanır, amma heç nə göstərmir:

1) Bunu yazarkən, pi -nin tam açılması üçün təxminən 2 dəqiqə lazımdır, buna görə əlavə vaxt verməlisiniz.

2) LCD -ni düzgün bağlamadınız. Aşağıdakı əmri bir qabığa yazaraq düzgün bağladığınızı görə bilərsiniz.

sudo i2cdetect -y 1

Bunun üçün 2 ünvanı qaytarmalıdır: 0x27 (= LCD) və 0x29 (= TOF sensoru). 0x27 görünmürsə, lcd kabelini yoxlamalısınız. Hər ikisi görünmürsə, SDA və SCL pinlərinin naqillərini yoxlamalısınız. Məsələn, təsadüfən ikisini dəyişdirdiyinizi yoxlayın. Ən pis halda, 2 fərdi komponentlə səhv bir şey etdiniz və ya bir şey qırıldı.

- LCD ekranım "Wi -Fi -ya qoşulma" da qalıb

Bu, pi'nizin qoşulmaq üçün konfiqurasiya etdiyiniz şəbəkələrdən birinə qoşulmağa çalışdığı anlamına gəlir. Bu, ya giriş nöqtəsi aralığında olmadığınız və ya konfiqurasiya edərkən səhv bir şey etdiyiniz deməkdir. bir səhv Bu vəziyyətdə "WiFi qurma" ya qayıdın və yenidən keçin.

Proqram, "192.168" ilə başlayan bir IP ünvanı ilə ev şəbəkələrinə qoşulmaq üçün də qurulmuşdur. Şəbəkəniz "10.0" və ya "172.16" kimi başqa bir xüsusi aralıqla qurulubsa, /home/pi/project/main.py ünvanına daxil olmalısınız və get_ips () funksiyasını dəyişdirməlisiniz: əgər "192.168" ip, "Şəxsi aralığınız burada" ipdədirsə.

- LCD -də ip göstərilir, amma qoşula bilmirəm:

1) 192.168. X. X ip -ə qoşulduğunuzdan əmin olun, digər ip 169.254.10.1 həmişə Ethernet üzərindən birbaşa kompüterinizə qoşulmaq üçün qurulmuşdur. Bağlı deyilsinizsə, bu işləməyəcək.

2) Eyni şəbəkədə olduğunuzdan və ya qidalandırıcıya şəbəkədən kənarda daxil olmaq istəyirsinizsə, şəbəkənizdə liman yönləndirməsini aktiv etdiyinizdən əmin olun.

- Stepper titrəyir və dönmür:

Bu, ikili H körpüsünün girişlərini və ya çıxışlarını düzgün bağlamadığınız deməkdir. Çalışana qədər onları dəyişdirməyə çalışın.

Addım 12: Tamamlama

Tamamlanması
Tamamlanması
Tamamlanması
Tamamlanması
Tamamlanması
Tamamlanması
Tamamlanması
Tamamlanması

İndi hər şeyi necə işə salacağınızı anladınız, hər şeyi bir yerə yığmağın vaxtı gəldi. 2 hissəni lentlə bir araya gətirməli oldum, çünki deliklərin dizaynı gərginliyi saxlayacaq qədər möhkəm deyil və mənim üçün çatladı. Bu, gələcəkdə təkmilləşdirilməsi vacib olan bir şeydir. Daha təmiz bir seçim, iki hissəni bir -birinə yapışdırmaqdır, ancaq içəridə bir şey qırıldıqda və içəriyə girmək istədikdə bu problem ola bilər. Buna görə yaxşı köhnə elektrik lenti ilə getdim.

Veb sayta girdiyiniz zaman əl ilə qidalanma, vəziyyətini yoxlamaq, məlumatlara baxmaq və ön ayarlar əlavə etmək kimi şeylər edə biləcəyiniz bir tablosuna baxmalısınız.

Addım 13: Əlavə: Chrome Uzantısı

Əlavə: Chrome uzantısı
Əlavə: Chrome uzantısı
Əlavə: Chrome uzantısı
Əlavə: Chrome uzantısı
Əlavə: Chrome uzantısı
Əlavə: Chrome uzantısı

Tablosuna baxmaq istəmirsinizsə və vəziyyəti və ya yemi tez bir zamanda yoxlamaq istəyirsinizsə, Chrome uzantısından istifadə edə bilərsiniz. Rəsmi Chrome veb mağazasında olmadığı üçün belə bir paket hazırladığınız kimi yükləməli olacaqsınız.

Əvvəlcə github qovluğundan Feeder Extension qovluğunu yüklədiyinizə əmin olun:

github.com/VanIseghemThomas/ProjectFeeder

Aşağıdakı URL -ə daxil olun:

chrome: // uzantıları/

Orada, geliştirici rejimini aktiv edin və uzantı qovluğunu yükləyin. İndi bir uzantı olaraq görünməlidir.

Chrome çubuğunuzda görünmürsə, onu Chrome menyusunda tapa bilərsiniz.

Addım 14: Proqram təminatı

Proqram təminatı
Proqram təminatı

Proqramla məşğul olmaq istəsəniz və ya nədənsə bir faylın yeni bir nüsxəsinə ehtiyacınız varsa, sizə lazım olan bütün sənədlər hazırladığım GitHub deposunda tapılır:

API-yə xüsusiyyətlər əlavə etmək istəsəniz, verilənlər bazası üçün bir EER-sxem təqdim etdim. Verilənlər bazasının bir zibilxanasını GitHub deposunda da tapmaq olar. Bütün arxa kod Pythonda yazılmışdır. Flask marşrutlaşdırma üçün istifadə olunur və webockets üçün Socket.io istifadə olunur.

Tövsiyə: