İçindekiler:
- Gereçler
- Adım 1: Pi Kurulumu
- Adım 2: Led ve Işık Sensörü
- Adım 3: Servo Motor
- Adım 4: RFID Okuyucu RC522
- Adım 5: Yük Hücresi HX711
- Adım 6: LCD (16*2)
- Adım 7: Tam Devre
- Adım 8: Vakanın Başlangıcı
- Adım 9: Bir araya getirmek
- Adım 10: Web Sitesi
Video: Otomatik Köpek Dispenseri: 10 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
Projem ile köpeğinizi evde yalnız bıraktığınızda asla aç kalmamasını sağlıyorum.
Otomatik besleyici, bir mısır gevreği dağıtıcısından "saldırıya uğrayacaktır". Dağıtıcı köpek maması için haznedir, alttaki tekerlek, beşik neredeyse boş olduğunda ve köpek yeterince yakın olduğunda mamayı otomatik olarak düşüren bir servo motora bağlanacaktır. Dağıtıcının altında, köpek mamasını güzel bir şekilde beşiğe bırakacak bir PVC tüp takılı olacaktır. Dolayısıyla bu projede 2'si sınıfta yer almayan ve 1'i aktüatör olmak üzere 3 sensör olacaktır.
İlk sensör RFID okuyucudur. Bu sensör, köpeğin beşiğe ne zaman yaklaştığını kontrol eder. RFID, köpeğin tasmasına dahil edilecektir. Bu sensör, köpeğin yeterince yakın olduğunu fark ederse, ikinci sensöre bir sinyal iletecektir. İkinci sensör ise beşikteki mamayı ölçen ağırlık sensörüdür (sınıfta yer almayan), bu sensör ağırlığın çok düşük olduğunu algılarsa mamayı beşik içine bırakacak olan servo motora sinyal gönderecektir (RFID ve ağırlık sensörünün onayı ile). Kısacası, köpek sadece beşiğe yeterince yakın olduğunda ve beşiği neredeyse boşken fazladan yiyecek alır. Tabii bir de web server üzerinden kendiniz belirleyebileceğiniz bir limit seti var; Böylece köpek günde çok fazla yiyecek almaz. Üçüncü sensör, beşik etrafında çok karanlık olduğunda bir LED projektör aydınlatan bir ışık sensörüdür. Bu nedenle aktüatör, dağıtıcıdaki tekerleğe bağlı bir servo motor olacaktır.
Bu proje köpekler içindir, diğer küçük evcil hayvanlar için de kullanabilirsiniz.
Gereçler
Ahududu Pi 3
Yük hücresi (1KG)
HX711 yük hücresi amplifikatörü
Yemek kasesi
tahıl dağıtıcı
Ahşap (+ vidalar ve tornavida)
Işık sensörü
Led
RFID okuyucu rc522
Atlama telleri
16*2 LCD (ekran)
Servo motor
5V güç adaptörü
Direnç 470 Ohm
PVC boru
ekmek tahtası
Potansiyometre
Testere
zımpara kağıdı
silikon tabancası
Adım 1: Pi Kurulumu
Kurmak
Başlamak için önce Pi'nizi kurmamız gerekecek.
İki şeye ihtiyacınız olacak:
- https://sourceforge.net/projects/win32diskimager/… adresinden Win32 Disk Görüntüleyici
- https://www.raspberrypi.org/downloads/raspbian/ adresinden Raspbian OS görüntüsü
ZIP dosyasını indirin ve istediğiniz yere çıkarın.
Montaj
1. Klasör simgesi aracılığıyla resminizi seçin
2. Açılır menüden SD kartınızı seçin
3. Yaza tıklayın
Şimdi Pi'ye erişebilmemiz için bazı ayarlarla biraz daha uğraşmamız gerekecek.
1. SD kartın önyükleme dizinine gidin
2. "cmdline.txt" dosyasını açın
3. Bir boşlukla ayrılmış uzun metin satırının sonuna (aynı satırda) ip=169.254.10.1 ekleyin.
4. Dosyayı kaydedin.
5. Aynı dizinde uzantısı olmayan ssh adında bir dosya oluşturun
Artık SD kartı çıkarabilir ve Pi'nize koyabilirsiniz.
Bağlanıyor
Şimdi yazılımı kurmamız gerekecek.
Önce bir LAN kablosunu, bir ucu masaüstü/dizüstü bilgisayarınıza ve diğer ucu Pi'nize takın.
Şimdi Raspberry Pi'yi başlatın.
1. Putty'yi https://www.putty.org/ adresinden yükleyin.
2. IP kutusuna 169.254.10.1 girin.
3. SSH'nin seçildiğinden ve 22 numaralı bağlantı noktasının doldurulduğundan emin olun.
4. Aç'ı tıklayın
5. Kullanıcı adını girin: pi
6. Şifreyi girin: ahududu
Raspi-yapılandırma
Raspi-config yardımcı programını aşağıdakileri kullanarak açın:
sudo raspi yapılandırması
Arayüzler kategorisinde aşağıdaki seçenekleri etkinleştirin
- 1-Tel
- SPI
Önyükleme seçenekleri kategorisinde aşağıdaki seçenekleri devre dışı bırakın
- Başlangıç ekranı
Son olarak, önyükleme seçenekleri kategorisindeki Masaüstü/CLI ayarını Masaüstü Otomatik Oturum Açma olarak ayarlayın.
Wifi
Köpek besleme için bir wifi bağlantımız olması gerekiyor, bu yüzden wifi kimlik bilgilerinizin yakın olduğundan emin olun.
1. Kök moduna girin
sudo -i
2. Bu satırı yapıştırın ancak SSID ve Parolanın her ikisinin de doldurulduğundan emin olun.
wpa_passphrase "SSID" "ŞİFRE" >> /etc/wpa_supplicant/wpa_supplicant.conf
3. WPA İstemcisini girin.
Wpa_cli
4. Arayüzü seçin
arayüz wlan0
5. Yapılandırmayı yeniden yükleyin
yeniden yapılandır
ip a yazarak ve WLAN0 arayüzlerinde bir IP'niz olup olmadığına bakarak doğru bağlandığınızdan emin olun.
Paketler
Artık internete bağlı olduğumuza göre bazı paketler kurmamız gerekecek.
İlk olarak, en sonuncusu için paket listelerini yenilememiz gerekecek.
sudo uygun güncelleme
piton
Raspbian'ı Python 3'ü kullanmaya zorlayacağız
güncelleme alternatifleri --install /usr/bin/python python /usr/bin/python2.7 1
güncelleme alternatifleri --install /usr/bin/python python /usr/bin/python3 2
MariaDB
Veritabanını kurmak için aşağıdaki satırı yapıştırın.
sudo apt mariadb sunucusunu kurun
O zaman kurulumumuzu güvenli hale getirmemiz gerekecek.
mysql_secure_installation
Sadece enter'a basmak için elimizde bir tane olmadığı için mevcut kök şifremizi soracak.
Ardından, istediğimizden beri y'de bir kök şifre türü isteyip istemediğimizi soruyor.
Sonraki sorular için sadece Y girin.
Daha sonra ayna için kullanabileceğimiz bir kullanıcı oluşturacağız.
Aşağıdakileri yaparak mysql kabuğunu girin:
- Kendimizi kök salmak için yükseltin
Sudo -i
- mysql kabuğunu girin
MySQL
- Kendi kullanıcı adınızla değiştirin ve aynı
*.* üzerindeki tüm ayrıcalıkları ''@'%' için '' ile tanımlayın;
- *.* üzerindeki tüm ayrıcalıkları ''@'%' için '' ile tanımlayın;
Ardından veritabanımızı ekleyeceğiz.
Apache Web sunucusu
Web sunucusunu kurmak için aşağıdaki satırı çalıştırın.
sudo apt apache2'yi yükleyin -y
Python paketleri
Bu paketleri kuracağız
- Şişe
- Şişe-Kors
- Flask-MySQL
- Flask-SocketIO
-PyMySQL
- Gevent
- Gevent-websocket
-
- Python-socketio
- İstekler
- Wsaccel
- Ujson
Yaparak
pip yükleme Flask Flask-Cors Flask-MySQL Flask-SocketIO PyMySQL gevent gevent-websocket httplib2 python-socketio istekleri wsaccel ujson mfrc522 hx711 Adafruit-CharLCD
Adım 2: Led ve Işık Sensörü
ledin bağlanması
- S -> GPIO15 (rxd0)
- + -> 5V
- G -> Direnç 470 ohm ve GND
Işık sensörünün bağlanması
- ÇIKIŞ -> GPIO17
- VCC -> 3.3V
- GND -> GND
Şimdi bu küçük komut dosyasıyla led ve ışık sensörümüzün çalışıp çalışmadığını test edebiliriz
RPi. GPIO'yu GPIO GPIO.setmode(GPIO. BCM) olarak içe aktar
GPIO.setup(15, GPIO. OUT)
GPIO.setup(17, GPIO. IN)
deneyin: Doğru iken:
GPIO.input(17) == 0 ise:
GPIO.output(15, GPIO. HIGH)
if GPIO.input(17) == 1:
GPIO.output(15, GPIO. LOW)
KeyboardInterrupt hariç: GPIO.cleanup()
Adım 3: Servo Motor
Servo motorun bağlanması
- ÇIKIŞ -> GPIO18
- VCC -> 5V
- GND -> GND
Şimdi bu küçük komut dosyasıyla led ve ışık sensörümüzün çalışıp çalışmadığını test edebiliriz.
RPi. GPIO'yu GPIOimport zamanı olarak içe aktar
GPIO.setmode(GPIO. BCM)
GPIO.setup(18, GPIO. OUT)
p = GPIO. PWM(18, 50)
p.başlangıç(12.5)
denemek:
Doğru iken:
p. ChangeDutyCycle(12.5)
zaman.uyku(1)
p. ChangeDutyCycle(2.5)
zaman.uyku(1)
KeyboardInterrupt hariç:
p.dur()
GPIO.cleanup()
Adım 4: RFID Okuyucu RC522
RFID'yi bağlama
- RST -> GPIO6
- MISO -> GPIO9 (MISO)
- MOSI -> GPIO10 (MOSI)
- SCK -> GPIO11 (SPISCLK)
- SDA -> GPIO8 (SPICS0)
- 3.3V -> 3.3V
- GND -> GND
Artık RFID okuyucumuzun bu küçük komut dosyasıyla çalışıp çalışmadığını test edebiliriz.
RPi. GPIO'yu GPIO olarak içe aktar
mfrc522'den SimpleMFRC522'yi içe aktarın
okuyucu = SimpleMFRC522()
metin = input('Yeni veri:')
print("Şimdi yazmak için etiketinizi yerleştirin")
okuyucu.write(metin)
print("Yazılı")
Adım 5: Yük Hücresi HX711
Yük hücresinin HX711 sürücü panosuna bağlanması
- Kırmızı -> E+
- Siyah -> E-
- Yeşil -> A+
- Beyaz -> A-
Yük hücresinin bağlanması
- DT-> GPIO27
- SCK -> GPIO22
- KIRMIZI -> 3.3V
- GND -> GND
Şimdi yük hücremizin bu küçük komut dosyasıyla çalışıp çalışmadığını test edebiliriz.
RPi. GPIO'yu GPIOimport time olarak import sys'yi klasses. HX711'den import HX711
def cleanAndExit(): print("Temizleniyor…") GPIO.cleanup() print("Güle güle!") sys.exit()
hx = HX711 (22, 27)
hx.set_reading_format ("LSB", "MSB")
hx.set_reference_unit (2167)
hx.sıfırla()
hx.dara()
Doğru iken:
denemek:
val = max(0, int(hx.get_weight(5)))
yazdır(val)
hx.power_down()
hx.power_up()
zaman.uyku(0.5)
hariç (KeyboardInterrupt, SystemExit): cleanAndExit()
Adım 6: LCD (16*2)
LCD'yi bağlama
- RS -> GPIO21
- RW -> GND
- E-> GPIO20
- D0 -> GPIO16
- D1 -> GPIO12
- D2 -> GPIO6
- D3 ->GPIO24
- D4 -> GPIO23
- D5 -> GPIO26
- D6 -> GPIO19
- D7 -> GPIO13
- VSS -> GND
- VDD -> 5V
- Bir -> 5V
- K -> GND
- V0 -> orta potansiyo pimi
Şimdi LCD ekranımızın bu küçük komut dosyasıyla çalışıp çalışmadığını test edebiliriz.
Adafruit_CharLCD'yi LCDlcd_rs = 21 olarak içe aktar
lcd_tr = 20
lcd_d4 = 23
lcd_d5 = 26
lcd_d6 = 19
lcd_d7 = 13
lcd_columns = 16
lcd_rows = 2
lcd = LCD. Adafruit_CharLCD(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7, lcd_columns, lcd_rows)
lcd.mesaj('169.254.10.1')
Adım 7: Tam Devre
burada tüm devrenin doğru olup olmadığını tekrar kontrol edebilirsiniz.
Adım 8: Vakanın Başlangıcı
Köpek maması için bir rezervuar olarak bir mısır gevreği dağıtıcısı kullandım.
Dağıtıcıdaki tekerleği servo motoruma bağladım
Artık servo motorumla direksiyonu kontrol edebiliyor ve hazneden yiyecek bırakabiliyorum.
Haznenin sonunda, yiyecekleri güzelce beşik içine bırakan bir PVC boru bağlanır.
Ben kasa olarak ahşap kullanıyorum
Adım 9: Bir araya getirmek
Adım 10: Web Sitesi
Şimdi makinemiz çalışıyor, web sitesini pi'ye almamız gerekiyor. Şimdi her şey hazır ve sitenin nasıl çalıştığına dair birkaç talimat çalışıyor.
Bir hdmi kablosu takarak pi'nizi wifi'ye bağlayabilir ve bu şekilde etkinleştirebilirsiniz.
İlk sayfa ana sayfadır, burada görebilirsiniz:
- Işık hakkında gerçek zamanlı bilgi
- Kasede kalan yiyecekler hakkında gerçek zamanlı bilgi
- yemeği bırakabilirsin
- köpek hakkında bilgi
İkinci sayfa düzenleme sayfasıdır, burada düzenleyebilirsiniz:
- evcil hayvanınızın adı
- evcil hayvanınızın yaşı
- evcil hayvanınızın ağırlığı
- evcil hayvanınızın fotoğrafı
Üçüncü sayfa tarih sayfasıdır, burada görebilirsiniz:
- ışık yandığında
- köpek yemek yediğinde
- yemek düştüğünde
Dördüncü sayfa ayarlar sayfasıdır, burada şunları düzenleyebilirsiniz:
- yiyeceklerin düşmesi gerektiğinde
- düşecek yiyecek miktarı
- maksimum yemek/gün
- ışık
Önerilen:
Otomatik Köpek Besleyici!!: 4 Adım
Otomatik Köpek Besleyici!!: Kolay, Faydalı ve Sağlıklı
Otomatik Köpek Besleyici: 6 Adım
Otomatik Köpek Besleyici: Bu benim Otomatik Evcil Hayvan Besleyici projem. Adım Parker 11. Sınıftayım ve bu projeyi 11 Kasım 2020'de CCA (Kurs Bitirme Etkinliği) olarak yaptım.
Köpek Köpek Eğitmeni: 5 Adım
Köpek Köpek Eğitmeni: AKC'ye göre, (https://www.akc.org/expert-advice/nutrition/how-many-times-a-day-should-a-dog-eat/) yemler köpekler için çok önemlidir ve kutunun boyutu köpeğin bir günde yiyebileceği yem sayısını da sınırlamıştır, “Veteriner
Otomatik Köpek Besleyici: 5 Adım
Otomatik Köpek Besleyici: Bu, Arduino kullanarak otomatik bir köpek besleme makinesinin nasıl yapılacağına dair adım adım bir eğitimdir. Bu, günün çoğunda evin dışındaysanız mükemmeldir. Köpeğinizin yemek için bütün gün beklemek zorunda kalması veya onu beslemek için eve eğilmeniz yerine, bu cihaz
Arduino Powered Köpek Maması Dispenseri: 10 Adım (Resimlerle)
Arduino Powered Köpek Maması Dispenseri: Eviniz benimki gibi bir şeyse, acele ederken bazı işler unutulabilir. Unutulanın evcil hayvanınız olmasına izin vermeyin! Bu otomatik köpek maması dağıtıcısı, doğru zamanda doğru miktarda mama vermek için bir Arduino kullanır. Tüm pa