İçindekiler:

Otomatik Köpek Dispenseri: 10 Adım
Otomatik Köpek Dispenseri: 10 Adım

Video: Otomatik Köpek Dispenseri: 10 Adım

Video: Otomatik Köpek Dispenseri: 10 Adım
Video: Otomatik Köpek Mama ve Su Makinesi - Kendin Yap 2024, Kasım
Anonim
Otomatik Köpek Dispenseri
Otomatik Köpek Dispenseri
Otomatik Köpek Dispenseri
Otomatik Köpek Dispenseri
Otomatik Köpek Dispenseri
Otomatik Köpek Dispenseri

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

Pi Kurulumu
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ü

Led ve Işık Sensörü
Led ve Işık Sensörü
Led ve Işık Sensörü
Led ve Işık Sensörü

ledin bağlanması

  1. S -> GPIO15 (rxd0)
  2. + -> 5V
  3. G -> Direnç 470 ohm ve GND

Işık sensörünün bağlanması

  1. ÇIKIŞ -> GPIO17
  2. VCC -> 3.3V
  3. 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 Motor
Servo Motor

Servo motorun bağlanması

  1. ÇIKIŞ -> GPIO18
  2. VCC -> 5V
  3. 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 Okuyucu RC522
RFID Okuyucu RC522

RFID'yi bağlama

  1. RST -> GPIO6
  2. MISO -> GPIO9 (MISO)
  3. MOSI -> GPIO10 (MOSI)
  4. SCK -> GPIO11 (SPISCLK)
  5. SDA -> GPIO8 (SPICS0)
  6. 3.3V -> 3.3V
  7. 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ücresi HX711
Yük Hücresi HX711

Yük hücresinin HX711 sürücü panosuna bağlanması

  1. Kırmızı -> E+
  2. Siyah -> E-
  3. Yeşil -> A+
  4. Beyaz -> A-

Yük hücresinin bağlanması

  1. DT-> GPIO27
  2. SCK -> GPIO22
  3. KIRMIZI -> 3.3V
  4. 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 (16*2)
LCD (16*2)

LCD'yi bağlama

  1. RS -> GPIO21
  2. RW -> GND
  3. E-> GPIO20
  4. D0 -> GPIO16
  5. D1 -> GPIO12
  6. D2 -> GPIO6
  7. D3 ->GPIO24
  8. D4 -> GPIO23
  9. D5 -> GPIO26
  10. D6 -> GPIO19
  11. D7 -> GPIO13
  12. VSS -> GND
  13. VDD -> 5V
  14. Bir -> 5V
  15. K -> GND
  16. 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

Tam Devre
Tam Devre

burada tüm devrenin doğru olup olmadığını tekrar kontrol edebilirsiniz.

Adım 8: Vakanın Başlangıcı

Davanın Başlangıcı
Davanın Başlangıcı
Davanın Başlangıcı
Davanın Başlangıcı
Davanın Başlangıcı
Davanın Başlangıcı
Davanın Başlangıcı
Davanı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

Bir araya getirmek
Bir araya getirmek
Bir araya getirmek
Bir araya getirmek
Bir araya getirmek
Bir araya getirmek

Adım 10: Web Sitesi

İnternet sitesi
İnternet sitesi
İnternet sitesi
İnternet sitesi
İnternet sitesi
İnternet sitesi
İnternet sitesi
İnternet 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: