İçindekiler:

Akıllı Evcil Hayvan Besleyici: 9 Adım
Akıllı Evcil Hayvan Besleyici: 9 Adım

Video: Akıllı Evcil Hayvan Besleyici: 9 Adım

Video: Akıllı Evcil Hayvan Besleyici: 9 Adım
Video: Kiwi Pets otomatik su şelalesi incelemesi 2024, Kasım
Anonim
Image
Image
Akıllı Evcil Hayvan Besleyici
Akıllı Evcil Hayvan Besleyici

Evcil hayvanın var mı?

  • Hayır: evlat edin! (ve bu talimata geri dönün).
  • Evet: iyi iş!

Eve zamanında varabilmek için planlarınızı iptal etmeden sevdiklerinizi besleyip su verseniz harika olmaz mıydı? Artık endişelenmeyin diyoruz.

Bu projede uzaktan kumandalı (web üzerinden) mama ve su sebilleri yaptık.

Çevrimiçi gösterge panosu aracılığıyla verileri görüntüleyebilir ve dağıtıcıları kontrol edebilirsiniz:

  • Tanklardaki yiyecek ve su seviyelerini görüntüleyin.
  • Kaselerdeki yiyecek ve su seviyelerini görüntüleyin.
  • Hayvan şu anda yer mi, içer mi?
  • Beslemeleri programlayın (kasede yeterli yiyecek varsa cihaz yiyecek dağıtmaz).
  • Kase boşaldığında suyu otomatik olarak dağıtın.
  • Bir düğmeye basarak yiyecek/su dağıtın.
  • Telefonunuza push bildirimleri alın (Telegram uygulamasıyla).

Biz Kimiz?

IDC Herzliya Bilgisayar Bilimi öğrencileri Tom Kaufman ve Katya Fichman tarafından düzenlendi.

Bu proje bir IOT kursu için yapılmıştır.

Gereçler

Elektronik

  • 2 X ESP8266 (Wemos d1 mini).
  • Atlama telleri.
  • 2 X Ekmek Tahtası.
  • 4 X Ultrasonik sensör.
  • 2 X Yük hücresi.
  • 2 X Yük hücresi amplifikatörü (HX711).
  • Servo (180°).
  • Servo (sürekli dönüş).
  • 2 X 6V güç kaynağı.

Parçalar

  • Mısır gevreği dağıtıcısı (Amazon bağlantısı).
  • 3D baskılı gıda dağıtıcısının hunisi (https://www.thingiverse.com/thing:3998805).
  • 3D baskılı gıda dağıtıcısının servo eklentisi (https://www.thingiverse.com/thing:3269637).
  • 3D baskılı gıda otomatı standı (bu proje için tasarlanmıştır:
  • 3D baskılı yük hücresi tabanı ve plakası (bu proje için tasarlanmıştır:
  • Su sebili (Benzer bir şeye Amazon bağlantısı).
  • Tel (su sebilinin düğmesini servoya bağlamak için).
  • 3 X Ultrasonik sensör standı.

Adım 1: Nasıl Çalışır?

O nasıl çalışır?
O nasıl çalışır?

ESP8266 kartları, sensörlerin okumalarını Mosquitto (MQTT aracısı) aracılığıyla Node-RED'e gönderir.

Node-RED verileri işler, buna göre eylemler yapar (ayrıca Mosquitto aracılığıyla ESP8266 panolarına dağıtım komutları gönderir) ve gösterge tablosunda bilgi görüntüler.

Tüm hesaplamalar Node-RED'de gerçekleştirilir, bu nedenle bu projeyi çoğaltmak ve verilerin işlenmesini, kodlama ile ellerinizi kirletmeden ayar ve tercihlerinize göre değiştirmek kolay olacaktır.

2. Adım: Yazılımlar

Yazılımlar
Yazılımlar

Arduino IDE'si

İndirin ve kurun (bağlantı:

sivrisinek

İndirin ve kurun (bağlantı:

Node.js

İndirin ve kurun (bağlantı:

Düğüm-KIRMIZI

Talimatları izleyin:

zenci

İndirin:

Telgraf

Uygulamayı akıllı telefonunuza yükleyin.

Adım 3: Devre Düzeni

Devre Düzeni
Devre Düzeni

* Her iki cihazın da aynı devreleri vardır

Su sebili

  • Ultrasonik sensör (su deposu için)

    • GND - G
    • VCC - 5V
    • EKO - D5
    • TETİK - D0
  • Ultrasonik sensör (evcil hayvanın kaseden uzaklığı için)

    • GND - G
    • VCC - 5V
    • YANKI - D6
    • TETİK - D7
  • yük hücresi

    • YEŞİL - A+ (HX711)
    • BEYAZ - A- (HX711)
    • SİYAH - E- (HX711)
    • KIRMIZI - E+ (HX711)
  • HX711 (yük hücresi amplifikatörü)

    • GND - G
    • VCC - 5V
    • DT-D4
    • SCK - D3
  • Servo (180°)

    • GND - G
    • VCC - 5V

Gıda Dispenseri

  • Ultrasonik sensör (gıda tankı için)

    • GND - G
    • VCC - 5V
    • EKO - D5
    • TETİK - D0
  • Ultrasonik sensör (evcil hayvanın kaseden uzaklığı için)

    • GND - G
    • VCC - 5V
    • YANKI - D6
    • TETİK - D7
  • yük hücresi

    • YEŞİL - A+ (HX711)
    • BEYAZ - A- (HX711)
    • SİYAH - E- (HX711)
    • KIRMIZI - E+ (HX711)
  • HX711 (yük hücresi amplifikatörü)

    • GND - G
    • VCC - 5V
    • DT-D4
    • SCK - D3
  • Servo (sürekli dönüş)

    • GND - G
    • VCC - 5V
    • KONTROL - D8

Adım 4: El Sanatları

Zanaat
Zanaat
Zanaat
Zanaat
Zanaat
Zanaat

Su sebili

  1. Servoyu dağıtıcının alt kısmının üstüne yapıştırın (fotoğrafta gösterildiği gibi).
  2. Su pınarının topuzuna küçük bir delik açın.
  3. Servo kafasını bir tel ile topuza bağlayın (servo kafasının 0 konumunda olduğundan ve telin sıkı olduğundan emin olun).
  4. Bir ultrasonik sensörü tankın iç tarafına, üst kısmına yakın bir yere yapıştırın (sensör aşağı bakacak şekilde).
  5. Su düğmesinin altına dışarıya doğru bir ultrasonik sensör yapıştırın (su kabının okumaları etkilememesi için yeterince yüksek olduğundan emin olun).

Gıda dağıtıcı

  1. Servoyu tutucusuna vidalayın (3D baskılı kısım).
  2. Huniyi (3B baskılı kısım) tank tutucuya (3B baskılı kısım) yapıştırın.
  3. Tank tutucuyu dispenser standına (3D baskılı kısım) bağlayın ve tankı yerine yerleştirin.
  4. Dönen parçayı (3D baskılı) yerine ve dağıtıcının dönen kauçuk parçasından geçirin.
  5. Servo tutucu parçayı dispenser standına vidalayın.
  6. Tank kapağının iç tarafına bir ultrasonik sensör yapıştırın (sensör aşağı bakacak şekilde).
  7. Bir ultrasonik sensörü, evcil hayvanınızın yiyeceği yere bakan tank tutucusunun yanına yapıştırın.

Yük Hücreleri

Her bir yük hücresini 3B baskılı tabana ve plakaya yapıştırın (yük hücresinin oku aşağı bakacak şekilde)

Adım 5: Sivrisinek

sivrisinek
sivrisinek

Mosquitto'yu açın (windows kullanıcıları: Mosquitto klasörüne gidin, cmd'yi açın ve "mosquitto -v" girin).

* Bilgisayarın dahili IP adresini almak için cmd'yi çalıştırın ve "ipconfig" girin.

Adım 6: Arduino IDE

Arduino IDE'si
Arduino IDE'si
Arduino IDE'si
Arduino IDE'si

Arduino IDE'yi açın ve bu kılavuzun "Arduino IDE'de ESP8266 Eklentisini Kur" bölümünü izleyin:

Araçlar->Board'a gidin ve "LOLIN(WEMOS) D1 R2 & mini"yi seçin.

Sketch->Include Library->Add. ZIP Library… seçeneğine gidin ve 3 kütüphaneyi "Libraries.rar" dosyasına ekleyin.

"HX711Calibration" çizimini açın, her iki ESP8266'ya yükleyin, çalıştırın ve yük hücrelerini kalibre etmek için talimatları (kodun başında ve seri monitörde) izleyin (seri monitörün baud hızının şu şekilde ayarlandığından emin olun) 115200 baud).

* Kalibrasyon faktörünü ve sıfır ofsetini not edin (daha sonra kullanmak üzere).

IDE aracılığıyla "Yiyecek Dağıtıcı" ve "Su Dağıtıcı" çizimlerini açın ve ayarlarınızla aşağıdaki değişkenleri değiştirin ("Settings.h" dosyasında):

  • WIFI_SSID
  • KABLOSUZ AĞ PAROLASI
  • MQTT_SERVER
  • LOAD_CELL_CALIBRATION_FACTOR
  • LOAD_CELL_ZERO_OFFSET

* MQTT_SERVER'da "Mosquitto" adımından dahili IP adresini girin.

Çizimleri iki ESP8266'nıza yükleyin (her panoya bir kod).

* "HX711" kitaplığı ile birleştirildiğinde esp8266 çöktüğünden, daha yaygın olan "pubsubclient" kitaplığını değil, "AsyncMqttClient" kitaplığını kullandığımıza dikkat edin.

* Kodda değişiklik yapmayı seçerseniz, geri arama fonksiyonlarında "gecikme" ve "verim" işlevlerini kullanmadığınızdan emin olun çünkü bu, çökmelere neden olacaktır.

7. Adım: Ngrok

Ngrok
Ngrok
Ngrok
Ngrok

İndirilen dosyayı açın ("Yazılımlar" adımındaki bağlantıdan).

"ngrok.exe" dosyasını açın ve "ngrok http 1880" komutunu çalıştırın.

* Size en yakın bölgeyi seçebilirsiniz (au, eu, ap, us, jp, in, sa). Varsayılan biziz.

Örneğin, "ngrok http --region=eu 1880" komutunu çalıştırın (bölgeyi Avrupa olarak ayarlayın).

Artık harici kullanım için web adresinizi göreceksiniz (bu adrese YOUR_NGROK_ADDRESS olarak değineceğiz).

Adım 8: Düğüm-KIRMIZI

Düğüm-KIRMIZI
Düğüm-KIRMIZI
Düğüm-KIRMIZI
Düğüm-KIRMIZI
Düğüm-KIRMIZI
Düğüm-KIRMIZI

Node-RED'i açın (windows kullanıcıları: cmd'yi açın ve "node-red" yazın) ve https://localhost:1880'e gidin (işe yaramazsa, cmd penceresinde "Sunucu şimdi" yazan adresi arayın koşuyor").

Menüyü açın (sağ üst köşede) ve "Paleti yönet"e basın.

"Yükle" sekmesine gidin, şu modülleri arayın ve kurun:

  • düğüm-kırmızı-katkı-kalıcı.
  • node-red-contrib-cron-plus.
  • düğüm-kırmızı-katkı-ui-led.
  • düğüm-kırmızı-dashboard.
  • düğüm-kırmızı-katkı-telegrambot.

Menü->Akış dosyasını içe aktarın ve yükleyin (ekli RAR dosyasını çıkarın ve json dosyasını yükleyin).

Akışla ilgili açıklamalar için ekteki resimlere bakın.

Bu düğümleri ayarlarınızla değiştirmeniz gerekecek:

  • "Telegram gönderici" düğümünün profilini botunuzun kullanıcı adı ve belirteci ile güncelleyin (bu kılavuzu kullanın:
  • Akışın alt kısmında "Ngrok Adresi" ve "Telegram Sohbet Kimliği" düğümlerinin yüklerini değiştirin (yukarıdaki bağlantıdaki Telegram kılavuzunu kullanarak sohbet kimliğinizi alın).
  • Akışın alt kısmında ayar düğümleri vardır - bunları ihtiyaçlarınıza göre değiştirin:

    • Evcil hayvan yiyor/içiyor uyarılarını etkinleştirin.
    • Yeme/içme uyarısını etkinleştirmek için ne kadar mesafe olduğunu tanımlayın.
    • Kaseler ve tanklar veri işlemeyi tanımlayın.
    • Dağıtım sürelerini değiştirin (dağıtımların ne kadar süreyle gerçekleştiği - otomatik mod ve düğmeye basma).
    • Yemek kabının taşma eşiği yüzdesini tanımlayın (kasede yeterli yiyecek varsa otomatik yiyecek dağıtımını iptal edin).

Akışı dağıtın (sağ üstte).

* Yalnızca ilk dağıtımda, hata ayıklama penceresinde 'persistance.json' dosyasının eksik olduğuna dair bir uyarı göreceksiniz. Endişelenmeyin çünkü besleme zamanlarını ayarlayacağınız veya otomatik su anahtarını değiştireceğiniz anda bu dosyayı başlatacak ve artık bu uyarıyı almayacaksınız.

Kontrol panelinizi https://NODE-RED_PC'S_INTERNAL_IP_ADDRESS:1880/ui (sunucuyla aynı LAN'a bağlıysanız) veya YOUR_NGROK_ADDRESS/ui (her yerden) üzerinden görüntüleyebilirsiniz.

9. Adım: Tamamlayın

Sarmak
Sarmak

Bu eğitimin bilgilendirici ve okunması, anlaşılması ve uygulanması kolay olduğunu umuyoruz.

Bize her şeyi sormaktan çekinmeyin.

Önerilen: