Bagaimana Cara Membuat Sistem Pemberian Makan Otomatis Untuk Hewan Peliharaan Anda?
Hewan peliharaan perlu diberi makan tepat waktu sehingga mereka bisa menjaga kesehatan yang baik. Pemilik hewan peliharaan tidak tersedia di rumah 24/7, kadang-kadang mereka pergi untuk pertemuan bisnis ke kota lain atau rumah orang lain sehingga hewan peliharaan menderita dalam ketidakhadiran mereka karena kekurangan makanan. Pengumpan gravitasi tersedia di pasar yang dapat memberi makan hewan peliharaan secara otomatis tetapi harganya agak mahal dan membutuhkan area yang luas untuk penempatannya. Hari ini, saya akan merancang sistem pemberian makan otomatis untuk hewan peliharaan domestik yang akan meminimalkan upaya manusia untuk memberi makan hewan peliharaan secara luas. Yang akan menempatkan makanan di dalam wadah dan akan terisi ulang secara otomatis segera setelah turun di bawah level tertentu. Oleh karena itu, ikuti tutorial ini dan bersiaplah untuk menerapkan ide inovatif ini di rumah Anda.
Bagaimana Cara Mengatur Aparat Dan Mengotomatiskannya Menggunakan Arduino?
Tujuan dari teknik ini adalah untuk membuat sistem yang lebih efektif dari sistem yang tersedia di pasar seperti gravity feeder, dengan biaya yang relatif rendah. Sistem kami akan bertanggung jawab untuk menjaga pasokan makanan dan air yang konstan baik untuk hewan peliharaan. Pertama, kami akan merancang sistem pemberian makan air otomatis dan kedua, kami akan merancang pengumpan makanan otomatis untuk hewan peliharaan kami.
Langkah 1: Komponen yang Dibutuhkan (Perangkat Keras)
Langkah 2: Komponen yang Dibutuhkan (Perangkat Lunak)
Sebelum merakit rangkaian pada perangkat keras harus disimulasikan. Setelah simulasi, kami mengetahui apakah rangkaian kami akan bekerja secara akurat atau tidak. Untuk itu saya sertakan software simulasinya dibawah ini dan untuk itu software yang dibutuhkan adalah Proteus Professional.
Langkah 3: Prinsip Kerja Sistem Pemompaan Air Otonom
Di antara semua komponen, komponen yang paling penting adalah Transistor BC 547. Total ada 7 transistor dan mereka akan merasakan ketinggian air. LED akan memantau ketinggian air di Wadah. saat air naik, sensor mulai bersentuhan dengan air dan transistor diaktifkan dan ada perkembangan arus di transistor yang membuat LED menyala. Ada resistor pembatas arus yang terlibat antara transistor dan LED dan mencegah tegangan yang lebih tinggi untuk masuk ke LED. Pipa karet akan disambungkan ke tangki atas dan bertanggung jawab untuk mengisi wadah saat levelnya turun di bawah ambang batas tertentu. Saat air turun di bawah ambang batas, pompa air mulai dan wadah mulai terisi. Dengan cara ini, tidak perlu mengisi ulang wadah secara manual dan hewan peliharaan disuplai dengan pasokan air yang konstan. Untuk memudahkan Anda, saya akan menguraikan fungsi LED. LED yang dipasang di sirkuit terdiri dari empat jenis warna. Merah, Kuning, Hijau, dan Biru. Yang merah menunjukkan bahwa tidak ada air di dalam wadah dan tidak ada sensor yang bersentuhan dengan air dan wadah perlu diisi ulang. LED kuning menunjukkan 1/4 air dalam wadah. LED hijau menunjukkan bahwa wadah itu setengah penuh air dan LED biru menunjukkan bahwa wadah itu penuh air.
Langkah 4: Simulasi sirkuit
- Setelah Anda mengunduh dan menginstal perangkat lunak Proteus, buka. Buka skema baru dengan mengklik ISISikon pada menu.
- Ketika skema baru muncul, klik pada Pikon di menu samping. Ini akan membuka kotak di mana Anda dapat memilih semua komponen yang akan digunakan.
- Sekarang ketikkan nama komponen yang akan digunakan untuk membuat rangkaian tersebut. Komponen akan muncul dalam daftar di sisi kanan.
- Dengan cara yang sama, seperti di atas, cari semua komponen seperti di atas. Mereka akan muncul di Perangkat Daftar.
Langkah 5: Buat Tata Letak PCB
Seperti yang akan kita buat sirkuit perangkat keras pada PCB, Kita perlu membuat layout PCB untuk rangkaian ini terlebih dahulu.
- Untuk membuat tata letak PCB pada Proteus, pertama-tama kita perlu menetapkan paket PCB ke setiap komponen pada skema. untuk menetapkan paket, klik kanan mouse pada komponen yang ingin Anda tetapkan paket dan pilih Alat Pengemasan.
- Klik opsi ARIES di menu atas untuk membuka skema PCB.
- Dari Daftar Komponen, Tempatkan semua komponen di layar dalam desain yang Anda inginkan agar terlihat seperti sirkuit Anda.
- Klik pada mode trek dan sambungkan semua pin yang diminta perangkat lunak untuk Anda sambungkan dengan mengarahkan panah.
Langkah 6: Diagram Sirkuit
Setelah merakit komponen dan memasangnya, diagram rangkaian akan terlihat seperti ini:
Langkah 7: Prinsip Kerja Sistem Pasokan Pangan Otonom
Prinsip kerja sistem suplai makanan sangat sederhana dan komponen terpenting dalam rangkaian ini adalah Modul Jam Waktu Nyata (DS3231)di mana kita dapat mengatur tanggal dan waktu di mana makanan akan disajikan untuk hewan peliharaan kita. Modul LCD akan menampilkan tanggal dan waktu dan motor servo akan memutar mangkuk yang akan berisi makanan. Saya telah menyertakan tombol 4x4 untuk mengatur waktu secara manual untuk memberi makan hewan peliharaan. Saya telah menggunakan motor servo sehingga mangkuk yang berisi makanan dapat diputar dan dapat dijatuhkan ke mangkuk yang lebih rendah dari tempat hewan peliharaan dapat memakannya. Makanan akan dijatuhkan ke mangkuk bawah pada interval tertentu yang ditetapkan oleh Anda dalam kode. Anda dapat mengatur jumlah makanan sendiri dengan melihat kebiasaan makan anjing, kucing, burung beo, dll.
Langkah 8: Simulasi Sirkuit
Simulasikan rangkaian dengan mengikuti langkah-langkah di atas untuk memeriksa apakah berfungsi atau tidak. Prosedur lainnya sama kecuali komponen dan penempatannya. Komponen-komponen yang akan digunakan dalam rangkaian ditunjukkan di bawah ini:
- Komponen akan muncul di Perangkat Daftar.
Sekarang, karena kami telah memeriksa bahwa rangkaian berfungsi dengan baik, kami akan melanjutkan lebih jauh dan menulis kode untuk Arduino.
Langkah 9: Diagram Sirkuit
Diagram sirkuit Proteus akan terlihat seperti ini:
Langkah 10: Memulai Dengan Arduino
Jika Anda belum familiar dengan Arduino IDE sebelumnya, jangan khawatir karena di bawah ini Anda dapat melihat langkah-langkah yang jelas untuk membakar kode pada board mikrokontroler menggunakan Arduino IDE. Anda dapat mendownload Arduino IDE versi terbaru dari sini dan ikuti langkah-langkah di bawah ini:
- Ketika papan Arduino terhubung ke PC Anda, buka "Panel kontrol" dan klik "Perangkat Keras dan Suara". Kemudian klik "Perangkat dan Printer". Temukan nama port tempat papan Arduino Anda terhubung. Dalam kasus saya itu adalah “COM14” tetapi mungkin berbeda pada PC Anda.
- Sekarang buka Arduino IDE. Dari Alat, atur papan Arduino ke Arduino / Genuino UNO.
- Dari menu Alat yang sama, atur nomor port yang Anda lihat di panel kontrol.
- Unduh kode terlampir di bawah ini dan salin ke IDE Anda. Untuk mengunggah kode, klik tombol unggah.
Anda dapat mengunduh kode dari Di Sini.
Langkah 11: Memahami Kode
Kode yang digunakan dalam proyek ini sangat sederhana dan dikomentari dengan baik. Meskipun cukup jelas, secara singkat dijelaskan di bawah ini sehingga jika Anda menggunakan papan Arduino yang berbeda seperti nano, mega, dll Anda dapat memodifikasi kode dengan benar dan kemudian membakarnya ke papan Anda.
- Di bagian atas, perpustakaan yang berbeda disertakan sehingga keypad, LCD, IC RTC, dan motor servo dapat dioperasikan oleh mikrokontroler.
#termasuk#termasuk #termasuk #termasuk
2. Kemudian baris dan kolom keypad telah menginisialisasi pin-pin Arduino yang akan mereka sambungkan dan kemudian seluruh keypad dibuat.
const byte BARIS = 4; // Empat baris const byte COLS = 4; // Tiga kolom // Tentukan kunci char Keymap[ROWS][COLS] = { {'1','2','3','A'}, {'4','5','6', 'B'}, {'7','8','9','C'}, {'*','0','#','D'} }; byte rowPins[ROWS] = { 2, 3, 4, 5 }; // Hubungkan keypad ROW0, ROW1, ROW2 dan ROW3 ke pin Arduino ini. byte colPins[COLS] = { 6, 7, 8, 9 }; // Hubungkan keypad COL0, COL1 dan COL2 ke pin Arduino ini. Keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); // Buat Keypad
3. Kemudian IC RTC, motor servo dan LCD Cair diinisialisasi dan beberapa variabel dideklarasikan yang akan digunakan untuk perhitungan run-time.
DS3231 rtc(A4, A5); Servo servo_test; //inisialisasi objek servo untuk servo LiquidCrystal lcd(A0, A1, A2, 11, 12, 13); // Membuat objek LC. Parameter: (rs, aktifkan, d4, d5, d6, d7) //int sudut = 0; // int potensio = A0; // inisialisasi pin analog A0 untuk potensiometer int t1, t2, t3, t4, t5, t6; umpan boolean = benar; // kondisi untuk kunci karakter alarm; int r [6];
4. batalkan pengaturan()adalah fungsi yang dijalankan hanya sekali dalam kode ketika mikrokontroler dihidupkan atau tombol aktifkan ditekan. Baud rate diatur dalam fungsi ini yang pada dasarnya adalah kecepatan dalam bit per detik dimana mikrokontroler berkomunikasi dengan perangkat periferal. Dalam fungsi ini, RTC dan servo juga dimulai dan pin diinisialisasi untuk digunakan sebagai Input atau Output.
void setup() { servo_test.attach(10); // pasang pin sinyal servo ke pin9 arduino rtc.begin(); lcd.begin(16,2); servo_test.write(55); Serial.begin(9600); pinMode(A0, OUTPUT); pinMode(A1, OUTPUT); pinMode(A2, OUTPUT); }
5. lingkaran kosong() adalah fungsi yang dieksekusi berulang-ulang dalam satu lingkaran. Di sini, di fungsi ini, kode ditulis untuk melacak waktu dan mencetaknya di LCD. kemudian diberikan perintah untuk memutar servo pada sudut tertentu.
void loop() { lcd.setCursor(0,0); int tombolTekan; tombolTekan = digitalRead(A3); jika (buttonPress == 1) setFeedingTime (); //Serial.println(tekan tombol); lcd.print("Waktu : "); string t = ""; t = rtc.getTimeStr(); t1 = t.charAt (0) -48; t2 = t.charAt(1)-48; t3 = t.charAt (3) -48; t4 = t.charAt(4)-48; t5 = t.charAt(6)-48; t6 = t.charAt(7)-48; lcd.print(rtc.getTimeStr()); lcd.setCursor(0,1); lcd.print("Tanggal : "); lcd.print(rtc.getDateStr()); if (t1==r[0] && t2==r[1] && t3==r[2] && t4==r[3]&& t5<1 && t6<3 && feed==true) { servo_test. tulis(100); // perintah untuk memutar servo ke penundaan sudut yang ditentukan (400); servo_test.write(55); umpan=salah; } }
6. batal setFeedingTime() adalah fungsi yang mengambil input dari keypad dan memetakan input untuk mengatur waktu makan di mikrokontroler. Kali ini nantinya digunakan untuk memutar motor untuk memberi makan hewan peliharaan.
void setFeedingTime() { feed = true; int i=0; lcd.clear(); lcd.setCursor(0,0); lcd.print("Atur Waktu Pengumpanan"); lcd.clear(); lcd.print("JJ:MM"); lcd.setCursor(0,1); while(1){ kunci = kpd.getKey(); karakter j; if(key!=NO_KEY){ lcd.setCursor(j,1); lcd.print(kunci); r[i] = kunci-48; saya++; j++; if (j==2) { lcd.print(":"); j++; } penundaan (500); } jika (key == 'D') {key = 0; istirahat; } } }
Langkah 12: Desain Perangkat Keras Sistem Pemompaan Air
Seperti yang telah kita lakukan semua tugas perangkat lunak sekarang mari kita lanjutkan merancang perangkat keras proyek. Pertama-tama, kami akan merakit komponen sistem pemompaan air dan setelah itu, kami akan merancang perangkat keras dari sistem pasokan makanan otomatis. Setelah membuat layout PCB rangkaian solder komponen pada papan PCB sesuai dengan diagram rangkaian yang ditunjukkan di atas. Masukkan rangkaian ke dalam kotak kecil dan buat lubang di dalamnya dengan benar sehingga LED dapat keluar dari kotak dengan mudah. Ambil papan PCB dan solder LED di atasnya sesuai dengan level yang ditentukan di atas. Setelah menganalisis rangkaian, kami mengetahui bahwa lima jalur suplai perlu dikeluarkan dari papan sirkuit utama ke sensor. Empat garis adalah sensor dan satu untuk is Pin Positif Umum.
Kita mungkin perlu membuat dua saluran sehingga ketika mereka bersentuhan dengan air, mereka akan bergerak sebagai sakelar, karena air adalah penghantar listrik yang baik. Kita bisa menggunakan pipa PVC dan membuat lubang di dalamnya. Pertama, ukur ketinggian wadah dan kemudian dengan interval yang sama tandai 4 titik di atasnya. Buat lubang pada titik-titik tersebut dan kemudian buat lingkaran kawat yang akan membawa arus. Perbaiki loop kawat itu dengan mur dan baut di pipa PVC itu dan kemudian tambahkan kabel biasa ke casing. Lubang kawat telanjang dan baut harus dijaga seminimal mungkin dan jika Anda membutuhkannya, Anda dapat menyolder sedikit kawat ke jalur umum tepat di sebelah mur dan sekrup karena penginderaan akan lebih tepat ketika air berinteraksi dengan kabel normal dan baut, akan ada transfer arus dari kabel yang dilucuti ke baut dan karenanya, bagian penginderaan selesai. Segera setelah air turun di bawah level tertentu, motor air dihidupkan DI dan tangki mulai terisi. Saat tangki mulai terisi, wadah juga mulai terisi karena pipa air saat air dipindahkan dari tangki ke wadah melalui pipa. Oleh karena itu, tidak perlu lagi mengisi wadah secara manual.
Langkah 13: Desain Perangkat Keras Sistem Pasokan Makanan Otomatis
Sekarang kita akan merakit perangkat keras sistem pasokan makanan. Kita dapat mengatur interval waktu pilihan kita sendiri dengan menggunakan DS3231 Jam Waktu Nyata modul dan karenanya dengan memperhatikan jadwal makan hewan peliharaan kami, kami akan menyesuaikan jadwal. Ketika pengatur waktu mencapai tanggal dan waktu yang ditentukan, motor servo akan bergerak dan makanan akan jatuh ke dalam mangkuk yang ditempatkan di bawah. Pasang sirkuit seperti yang ditunjukkan di atas pada papan tempat memotong roti. Ambil tongkat kayu dan pasang motor servo dengannya. Kencangkan secara vertikal ke dinding dan dengan bantuan sekrup pasang mangkuk makanan ke tongkat. Mangkuk bisa seperti pipa berongga berbentuk bambu yang kedua ujungnya terbuka dan sepotong kayu bundar akan diletakkan di bagian bawahnya. Motor servo akan dilekatkan pada potongan kayu dan segera setelah motor bergerak pada sudut tertentu, makanan dijatuhkan ke dalam mangkuk yang diletakkan di bawah.
Itu saja untuk hari ini. Jangan lupa untuk membagikan pengalaman Anda setelah menyelesaikan proyek ini dan jika Anda memiliki masalah saat membuatnya, jangan ragu untuk bertanya di bagian komentar.