İçindekiler:

Proje Besleyici: 14 Adım
Proje Besleyici: 14 Adım

Video: Proje Besleyici: 14 Adım

Video: Proje Besleyici: 14 Adım
Video: Ölümü Aldatmak - Cryonics Projesi 2024, Kasım
Anonim
Proje Besleyici
Proje Besleyici

Hiç evcil hayvanlarınızı evden uzaktayken veya sadece kanepenizin rahatlığında beslemek istediniz mi? Eğer öyleyse, bu proje tam size göre! Project Feeder, evcil hayvanlarınızı otomatik olarak veya telefonunuzdan veya bilgisayarınızdan manuel olarak beslemenizi sağlayan açık kaynaklı bir projedir. Ayrıca bir canlı yayını takip edebilir ve evcil hayvanınızın yeme davranışını takip edebilirsiniz.

Başlamadan önce!

Bu proje kolej için yapılmış bir görevdir ve zamana bağlıydı, bu yüzden çok "devam eden bir çalışma". Bu yüzden geliştirilebilecek ve gelecekte güncellenebilecek şeyler olduğunun farkındayım. Sizi bu konsepti yaratıcı olmaya, geliştirmeye ve genişletmeye teşvik ediyorum.

Başlamak için bu projeyi inşa etmek için gereksinimleri gözden geçireceğiz. Aşağıda listelenen becerilere ve araçlara gerçekten ihtiyacınız olacak.

Yapıcı becerileri:

  • 3D baskı veya bir baskı hizmetine erişim
  • Lehimleme
  • Temel elektronik bilgisi

Aletler:

  • 3 boyutlu yazıcı
  • Havya
  • Sıcak tutkal tabancası veya 3D yazıcı filament bileşiklerini çalıştıran diğer tutkal
  • Tornavidalar

Gereçler

Bu projeyi inşa etmenin toplam maliyeti, parçayı nereden aldığınıza ve ne tür indirimler aldığınıza bağlı olarak 120€ civarındadır.

Önemli:

Bazı parçalar "Benzersiz" ile işaretlenmiştir, bu, yapının yapısal tasarımına özel olduğu ve o parçanın tam bir kopyasına ihtiyacınız olduğu anlamına gelir.

Raspberry Pi 4 Model B / 2GB + 16GB (min. gereksinim) Micro SD kart

Rasberry Pi'deki stok şu anda çok sınırlı, bunun için biraz araştırma yapmanız gerekecek.

12V 60W Güç Kaynağı Adaptörü

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

5.5mm X 2.1mm DC Güç Kaynağı Jak Soketi (Benzersiz)

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

DC-DC 12V - 5V 3A Buck Step Down Güç Modülü (Benzersiz)

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

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

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

L298N Çift H Köprü Modülü

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

GY6180 VL6180X Uçuş Mesafe Sensörü Süresi

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

Kızılötesi Engelden Kaçınma Sensörü (x3)

www.banggood.com/3Pcs-Kızılötesi-Engel-Av…

USB kamera

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

Arka Işık 16×2 LCD, 8051 mikrodenetleyici I2C

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

Çift yönlü seviye değiştirici

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

Ortak değer dirençleri (10k, 220R, 470R)

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

LED'ler (x2)

Diyotlar (x2)

12V AÇMA/KAPAMA anahtarı (Benzersiz)

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

Somunlar: 3x8mm, 3x10mm, 3x12mm

Adım 1: SD Kartın Yanıp Söndürülmesi

SD Kartın yanıp sönmesi
SD Kartın yanıp sönmesi

Bu adım için, sağlanan görüntü ile SD kartınızı flaş etmeniz gerekecek:

thomy.stackstorage.com/s/KbCfVgoU0t8gU3C

Görüntü, önceden oluşturulmuş bir apache web sunucusu, veritabanı ve besleyiciyle arayüz oluşturmak için kod ile donatılmış olarak gelir. Bu nedenle, yazılımı kurmayı içeren herhangi bir şey yapmanız gerekmez.

Kodu incelemek isterseniz, gerekli tüm kodları şu adresten alabilirsiniz:

github.com/VanIseghemThomas/ProjectFeeder

SD kartı nasıl düzgün şekilde flaş edeceğinizi bildiğinizden emin olun veya işlemi kesintiye uğratmayın çünkü bu, kartın bozulmasına neden olabilir. Kartı flash etmek için Win32DiskManager adlı bir yazılım kullandım. Çalıştığını ve biraz daha kullanıcı dostu olduğunu bildiğim başka bir programın adı Ethcer. Her ikisi de eşit derecede iyi çalışır.

Adım 2: Pi'ye SSH

Pi'ye SSH
Pi'ye SSH

Yanıp sönme bittiğinde artık SD kartı pi'ye takabilir ve açabilirsiniz. Bir ethernet kablosu kullanarak pi'nize bağlı olduğunuzdan emin olun. Şimdi ip 169.254.10.1 ile SSH kullanarak bağlanabilmelisiniz. PuTTY adlı bir program kullanıyorum, ancak yazılım yüklemek istemiyorsanız, komut istemine her zaman aşağıdaki komutu yazabilirsiniz:

ssh [email protected]

Şimdi bir oturum açın. İlk kez bağlanırken bir uyarı ile karşılaşacaksınız, bunu görmezden gelebilir ve devam edebilirsiniz. Bir kullanıcı olarak oturum açmanız istenecek ve bundan sonra şifre, bu görüntü için aşağıdaki kimlik bilgilerini kullanın:

  • kullanıcı feederpi
  • Şifre: Redef1

'pi' kullanıcısı da aktif ancak onunla giriş yapamayacaksınız. Bunun nedeni, güç verildiğinde otomatik olarak oturum açmak ve programı çalıştırmak üzere ayarlanmış olmasıdır. Bu nedenle oturum açtığınızda aşağıdakilerle karşılaşacaksınız:

[sudo] feederpi için şifre:

Sadece crtl+c tuşlarına basın ve şimdi bir kabuğunuz olmalıdır.

Şimdi aşağıdakini yazın:

sudo -i

Artık root olarak giriş yaptınız.

3. Adım: Wifi Kurulumu

Wifi Kurulumu
Wifi Kurulumu

Artık root olarak giriş yaptınız ve şunu yazabilirsiniz:

wpa_passphrase "SSID'niz" "Parolanız" >> /etc/wpa_supplicant/wpa_supplicant.conf

Yapılandırmanızın doğru şekilde eklenip eklenmediğini kontrol etmek için aşağıdakini yazın. İsterseniz güvenlik için düz metin şifreyi de silebilirsiniz, ancak çıkışta değişiklikleri kaydettiğinizden emin olun.

nano /etc/wpa_supplicant/wpa_supplicant.conf

Şimdi yazarak pi'nizi yeniden başlatabilirsiniz:

şimdi yeniden başlat

Şimdi, yazdığınız wifi ile bir bağlantınız olup olmadığını görmek için pi'ye önyükleme yapması ve daha önce olduğu gibi SSH ile tekrar oturum açması için biraz zaman verin:

ip bir

wlan0 interace altında bir ip adresine benzer bir şey görmelisiniz, bu, wifi'nize başarılı bir şekilde bağlandığınız anlamına gelir. Daha sonra her şey bağlandığında, yazılım bunu bir LCD'de gösterecektir.

Adım 4: Parçaları Yazdırma

Bu proje için ihtiyaç duyacağınız parçalar burada bulunur:

www.thingiverse.com/thing:4459996

Tüm bu parçaları yazdırmak biraz zaman alacak, bu yüzden biraz sabra ihtiyacınız olacak.

Bunlar kullandığım ayarlar (PLA):

  • Katman yüksekliği: 0.3mm
  • Baskı hızı: 50-60 mm/sn
  • Meme sıcaklığı: 200°C
  • Yatak sıcaklığı: 60°C

Bu konuda söylenecek fazla bir şey yok, iyi eğlenceler baskılar.

Adım 5: Parçaları Birleştirme (giriş)

Parçaları Birleştirme (giriş)
Parçaları Birleştirme (giriş)
Parçaları Birleştirme (giriş)
Parçaları Birleştirme (giriş)

Tamam, şimdi her şeyi bir araya getirmeye devam ediyoruz. Hepsini açıklamadan önce, akılda tutulması gereken bazı şeylerin üzerinden geçeceğim ve bu, bunu yapmanıza yardımcı olacak.

İPUCU 1:

Cıvatalar gibi 3mm hariç tüm delikleri 2.5mm yapmaya karar verdim. Bu, cıvataları vidalayarak bir diş açabilmeniz ve somun ihtiyacını ortadan kaldırmanız içindir. Cıvatayı takmak oldukça zordur, üst kısmı genişletmek için havyanızı kullanın, bu cıvatayı takmayı ve vidalamaya başlamayı kolaylaştıracaktır.

İPUCU 2:

Benim gibi cıvatalarınız azalıyorsa, sadece çapraz çiftleri vidalayın. Bu, birçoğunu kurtarır ve iyi çalışır.

Adım 6: Üstü Birleştirme (Dispenser)

Üst (Dispenser) Montajı
Üst (Dispenser) Montajı
Üstü Birleştirme (Dispenser)
Üstü Birleştirme (Dispenser)
Üstü Birleştirme (Dispenser)
Üstü Birleştirme (Dispenser)

Parçalar resimdeki gibi düzenlenmiştir.

Sözde 'plakalar' tarafından bir arada tutulurlar. Plakalardan biri step motorunuza monte edilir.

Cıvataların üst kısmının yüzeyle aynı hizada olduğundan emin olun, aksi takdirde besleme bloke olur. Bunun için 3x8mm civataları ve stepper ile plakanın dışı arasında "Stepper_offset" modelini kullanmalısınız.

Şimdi değirmeni stepper üzerine koyun, oldukça kolay gitmeli. Değilse, biraz vazelin kullanabilirsiniz.

Gerisi oldukça basit, sadece bir delik bulduğunuz yere bir vida alın.

Adım 7: Üst (Konteyner) Montajı

Üst (Konteyner) Montajı
Üst (Konteyner) Montajı
Üst (Konteyner) Montajı
Üst (Konteyner) Montajı
Üst (Konteyner) Montajı
Üst (Konteyner) Montajı

Burada konteynerimi nasıl yaptığımı görüyorsunuz. Teneke kutu orijinal olarak kuru birleşim parçaları için kullanılır.

En üstte TOF sensörünü takmak istiyorsunuz, bu sensör kapta ne kadar yiyecek kaldığını ölçmek için kullanılacak. Nasıl taktığımı resimlerde görebilirsiniz. Önce pim deliklerini havyamla erittim, ardından kablolar bağlanırken sensörü biraz sıcak tutkalla yerine yapıştırdım.

Kabı kapatmak için havyamla 2 delik açtım ve 2 cıvatayı vidaladım. Bu şekilde kapatmak için bir lastik bant, fermuarlı bağ veya tel kullanılabilir.

Adım 8: Tabanı Birleştirme

Alt Montaj
Alt Montaj
Alt Montaj
Alt Montaj
Alt Montaj
Alt Montaj

Resimlere referans veren farklı modüllerin yerleştirilmesi için oldukça açıklayıcıdırlar. Bu resimlerin bir kısmında zaten kablolar var, şimdilik bunun ötesine bakmalısınız. Bu projeyi geliştirmenin ortasında çekilen resimler. Başlangıçta plan, bir yük hücresine koymak ve yiyeceği tartmaktı, ancak son anda yük hücresi amfim bozulduğundan, bu özelliği bir kenara bırakıp, aynı zamanda oldukça temiz bir canlı video akışı ile değiştirmek zorunda kaldım. Yük hücresi ekleme seçeneği her zaman mevcuttur, ancak kodun içine girip bazı şeyleri düzenlemeniz gerekir.

Adım 9: Elektronikler, Sensörler ve Aktüatörler

Elektronik, Sensörler ve Aktüatörler
Elektronik, Sensörler ve Aktüatörler
Elektronik, Sensörler ve Aktüatörler
Elektronik, Sensörler ve Aktüatörler
Elektronik, Sensörler ve Aktüatörler
Elektronik, Sensörler ve Aktüatörler
Elektronik, Sensörler ve Aktüatörler
Elektronik, Sensörler ve Aktüatörler

Şimdi havyayı takma zamanı. Yapmanız gerekenlerin 2 temsilini sağladım, bir standart elektrik şeması, bir görsel temsil. Elektrik şemasını kullanmanızı şiddetle tavsiye ederim çünkü bence her şeyin nasıl çalıştığı ve birbirine bağlı olduğu konusunda çok daha fazla fikir veriyor. Diğerinin burada olmasının tek nedeni, zorunlu olmasıydı. Bunu söylememin nedeni, kablolar için çok fazla yer olmamasıdır, bu nedenle kablolarınızı nasıl çalıştırmak istediğinize bağlı olarak GND, +5V vb. kablolama ile verimli olmanız gerekecek. Bu yüzden şematik gibi her şeyi tam olarak birbirine bağlamayın, işe yarar ama sığmaz.

Anahtar için 3 kabloyu da bağladığımı görebilirsiniz, bunun nedeni anahtarın gücün açık olup olmadığını gösteren yerleşik bir LED ile gelmesidir. 2 renksiz uç anahtar görevi görür, renkli uç GND'ye gider.

Genel olarak, her şeyi kabloladığım sıra bu:

  1. Güç bölümü: güç girişi, h-köprü, güç dönüştürücü dönüştürücü, anahtar
  2. Raspberry Pi (Daha fazla bilgi için sonraki adıma bakın)
  3. IR sensörleri
  4. LED'ler
  5. Adım girişleri
  6. I2C kısmı: 3.3V, SDA, SCL

Benim yaptığım gibi lehimlemek için etrafta bir prototipleme pcb'sinin olması zorunlu değil ama kullanışlı.

Ayrıca kamerayı pi'nin USB bağlantı noktasına bağlamayı da unutmayın.

Önemli:

Devrenin 5V kısmını bağlamadan önce boost buck dönüştürücüyü 5V'a ayarladığınızdan emin olun. Aksi takdirde, her şeyi kızartma riskiyle karşı karşıya kalabilirsiniz. Bunu ayarlamak için potansiyometreyi çevirin ve ekrandaki voltaj okumasına bakın.

Adım 10: Elektronik, Raspberry Pi

Elektronik, Ahududu Pi
Elektronik, Ahududu Pi

Yazılımdaki şemayı çizmek için kısıtlamalar nedeniyle, ahududu pi'yi nasıl bağlayacağımı çizemedim.

+ 5V için sadece pi'nin 5V pinine kablo bağlayabilirsiniz, ancak bu, sigorta gibi güvenliği atlar. Alt tarafa bakarsanız, TPxx olarak etiketlenmiş bazı pedler görmelisiniz, bizim durumumuzda TP1 veya TP2 arıyoruz. +5V ucunuzu bunlardan birine lehimleyin, ancak diğer izlerle köprü oluşturmamaya dikkat edin. Bu da büyük olasılıkla garantiyi geçersiz kılacaktır. Şahsen onu her iki test pedine de takmayı denedim ve TP2'yi kullanmanın muhtemelen en kolay ve en güvenli olduğu, açıkta kalan diğer pedlerden uzak olduğu ve çevresinde çok fazla iz olmadığı sonucuna vardım.

GND için şematik gösteriler gibi üstteki pimlerden birini alın, bu şimdi tamamen iyi.

Adım 11: Elektroniği Test Etme

Her şey doğru şekilde bağlandığında, her şeyi tamamen monte etmeden önce her şeyi test etmek iyi bir uygulamadır.

İşte bir kontrol listesi:

  • IPV4 adresi lcd'de görünüyor
  • Tarayıcı üzerinden IP'ye bağlanabilme
  • Step'i "besleyerek" çevirebilir ve LED'lerin yandığını görebilir
  • Kapsayıcı durumu okumaları ve güncellemeleri
  • Kameradan canlı yayın
  • Yeme olaylarını algılama

Sorun giderme:

Burada karşılaştığım bazı sorunları ve bunları nasıl düzelteceğimi listeliyorum.

- LCD'm yanıyor ama hiçbir şey göstermiyor:

1) Bunu yazarken, pi'nin tamamen açılması için yaklaşık 2 dakikaya ihtiyacı var, bu yüzden ona biraz daha zaman vermelisiniz.

2) LCD'nizi doğru bağlamadınız. Bir kabuğa aşağıdaki komutu yazarak doğru şekilde bağlayıp bağlamadığınızı görebilirsiniz:

sudo i2cdetect -y 1

Bunun 2 adresi döndürmesi gerekir: 0x27 (=LCD) ve 0x29 (=TOF sensörü). 0x27 görünmüyorsa, lcd'nin kablolarını kontrol etmeniz gerekir. Her ikisi de görünmüyorsa, SDA ve SCL pinlerinin kablolarını kontrol etmeniz gerekir. Örneğin. ikisini yanlışlıkla değiştirip değiştirmediğinizi kontrol edin. En kötü durumda, 2 ayrı bileşende yanlış bir şey yaptınız veya bir şey bozuldu.

- LCD'm "WiFi'ye Bağlanıyor" da takılı kaldı

Bu, pi'nizin bağlanmak üzere yapılandırdığınız ağlardan birine bağlanmaya çalışırken takıldığı anlamına gelir. Bu, erişim noktasının kapsama alanında olmadığınız veya yapılandırma sırasında yanlış bir şey yaptığınız anlamına gelir; bir yazım hatası. Bu durumda "WiFi Kurulumu"na geri dönün ve tekrar gözden geçirin.

Yazılım ayrıca "192.168" ile başlayan bir IP adresi ile ev ağlarına bağlanmak üzere ayarlanmıştır. Ağınız "10.0" veya "172.16" gibi başka bir özel aralıkla ayarlanmışsa /home/pi/project/main.py ve get_ips() işlevinde değişiklik yapmanız gerekir: "192.168" ip eğer "Buradaki özel alanınız" ise ip.

- LCD'mde ip görüntüleniyor ama bağlanamıyorum:

1) 192.168. X. X ip'ye bağlandığınızdan emin olun, diğer ip 169.254.10.1 her zaman ethernet üzerinden doğrudan bilgisayarınıza bağlanacak şekilde yapılandırılmıştır. Takılı değilseniz bu çalışmaz.

2) Aynı ağda olduğunuzdan veya besleyiciye ağının dışından erişmek istiyorsanız ağınızda bağlantı noktası yönlendirmeyi etkinleştirdiğinizden emin olun.

- Step titriyor ve dönmüyor:

Bu, ikili H köprüsünün girişlerini veya çıkışlarını doğru şekilde bağlamadığınız anlamına gelir. Çalışana kadar onları değiştirmeyi deneyin.

Adım 12: Tamamlama

tamamlama
tamamlama
tamamlama
tamamlama
tamamlama
tamamlama
tamamlama
tamamlama

Artık her şeyi nasıl çalıştıracağınızı anladınız, şimdi her şeyi bir araya getirme zamanı. 2 parçayı bantla birleştirmek zorunda kaldım, çünkü deliklerin tasarımı gerilimi tutacak kadar sağlam değil ve benim için çatladı. Bu, gelecekte iyileştirilmesi gereken önemli bir şeydir. Daha temiz bir seçenek, iki parçayı birbirine yapıştırmaktır, ancak içeride bir şey kırıldığında ve içeriye erişmek istediğinizde bu bir sorun olabilir. Bu yüzden eski güzel elektrik bandıyla gittim.

Web sitesine gittiğinizde, elle besleme, durumu kontrol etme, verilere bakma ve ön ayarlar ekleme gibi işlemleri yapabileceğiniz bir pano ile karşılaşacaksınız.

13. Adım: Ekstra: Chrome Uzantısı

Ekstra: Chrome Uzantısı
Ekstra: Chrome Uzantısı
Ekstra: Chrome Uzantısı
Ekstra: Chrome Uzantısı
Ekstra: Chrome Uzantısı
Ekstra: Chrome Uzantısı

Kontrol paneline göz atmak istemiyorsanız ve yalnızca durumu veya beslemeyi hızlı bir şekilde kontrol etmek istiyorsanız, Chrome uzantısını kullanabilirsiniz. Resmi Chrome web mağazasında olmadığı için, böyle bir paket geliştirir gibi yüklemeniz gerekecek.

Öncelikle github dizininden Feeder Extension klasörünü indirdiğinizden emin olun:

github.com/VanIseghemThomas/ProjectFeeder

Aşağıdaki URL'ye gidin:

chrome://uzantılar/

Bir kez orada, geliştirici modunu etkinleştirin ve uzantı klasörünü yükleyin. Şimdi bir uzantı olarak görünmelidir.

Chrome çubuğunuzda görünmüyorsa, Chrome menüsünde bulabilirsiniz.

Adım 14: Yazılım

Yazılım
Yazılım

Yazılımla uğraşmayı seviyorsanız veya herhangi bir nedenle bir dosyanın yeni bir kopyasına ihtiyacınız varsa, ihtiyacınız olan tüm dosyalar yaptığım GitHub deposunda bulunur:

API'ye özellikler eklemek istemeniz durumunda, veritabanı için bir EER şeması da sağladım. Veritabanının bir dökümü GitHub deposunda da bulunabilir. Tüm arka uç kodu Python'da yazılmıştır. Flask, yönlendirme için ve Socket.io websockets için kullanılır.

Önerilen: