Daftar Isi:

IoT Treat Dispenser untuk Hewan Peliharaan: 7 Langkah (dengan Gambar)
IoT Treat Dispenser untuk Hewan Peliharaan: 7 Langkah (dengan Gambar)

Video: IoT Treat Dispenser untuk Hewan Peliharaan: 7 Langkah (dengan Gambar)

Video: IoT Treat Dispenser untuk Hewan Peliharaan: 7 Langkah (dengan Gambar)
Video: FAKTA UNIK ANABUL GOLDEN RETRIEVER YANG KAMU BELUM TAU‼️🐶 #shorts 2024, Juli
Anonim
Image
Image
IoT Treat Dispenser untuk Hewan Peliharaan
IoT Treat Dispenser untuk Hewan Peliharaan

Saya punya dua kucing, dan harus memberi mereka camilan sekitar 3 kali sehari menjadi cukup merepotkan. Mereka akan menatapku dengan wajah imut dan tatapan intens, lalu berlari ke kotak penuh kucing hijau, mengeong dan memohon untuk mereka. Saya telah memutuskan bahwa cukup sudah. Tidak perlu lagi bangun hanya untuk memberi kucing beberapa camilan. Sekarang adalah waktu untuk mesin pengeluaran perawatan, karena seperti kata pepatah: "Programmer ada untuk membuat hal-hal rumit untuk melakukan hal-hal sederhana lebih sedikit."

DFRobot mensponsori proyek ini.

Daftar bagian:

  • DFRobot Raspberry Pi 3
  • Modul Kamera DFRobot Raspberry Pi
  • Motor Stepper DFRobot dengan Planetary Gear
  • I2C LCD 16x2
  • Barrel Jack ke Terminal
  • Driver Motor Stepper DRV8825
  • Kapasitor 100 F
  • Arduino UNO & Genuino UNO
  • Kabel jumper (umum)

Langkah 1: Membuat Desain

Membuat Desain
Membuat Desain

Pertama adalah pilihan bagaimana mengontrol mesin pemikiran saya yang baru. Bluetooth akan memiliki jangkauan yang terlalu pendek, hanya 30 kaki tanpa penghalang. Dengan informasi ini, saya memilih untuk menggunakan WiFi. Tapi sekarang, bagaimana cara menggunakan WiFi untuk mengontrol mesin? Raspberry Pi 3 memiliki kemampuan WiFi bawaan, memungkinkan saya menggunakan Flask untuk meng-host halaman web. Selanjutnya adalah topik tentang kandang dan cara membagikan suguhan. Saya memutuskan pada desain roda yang berputar, di mana camilan akan jatuh menjadi bagian-bagian kecil, diputar, dan kemudian camilan akan jatuh ke jalan dan berjalan ke bagian depan mesin.

Langkah 2: Membuat Model Fusion 360

Membuat Model Fusion 360
Membuat Model Fusion 360
Membuat Model Fusion 360
Membuat Model Fusion 360
Membuat Model Fusion 360
Membuat Model Fusion 360

Saya mulai dengan membuat model dasar untuk wadah camilan. Perlakukan jatuh ke dalam mini-hopper di mana mereka kemudian dibawa ke roda berputar.

Selanjutnya saya menambahkan Raspberry Pi 3 ke desain Fusion, bersama dengan elektronik lainnya, termasuk modul kamera LCD dan Raspberry Pi. Saya juga membuat hopper yang bisa menyimpan suguhan tambahan.

Dinding untuk dispenser perawatan seharusnya dipotong dari kayu lapis 1/4 inci pada router CNC. Ada 7 bagian, 4 dinding, lantai, dan bagian atas dan penutup yang dapat dibuka dan ditutup untuk mengekspos suguhan.

Terakhir, saya membuat pegangan "mewah" untuk membuka tutupnya.

Langkah 3: Menyiapkan Pi

DFRobot menghubungi saya dan mengirim Modul Kamera Raspberry Pi 3 dan Raspberry Pi mereka. Jadi setelah saya membuka kotak saya langsung bekerja dengan menyiapkan kartu SD. Pertama saya pergi ke halaman Unduhan Raspberry Pi dan mengunduh versi terbaru dari Raspbian. Saya kemudian mengekstrak file dan memasukkannya ke direktori yang nyaman. Anda tidak bisa hanya menyalin/menempelkan file.img ke kartu SD, Anda harus "membakarnya" ke kartu. Anda dapat mengunduh utilitas pembakaran seperti Etcher.io untuk mentransfer gambar OS dengan mudah. Setelah file.img ada di kartu SD saya, saya memasukkannya ke Raspberry Pi dan memberinya kekuatan. Setelah sekitar 50 detik saya mencabut kabelnya dan mengeluarkan kartu SD. Selanjutnya saya memasukkan kartu SD kembali ke PC saya dan pergi ke direktori "boot". Saya membuka Notepad dan menyimpannya sebagai file kosong bernama "ssh" tanpa ekstensi TANPA. Ada juga file yang saya tambahkan bernama "wpa_supplicant.conf" dan masukkan teks ini ke dalamnya: network={ ssid= psk=} Kemudian saya menyimpan dan mengeluarkan kartu dan memasukkannya kembali ke dalam Raspberry Pi 3. Ini sekarang memungkinkan untuk penggunaan SSH dan koneksi ke WiFi.

Langkah 4: Menginstal Perangkat Lunak

Ada beberapa perangkat lunak berbeda yang dapat melakukan streaming video, seperti VLC dan gerakan, tetapi saya memutuskan untuk menggunakan mjpeg-streamer karena latensinya yang rendah dan pemasangan yang mudah. Menurut petunjuk di situs, lakukan a:git clone https://github.com/jacksonliam/mjpg-streamer.git Ke dalam folder, lalu ketik: Sudo apt-get install cmake libjpeg8-dev Untuk menginstal perpustakaan yang diperlukan. Ubah direktori Anda ke dalam folder yang Anda unduh dan kemudian ketik: make Diikuti oleh: sudo make install Untuk mengkompilasi perangkat lunak. Terakhir masukkan: export LD_LIBRARY_PATH=. Dan untuk menjalankannya ketik:./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so" Anda dapat mengakses streaming dengan menuju ke: https:// ip lokal pi:8080/stream. html Untuk melihat aliran.

Langkah 5: Menyiapkan Server Web

Untuk membuat mesin dikontrol secara eksternal oleh WiFi, saya membutuhkan server web. Server web pada dasarnya menyajikan halaman web saat diminta, biasanya oleh browser. Saya menginginkan sesuatu yang cepat dan sederhana untuk diatur dan digunakan, mengambil Apache dari meja. Saya juga ingin menghubungkan server web dengan Python sehingga saya dapat mengontrol Arduino Uno dengan PySerial. Pencarian ini akhirnya membawa saya ke Flask, pustaka Python yang bagus yang memungkinkan pengguna membuat server web dengan cepat. Kode lengkap dilampirkan ke halaman proyek ini. Skrip python pada dasarnya menyiapkan 2 halaman web, satu yang di-host di direktori root, '/', dan yang lain di-host di '/dispense'. Halaman indeks memiliki bentuk HTML yang ketika dikirimkan mengirimkan permintaan posting ke halaman pengeluaran. Halaman pengeluaran kemudian memeriksa apakah nilai kiriman sudah benar, dan jika itu adalah pesan 'D\n' akan dikirim melalui serial ke Arduino Uno.

Langkah 6: Mengontrol IO

Mengontrol IO
Mengontrol IO
Mengontrol IO
Mengontrol IO
Mengontrol IO
Mengontrol IO
Mengontrol IO
Mengontrol IO

Saya memutuskan untuk menggunakan DRV8825 untuk menggerakkan motor stepper saya, terutama karena hanya membutuhkan 2 pin IO bersama dengan pembatasan arus yang dapat disesuaikan. Saya mencoba menggunakan L293D tetapi tidak dapat menangani beban motor stepper. DRV8825 dikendalikan dengan menggerakkan pin STEP melalui PWM, dan arahnya dikendalikan dengan menarik pin DIR tinggi atau rendah. Motor stepper yang saya gunakan memiliki draw 1,2 amp, jadi saya menyesuaikan tegangan VREF menjadi 0,6V. Berikutnya adalah LCD. Saya ingin menggunakan I2C untuk mengurangi jumlah IO yang dibutuhkan dan menyederhanakan kode. Untuk menginstal perpustakaan, cukup cari "LiquidCrystal_I2C" dan instal. Terakhir, Arduino Uno memeriksa informasi baru di buffer serial dan apakah cocok dengan 'D'. Jika ya, Uno menyebabkan motor stepper bergerak 180 derajat dan kemudian -72 derajat untuk mencegah suguhan tersangkut.

Direkomendasikan: