Isi kandungan:

Pemakanan Haiwan Peliharaan Pintar: 9 Langkah
Pemakanan Haiwan Peliharaan Pintar: 9 Langkah

Video: Pemakanan Haiwan Peliharaan Pintar: 9 Langkah

Video: Pemakanan Haiwan Peliharaan Pintar: 9 Langkah
Video: How to paint a realistic dog 2024, November
Anonim
Image
Image
Pengumpan Haiwan Peliharaan Pintar
Pengumpan Haiwan Peliharaan Pintar

Adakah anda mempunyai haiwan kesayangan?

  • Tidak: pakai! (dan kembali kepada arahan ini).
  • Ya: kerja yang baik!

Bukankah lebih baik jika anda dapat memberi makan dan memberi air kepada orang yang anda sayangi tanpa membatalkan rancangan untuk pulang tepat pada waktunya? Kami katakan jangan risau lagi.

Dalam projek ini, kami telah membuat dispenser makanan dan air dengan kawalan jauh (melalui web).

Melalui papan pemuka dalam talian anda dapat melihat data dan mengawal dispenser:

  • Lihat tahap makanan dan air di dalam tangki.
  • Lihat tahap makanan dan air di dalam mangkuk.
  • Adakah haiwan itu makan atau minum pada masa ini?
  • Jadualkan penyusuan (peranti tidak akan mengeluarkan makanan jika terdapat cukup makanan di dalam mangkuk).
  • Buang air secara automatik apabila mangkuk kosong.
  • Keluarkan makanan / air dengan menekan butang.
  • Terima pemberitahuan tolak ke telefon anda (melalui aplikasi Telegram).

Siapakah kita?

Dicipta oleh Tom Kaufman dan Katya Fichman, pelajar Sains Komputer di IDC Herzliya.

Projek ini dibuat untuk kursus IOT.

Bekalan

Elektronik

  • 2 X ESP8266 (Wemos d1 mini).
  • Wayar pelompat.
  • Papan Roti 2 X
  • Sensor ultrasonik 4 X.
  • 2 X Beban sel.
  • Penguat sel beban 2 X (HX711).
  • Servo (180 °).
  • Servo (putaran berterusan).
  • Bekalan kuasa 2 X 6V.

Bahagian

  • Dispenser cornflakes (pautan Amazon).
  • Corong dispenser makanan bercetak 3D (https://www.thingiverse.com/thing:3998805).
  • Lampiran servo dispenser makanan bercetak 3D (https://www.thingiverse.com/thing:3269637).
  • Dudukan dispenser makanan bercetak 3D (direka untuk projek ini:
  • Pangkalan dan plat sel beban dicetak 3D (direka untuk projek ini:
  • Dispenser air (Amazon menghubungkan ke sesuatu yang serupa).
  • Kawat (untuk menyambungkan kenop dispenser air ke servo).
  • 3 X pendirian sensor ultrasonik.

Langkah 1: Bagaimana Ia Berfungsi?

Bagaimanakah ia berfungsi?
Bagaimanakah ia berfungsi?

Papan ESP8266 menghantar bacaan sensor ke Node-RED melalui Mosquitto (broker MQTT).

Node-RED memproses data, membuat tindakan yang sesuai (juga mengirim perintah pengeluaran ke papan ESP8266 melalui Mosquitto) dan memaparkan maklumat di papan pemuka.

Semua pengiraan dilakukan dalam Node-RED jadi akan mudah untuk meniru projek ini dan mengubah pemprosesan data mengikut tetapan dan pilihan anda tanpa membuat tangan anda kotor dengan pengekodan.

Langkah 2: Perisian

Perisian
Perisian

Arduino IDE

Muat turun dan pasang (pautan:

Mosquitto

Muat turun dan pasang (pautan:

Node.js

Muat turun dan pasang (pautan:

Node-MERAH

Ikuti arahan:

ngrok

Muat turun:

Telegram

Pasang aplikasi pada telefon pintar anda.

Langkah 3: Susun atur Litar

Susun atur Litar
Susun atur Litar

* Kedua-dua peranti mempunyai litar yang sama

Dispenser Air

  • Sensor ultrasonik (untuk tangki air)

    • GND - G
    • VCC - 5V
    • ECHO - D5
    • TRIGGER - D0
  • Sensor ultrasonik (untuk jarak haiwan peliharaan dari mangkuk)

    • GND - G
    • VCC - 5V
    • ECHO - D6
    • TRIGGER - D7
  • Sel beban

    • HIJAU - A + (HX711)
    • PUTIH - A- (HX711)
    • HITAM - E- (HX711)
    • MERAH - E + (HX711)
  • HX711 (penguat sel beban)

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

    • GND - G
    • VCC - 5V

Penyebar Makanan

  • Sensor ultrasonik (untuk tangki makanan)

    • GND - G
    • VCC - 5V
    • ECHO - D5
    • TRIGGER - D0
  • Sensor ultrasonik (untuk jarak haiwan peliharaan dari mangkuk)

    • GND - G
    • VCC - 5V
    • ECHO - D6
    • TRIGGER - D7
  • Sel beban

    • HIJAU - A + (HX711)
    • PUTIH - A- (HX711)
    • HITAM - E- (HX711)
    • MERAH - E + (HX711)
  • HX711 (penguat sel beban)

    • GND - G
    • VCC - 5V
    • DT - D4
    • SCK - D3
  • Servo (putaran berterusan)

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

Langkah 4: Kraf

Kraf
Kraf
Kraf
Kraf
Kraf
Kraf

Dispenser air

  1. Lekatkan servo ke bahagian atas bahagian bawah dispenser (seperti yang ditunjukkan dalam foto).
  2. Bor lubang kecil di kenop dispenser air.
  3. Sambungkan kepala servo ke kenop dengan wayar (pastikan kepala servo berada di kedudukan 0 dan pastikan wayar rapat).
  4. Lekatkan satu sensor ultrasonik ke bahagian dalam tangki, berhampiran bahagian atasnya (sensor menghadap ke bawah).
  5. Lekatkan satu sensor ultrasonik di bawah kenop air ke arah luar (pastikan ia cukup tinggi sehingga mangkuk air tidak mempengaruhi pembacaannya).

Dispenser makanan

  1. Skru servo ke pemegangnya (bahagian bercetak 3D).
  2. Lek corong (bahagian bercetak 3D) ke pemegang tangki (bahagian bercetak 3D).
  3. Sambungkan pemegang tangki ke dudukan dispenser (bahagian bercetak 3D) dan pasangkan tangki di tempatnya.
  4. Masukkan bahagian berputar (dicetak 3D) ke tempatnya dan melalui bahagian getah berputar pada dispenser.
  5. Skru bahagian pemegang servo ke dudukan dispenser.
  6. Lekatkan satu sensor ultrasonik ke bahagian dalam penutup tangki (sensor menghadap ke bawah).
  7. Lekatkan satu sensor ultrasonik ke sisi pemegang tangki menghadap ke arah tempat makan haiwan kesayangan anda.

Muatkan Sel

Lekatkan setiap sel beban ke pangkalan dan plat bercetak 3D (anak panah sel beban menghadap ke bawah)

Langkah 5: Mosquitto

Mosquitto
Mosquitto

Buka Mosquitto (pengguna windows: pergi ke folder Mosquitto, buka cmd dan masukkan: "mosquitto -v").

* Untuk mendapatkan alamat IP dalaman komputer, jalankan cmd dan masukkan "ipconfig".

Langkah 6: Arduino IDE

Arduino IDE
Arduino IDE
Arduino IDE
Arduino IDE

Buka Arduino IDE dan ikuti bahagian "Pasang Tambahan ESP8266 di Arduino IDE" dari panduan ini:

Pergi ke Tools-> Board dan pilih "LOLIN (WEMOS) D1 R2 & mini".

Pergi ke Sketch-> Include Library-> Add. ZIP Library… dan tambahkan 3 perpustakaan dalam fail "Libraries.rar".

Buka lakaran "Kalibrasi HX711", muat naik ke kedua ESP8266, jalankan dan ikuti arahan (di awal kod dan di monitor bersiri) untuk menentukur sel beban (pastikan bahawa kadar baud monitor bersiri ditetapkan ke 115200 baud).

* Tuliskan faktor penentukuran dan ofset sifar (untuk kegunaan kemudian).

Buka lakaran "FoodDispenser" dan "WaterDispenser" melalui IDE dan ubah pemboleh ubah berikut dengan tetapan anda (dalam fail "Settings.h"):

  • WIFI_SSID
  • WIFI_PASSWORD
  • MQTT_SERVER
  • LOAD_CELL_CALIBRATION_FACTOR
  • LOAD_CELL_ZERO_OFFSET

* Dalam MQTT_SERVER masukkan alamat IP dalaman dari langkah "Mosquitto".

Muat naik lakaran ke dua ESP8266 anda (satu kod untuk setiap papan).

* Perhatikan bahawa kami telah menggunakan perpustakaan "AsyncMqttClient" dan bukan perpustakaan "pubsubclient" yang lebih biasa sejak esp8266 terhenti ketika digabungkan dengan perpustakaan "HX711".

* Jika Anda memilih untuk membuat perubahan pada kode, pastikan untuk tidak menggunakan fungsi "delay" dan "yield" di dalam fungsi callback kerana akan menyebabkan crash.

Langkah 7: Ngrok

Ngrok
Ngrok
Ngrok
Ngrok

Buka zip fail yang dimuat turun (dari pautan dalam langkah "Perisian").

Buka "ngrok.exe" dan jalankan arahan "ngrok http 1880".

* Anda boleh memilih kawasan yang paling dekat dengan anda (au, eu, ap, us, jp, in, sa). Lalai adalah kita.

Contohnya menjalankan perintah: "ngrok http --region = eu 1880" (tetapkan wilayah ke Eropah).

Sekarang anda akan melihat alamat web anda untuk penggunaan luaran (kami akan merujuk alamat ini sebagai YOUR_NGROK_ADDRESS).

Langkah 8: Node-MERAH

Node-MERAH
Node-MERAH
Node-MERAH
Node-MERAH
Node-MERAH
Node-MERAH

Buka Node-RED (pengguna tingkap: buka cmd dan masukkan "node-red") dan pergi ke https:// localhost: 1880 (jika tidak berfungsi, cari alamat di tetingkap cmd yang tertulis "Pelayan sekarang" berlari di ").

Buka menu (di sudut kanan atas) dan tekan "Urus palet".

Pergi ke tab "Pasang", cari dan pasang modul ini:

  • simpul-merah-contrib-berterusan.
  • node-red-contrib-cron-plus.
  • node-red-contrib-ui-led.
  • papan pemuka simpul-merah.
  • node-red-contrib-telegrambot.

Pergi ke menu-> Import dan muat naik fail aliran (ekstrak fail RAR yang dilampirkan dan muat naik fail json).

Lihat gambar yang dilampirkan untuk penjelasan mengenai aliran.

Anda perlu mengubah node ini dengan tetapan anda:

  • Kemas kini profil nod "Telegram sender" dengan nama pengguna dan token bot anda (gunakan panduan ini:
  • Di bahagian bawah aliran ubah muatan nod "Ngrok Alamat" dan "Telegram Chat Id" (dapatkan id sembang anda dengan menggunakan panduan Telegram pada pautan di atas).
  • Di bahagian bawah aliran ada simpul tetapan - ubah mengikut keperluan anda:

    • Aktifkan haiwan kesayangan makan / minum.
    • Tentukan berapa jarak untuk mengaktifkan amaran makan / minum.
    • Tentukan pemprosesan data mangkuk dan tangki.
    • Ubah masa pengeluaran (untuk berapa lama pengeluaran berlaku - mod automatik dan tekan butang).
    • Tentukan peratusan ambang limpahan mangkuk makanan (batalkan pengeluaran makanan automatik jika terdapat cukup makanan di dalam mangkuk).

Sebarkan aliran (di kanan atas).

* Hanya pada penyebaran pertama, anda akan melihat amaran di tetingkap debug mengenai fail 'persistance.json' yang hilang. Jangan risau kerana pada masa ini anda akan menetapkan waktu makan atau menukar suis air automatik, ia akan menginisialisasi fail ini dan anda tidak lagi mempunyai amaran ini.

Anda boleh melihat papan pemuka anda di https:// NODE-RED_PC'S_INTERNAL_IP_ADDRESS: 1880 / ui (jika anda disambungkan ke LAN yang sama dengan pelayan) atau YOUR_NGROK_ADDRESS / ui (dari mana-mana sahaja).

Langkah 9: Selesaikan

Kemaskan
Kemaskan

Kami harap tutorial ini bermaklumat dan mudah dibaca, difahami dan dilaksanakan.

Jangan ragu untuk bertanya apa-apa kepada kami.

Disyorkan: