Bangun Smart Pet Feeder Sendiri dengan Arduino Nano
Komponen dan Perlengkapan
Arduino Nano R3 × 1
Adafruit Real Time Clock × 1
Continuous Rotation Servo × 1
Cereal dispenser × 1
Hall sensor UNIPOLAR × 1
Rod Magnets 3mm diameter, 5mm panjang × 6
Adafruit RGB Backlight LCD - 16x2 × 1
lcd i2c backpack × 1
Apem Push button momentary IP67 × 1
Small push buttons momentary × 1
LED (generic) × 6
Hammond Multi ABS housing with flange × 1
Aplikasi dan Layanan Online
LCD character generator
Tentang Proyek Ini
Update 2018-09-06
Dua pet feeder saya bekerja dengan sempurna selama 7 bulan terakhir. Kami certainly peduli dengan hewan peliharaan kami selama siang hari, tetapi sekarang mereka mendapatkan pakan pada waktu yang teratur. Saya sangat senang dengan sistem ini!
Mengapa Feeder Hewan Peliharaan Lagi?
Versi feeder hewan peliharaan saya didasarkan pada mikrokontroler Arduino. Bahan yang digunakan relatif murah dan saya pikir mudah untuk dibangun!
Tentu ada banyak versi di luar sana tetapi saya tidak dapat menemukan proyek lengkap, siap dibangun dengan fitur yang saya butuhkan jadi saya memulai dari nol.
Ini adalah fitur-fiturnya:
*Portasi yang akurat* setiap kali! (dengan menggunakan sensor Hall)
Dua waktu pakan sehari
*Real Time Clock yang sangat* akurat (Hanya dengan chip DS3231 asli)
Anda dapat membatalkan pakan mendatang secara individu untuk kedua timer dengan layar dan indikator LED. Pembatalan secara otomatis direset setelah waktu yang ditetapkan telah berlalu.
Fungsi pakan manual (satu porsi per tekanan tombol)
Porsi yang dapat disesuaikan untuk masing-masing dari dua waktu pakan (1-9 porsi)
Gambaran semua parameter yang diatur di layar utama
Sistem menu yang mudah dinavigasi
Indikasi LED jika pakan berhasil
Timer backlight LCD (mati setelah 30 detik, menyala dengan tekanan tombol apapun)
Waktu dan pengaturan lain disimpan dengan aman dalam memori (EEPROM)
VIDEO Demonstrasi:
untuk video klik HERE
video penjelasan lebih rinci: klik HERE
Pet Feeder dalam slow-mo! klik HERE
Foto:
Bagian yang Diperlukan:
1x Cereal dispenser (murah di Ebay)
beberapa (bekas) kayu untuk membuat montir cereal dispenser
1x Arduino Uno
1x I2C DS3231 (sangat akurat) atau DS1307 Real Time Clock
1x LCD display 16 karakter / 2 baris
1x I2C backpack untuk layar LCD
1x Continues rotation Servo (beli yang bagus!)
1x Honeywell SS443R Unipolar Hall sensor
1x 12Volts/1 Amp external power supply (wall wart)
7x Push Buttons - Momentary
6x LED (2x MERAH, 3x HIJAU, 1 KUNING)
2x resistor 1KΩ (untuk LED merah)
4x resistor 560Ω (untuk LED hijau dan kuning)
1x enclosure untuk elektronik
power plug female dan connector untuk menghubungkan servo eksternal dan hall sensor
banyak, banyak LEM PANAS.
Paling baik menggunakan tegangan yang lebih tinggi untuk servo jika memungkinkan. Lebih banyak daya! Servo HSR-2645CRH saya dapat menahan 7,4 Volt jadi jika Anda juga ingin melakukan ini Anda membutuhkan:
Perf board
LM317T Variable voltage regulator
3 resistor untuk mengatur tegangan output (1KΩ, 150kΩ dan 4K7)
2 kapasitor terpolar (220µF, 10µF)
heat sink tidak diperlukan, servo akan berputar 1-2 detik setiap hari ;)
Online Anda dapat banyak kalkulator LM317.
Wadah Pakan Hewan Peliharaan
Cereal dispenser yang paling murah dan mudah digunakan adalah yang dapat Anda temukan di banyak toko dan di Ebay. Saya membeli cereal dispenser dual di Ebay untuk 15 euro termasuk pengiriman (UK ke Belanda)
Tantangannya adalah membuat montir untuk feeder dan mencari di internet tidak membantu saya banyak jadi saya mencari di gudang saya dan menemukan beberapa potongan kayu Cedar yang indah.
Kayu yang memegang plastic cereal dispenser tebal 3 cm jadi tidak goyah! Anda perlu yakin lubang (dasar feeder saya 86mm) rapat jadi ukur sebelum bor! Lebih baik bor lubang yang lebih kecil dan bentuk sedikit daripada lubang yang terlalu besar.
Lihat foto-foto untuk mendapat ide mengapa dan bagaimana itu pas bersama.
Servo dan Pasangannya ke Roda Palet Dispenser
Pastikan untuk membeli servo yang bagus. Pertama saya membeli servo MG996R yang saya modifikasi untuk rotasi berkelanjutan tetapi itu sia-sia... Lalu saya dapat yang berkualitas, dalam kasus saya Servo HSR-2645CRH
Haruslah model rotasi berkelanjutan!! Jangan mencoba memodifikasi servo normal seperti yang saya lakukan. Performa tidak cukup baik dan saat berhenti, tidak segera.
video uji coba servo: klik HERE
Koneksi Servo ke roda palet dispenser
Jadi sekarang pertanyaannya: bagaimana menghubungkan servo ke roda palet feeder? Tampak di awal bagian paling sulit dari proyek tetapi ternyata sangat sederhana.
Saya mengambil potongan Polycarbonate 5mm dan dengan bor raut saya memotong cakaran bundar sekitar 6 cm. Di tengah saya bor lubang 8 mm (tebal sumbu feeder. Sumbu plastik ini dapat dilepas dari roda palet)
Di luar saya bor 6 lubang 3 mm, tebal magnet. Ini digunakan untuk memberi umpan balik Arduino tentang posisi roda palet feeder.
Karena roda palet memiliki 6 palet karet saya menggunakan 6 magnet dan membaginya di sekitar tepi cakaran polycarbonate. 360 derajat dibagi 6 adalah 60 derajat. Magnet batang akan pas rapat.
Sensor hall akan mendeteksi masing-masing dari 6 magnet jadi kita dapat menggunakan informasi tersebut untuk memosisikan dan menghentikan roda palet secara presisi. Variabel waktu tunda berhenti servo digunakan untuk menambahkan tunda setelah pakan, sebelum menghentikan servo. Dengan tunda ini Anda dapat menyesuaikan posisi tepat roda palet. Ini penting karena jika posisi 'berhenti' salah, pakan tidak akan keluar dari roda palet sepenuhnya. Juga posisi sensor hall mungkin berbeda dalam kasus Anda. Menyesuaikan variabel waktu tunda berhenti servo akan menyelesaikan ini.
Sekarang kita dapat melem sumbu roda palet ke dalam cakaran polycarbonate.
Servo horn bundar putih di-bolt pada cakaran polycarbonate dengan 3 baut M3. gunakan beberapa baut ekstra sebagai spasi dan jangan terlalu rapat!
Sekarang servo adalah bagian dari assembly feeder jadi kita dapat meletakkannya di montir kayu dan mengukur seberapa tinggi potongan kayu harus berada di bawah servo.
Sensor Hall
Sensor hall yang saya gunakan adalah tipe UNIPOLAR. Ini akan memberikan output LOW jika magnet di dekat dan TIDAK MEMERLUKAN polaritas terbalik magnet untuk mengatur output ke HIGH lagi. Jadi gunakan sensor hall Unipolar, jauh lebih mudah.
!!! Sensor hall membutuhkan resistor pull up 10KΩ.
Saya memasang resistor SMD 0805 tepat di atas sensor hall tetapi Anda dapat melakukannya dengan caranya sendiri. Jangan lupa resistor ini!
Lalu saya mengambil bola poin lama dan menggunakan plastik sebagai penahan untuk sensor.
Kotak Elektronik
Saya menggunakan kotak ABS Hammond dengan flange. 120 x 65 x 40 mm
untuk koneksi eksternal saya menggunakan connector soket presisi female, bukan yang murah Cina. Saya menggunakan ini banyak dalam semua proyek saya. Tidak ada yang lebih buruk dari koneksi buruk yang menyebabkan kegagalan (sulit ditemukan).
Untuk memudahkan pemrograman Arduino, saya memiliki koneksi FTDI eksternal:
Panel Depan
Saya mencoba banyak cara untuk membuat panel depan yang murah dan tampak bagus...
Pertama saya menggunakan Mod Podge untuk melem cetakan laser kertas di depan kotak dan menutupnya dengan lebih banyak Mod Podge. --> GAGAL
Lalu saya mencoba cat jernih, berdasarkan dispersi akrilat poliuretan. Sangat awet dan kuat saat kering. Saya melem kertas dengan sangat baik di kotak dan mencat sisi atas cetakan panel depan tampak sangat bagus TAPI tidak akan menempel pada bagian toner printer laser dari cetakan. --> GAGAL
Setelah itu, saya mengambil cetakan laser panel depan dan hanya melaminasi atas dengan laminasi pvc. finishing yang sangat bagus, melindungi depan dan memunculkan warna dengan indah. Lalu lagi, saya melem kertas yang telah dilaminasi pada kotak dengan cat. Ide saya adalah cat akan meresap ke dalam kertas membuatnya tahan air. Tapi karena saya menggunakan kertas tebal itu tidak berhasil dan membuatnya basah untuk menguji ketahanan air, kertas keriting dari kotak. --> GAGAL SEPARU, perlu diselidiki lebih lanjut.
Percobaan lain: saya membeli foil aluminium khusus, dibuat untuk pencetakan laser. 2,25 euro per lembar. Hasilnya bagus tetapi saya ingin melindungi toner dengan foil jernih khusus. Itu tidak berhasil karena saya tidak dapat menghilangkan ketidaksempurnaan seperti terlihat pada foto 1:
Lalu percobaan lain untuk melindungi dengan cat jernih, itu membuat foil aluminium sangat glos! TAPI... lagi, cat tidak akan menempel pada toner jadi saya menyerah pada cat secara permanen...
AKHIRNYA... Saya menggunakan cetakan foil tanpa perlindungan... Ini akan menunjukkan sidik jari jika sering ditangani (lihat di bawah tombol KEMBALI pada foto di bagian atas halaman ini, kotak dalam pakan ayam) jadi tidak ideal tetapi masih cukup baik untuk saya.
Lebih banyak foto tidak diperbolehkan sepertinya jadi...
Itu saja...senangbersenang-senang!
Kode
Pet Feed-O-Matic v 1.1 - 20-02-2018
Pet Feed-O-Matic v 1.1 - 20-02-2018
// c++ stuff... //#include <Arduino.h> //#line 1 //#line 1 "/Users/Erik/Documents/PlatformIO/Projects/180202-151127-uno/src/Pet_Feeder_1_1_ENG.cpp" /* _ _ /\ | | (_) / \ _ __ __| |_ _ _ _ __ ___ / /\ \ | '__/ _` | | | | | '_ \ / _ \ / ____ \| | | (_| | |_| | | | | | (_) | /_/ \_\_| \__,_|\__,_|_|_| |_|\___/ _____ _ ______ _ | __ \ | | | ____| | | | |__) |__| |_ | |__ ___ ___ __| | ___ _ __ | ___/ _ \ __| | __/ _ \/ _ \/ _` |/ _ \ '__| | | | __/ |_ | | | __/ __/ (_| | __/ | |_| \___|\__| |_| \___|\___|\__,_|\___|_| Erik de Ruiter ----------------------------------------------------------------------------- To do: - remote feeding? - feeder stop delay as menu editable item last change: dinsdag 20 februari 2018 - 17:20:28 FEATURES: - *Accurate portions* each time! (by using a Hall sensor) - Two feeding times, once a day - *Extremely* accurate Real Time Clock (Only with genuine DS3231 chip) - Cancel upcoming feeding individually for both timers with display and Led indicator. Automatically reset after time has passed. - Manual feed function (one portion per button press) - Adjustable portions for each of the two feeding times (1-9 portions) - Overview of all set parameters in the main screen - Easy to navigate menu system - LED indication if feeding was successful - LCD backlight timer (off after 30 sec, on with any button press) - Backup in the event of a failing Hall sensor - Hass sensor LED will blink until midnight if the Hall sensor has failed - Time and other settings are safely stored in EEPROM WEBSITES: LCD HD44780 character generator website to make your own lcd symbols https://omerk.github.io/lcdchargen/ Arduino sketch Large letter comment generator https://patorjk.com/software/taag/#p=display&c=c%2B%2B&f=Big&t=Comment Revisions: zondag 28 januari 2018 - 20:17:10 */
Skema Rangkaian
Arduino based Pet FeederSaya menggunakan Arduino IDE 1.8.2. HATI-HATI JANGAN MEMILIKI DUA VERSI LIBRARY YANG SAMA DI FOLDER LIBRARY ANDA!!arduino_pet_feeder_final_eng_v1_0-ino_hex_libraries_dsoo0HscCr.zip