Isi kandungan:

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

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

Video: IoT Treat Dispenser untuk Haiwan Peliharaan: 7 Langkah (dengan Gambar)
Video: Cara Memberi Kucing Makan yang Betul 2024, November
Anonim
Image
Image
IoT Treat Dispenser untuk Haiwan Peliharaan
IoT Treat Dispenser untuk Haiwan Peliharaan

Saya mempunyai dua kucing, dan harus memberi mereka rawatan kira-kira 3 kali sehari menjadi sangat mengganggu. Mereka memandang saya dengan wajah comel dan tatapan tajam mereka, kemudian berlari ke kotak yang penuh dengan kehijauan kucing, mengeong dan meminta mereka. Saya telah memutuskan bahawa sudah cukup. Tidak perlu bangun hanya untuk memberi kucing beberapa rawatan. Sekarang adalah masa untuk mesin penyediaan rawatan, kerana seperti kata pepatah: "Pengaturcara ada untuk membuat perkara yang rumit untuk melakukan perkara-perkara sederhana."

DFRobot menaja projek ini.

Senarai bahagian:

  • DFRobot Raspberry Pi 3
  • Modul Kamera DFRobot Raspberry Pi
  • Motor Stepper DFRobot dengan Planetary Gear
  • LCD I2C 16x2
  • Barel Jack ke Terminal
  • Pemandu Motor Stepper DRV8825
  • Kapasitor 100 µF
  • Arduino UNO & Genuino UNO
  • Wayar pelompat (generik)

Langkah 1: Membuat Reka Bentuk

Membuat Reka Bentuk
Membuat Reka Bentuk

Pertama adalah pilihan bagaimana mengawal mesin yang baru saya fikirkan. Bluetooth mungkin jaraknya terlalu pendek, hanya 30 kaki tanpa halangan. Dengan maklumat ini, saya memilih untuk menggunakan WiFi. Tetapi sekarang, bagaimana saya menggunakan WiFi untuk mengawal mesin? Raspberry Pi 3 mempunyai kemampuan WiFi bawaan, membiarkan saya menggunakan Flask untuk menjadi tuan rumah laman web. Seterusnya adalah topik kandang dan bagaimana membuang rawatan. Saya memutuskan reka bentuk roda berputar, di mana rawatan akan jatuh ke bahagian kecil, dipusingkan, dan kemudian rawatan akan jatuh ke tanjakan dan bergerak ke bahagian 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 mulakan dengan membuat model asas untuk bekas rawatan. Rawatan jatuh ke hopper mini di mana mereka kemudian dibawa ke roda berputar.

Seterusnya saya menambahkan Raspberry Pi 3 pada reka bentuk Fusion, bersama dengan elektronik lain, termasuk modul kamera LCD dan Raspberry Pi. Saya juga membuat hopper yang dapat menyimpan makanan tambahan.

Dinding untuk dispenser merawat seharusnya dipotong dari papan lapis 1/4 inci pada penghala CNC. Terdapat 7 keping, 4 dinding, lantai, dan bahagian atas dan penutup yang boleh dibuka dan ditutup untuk memperlihatkan makanan.

Terakhir, saya membuat pemegang "mewah" untuk membuka penutupnya.

Langkah 3: Menyiapkan Pi

DFRobot menghubungi saya dan menghantar Modul Kamera Raspberry Pi 3 dan Raspberry Pi mereka. Oleh itu, setelah saya membuka kotak, saya mula bekerja dengan menyediakan kad SD. Mula-mula saya pergi ke halaman Raspberry Pi Downloads dan memuat turun versi Raspbian terbaru. Saya kemudian mengekstrak fail tersebut dan memasukkannya ke dalam direktori yang sesuai. Anda tidak boleh hanya menyalin / menampal fail.img ke kad SD, anda harus "membakarnya" ke kad. Anda boleh memuat turun utiliti pembakar seperti Etcher.io untuk memindahkan imej OS dengan mudah. Setelah fail.img ada di kad SD saya, saya memasukkannya ke dalam Raspberry Pi dan memberikannya kuasa. Selepas kira-kira 50 saat saya mencabut kabel dan mengeluarkan kad SD. Seterusnya saya meletakkan kad SD kembali ke PC saya dan pergi ke direktori "boot". Saya membuka Notepad dan menyimpannya sebagai fail kosong bernama "ssh" tanpa sambungan. Terdapat juga fail yang saya tambahkan bernama "wpa_supplicant.conf" dan memasukkan teks ini ke dalamnya: network = {ssid = psk =} Kemudian saya menyimpan dan mengeluarkan kad itu dan memasukkannya semula ke dalam Raspberry Pi 3. Ini sekarang seharusnya memungkinkan penggunaan SSH dan menyambung ke WiFi.

Langkah 4: Memasang Perisian

Terdapat beberapa perisian yang berbeza yang dapat menstrim video, seperti VLC dan gerakan, tetapi saya memutuskan untuk menggunakan mjpeg-streamer kerana kependamannya yang rendah dan pemasangannya mudah. Menurut arahan di laman web ini, lakukan: klon git https://github.com/jacksonliam/mjpg-streamer.git Ke folder, kemudian ketik: sudo apt-get install cmake libjpeg8-dev Untuk memasang perpustakaan yang diperlukan. Ubah direktori anda ke dalam folder yang anda muat turun dan kemudian ketik: make Diikuti oleh: sudo make install Untuk menyusun perisian. Akhirnya masukkan: eksport LD_LIBRARY_PATH =. Dan untuk menjalankannya ketik:./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so" Anda boleh mengakses aliran dengan menuju ke: https:// IP tempatan pi: 8080 / aliran. html Untuk melihat aliran.

Langkah 5: Menyiapkan Pelayan Web

Untuk memastikan mesin dikendalikan secara luaran dengan WiFi, saya memerlukan pelayan web. Pelayan laman web pada dasarnya menyajikan laman web apabila diminta, biasanya oleh penyemak imbas. Saya mahukan sesuatu yang cepat dan mudah untuk disediakan dan digunakan, mengambil Apache dari meja. Saya juga ingin menghubungkan antara pelayan web dengan Python supaya saya dapat mengawal Arduino Uno dengan PySerial. Pencarian ini akhirnya membawa saya ke Flask, perpustakaan Python yang bagus yang membolehkan pengguna membuat pelayan web dengan cepat. Kod penuh dilampirkan ke halaman projek ini. Skrip python pada dasarnya menyediakan 2 halaman web, satu yang dihoskan di direktori root, '/', dan satu lagi yang dihoskan di '/ dispense'. Halaman indeks mempunyai bentuk HTML yang ketika dikirim mengirimkan permintaan posting ke halaman pengeluaran. Halaman pengeluaran kemudian memeriksa apakah nilai pos betul, dan jika itu adalah mesej 'D / n' dihantar melalui siri ke Arduino Uno.

Langkah 6: Mengawal IO

Mengawal IO
Mengawal IO
Mengawal IO
Mengawal IO
Mengawal IO
Mengawal IO
Mengawal IO
Mengawal IO

Saya memutuskan untuk menggunakan DRV8825 untuk menggerakkan motor stepper saya, terutamanya kerana hanya memerlukan 2 pin IO dan mempunyai had semasa yang boleh disesuaikan. Saya cuba menggunakan L293D tetapi ia tidak dapat menahan 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 mempunyai tarikan 1.2 amp, jadi saya menyesuaikan voltan VREF ke.6V. Seterusnya ialah LCD. Saya mahu menggunakan I2C untuk mengurangkan jumlah IO yang diperlukan dan mempermudah kodnya. Untuk memasang perpustakaan, cari "LiquidCrystal_I2C" dan pasangkannya. Akhirnya, Arduino Uno memeriksa maklumat baru dalam penyangga bersiri dan jika sesuai dengan 'D'. Sekiranya berlaku, Uno menyebabkan motor stepper bergerak 180 darjah dan kemudian -72 darjah untuk mengelakkan rawatan terkena.

Disyorkan: