Daftar Isi:
- Perlengkapan
- Langkah 1: Ikhtisar Desain
- Langkah 2: Ikhtisar Kode
- Langkah 3: Memasang Nema 17 ke Base Plate & Auger
- Langkah 4: Pengkabelan L298N & RTC
- Langkah 5: Coding Dengan Komentar
- Langkah 6: Masalah dan Bagaimana Saya Memperbaikinya
Video: Pengumpan Anjing Otomatis: 6 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:53
Ini adalah proyek saya dari Auto Pet Feeder. Nama saya Parker saya kelas 11 dan saya membuat proyek ini pada 11 November 2020 sebagai CCA (Culminating Activity) dalam proyek ini saya akan menunjukkan cara membuat Pengumpan Hewan Peliharaan Otomatis dengan Arduino UNO. Anda dapat memilih waktu yang dapat Anda ubah. Makanan akan dikeluarkan melalui auger dan memberi makan hewan peliharaan Anda!
Perlengkapan
Elektronik:
- Arduino UNO
- L298N - $10 - Mengontrol Nema 17
- NEMA 17 - 10$ - Memutar auger agar makanan bisa keluar
- RTC (DS1307) - $10 - Memberikan waktu
- Catu Daya 12V - $ 5 - Memberi daya pada segalanya
- Mini Breadboard - Untuk ruang kabel ekstra
- Kabel Jumper - Menghubungkan semuanya
- Kabel Female to Male - Menghubungkan semuanya
Perangkat keras:
- Filamen cetak 3D - untuk printer 3d
- 2 Baut M4 - Pegang pelat dasar di tempatnya
- 4 baut Nema 17 - Tahan nema
- PVC T 48mm dimensi dalam 66mm dimensi luar - 3$
Peralatan:
- pencetak 3D
- Mengebor
- Pistol solder
Langkah 1: Ikhtisar Desain
Desain pengumpan hewan peliharaan sangat sederhana. Sebuah hopper masuk ke bagian atas PVC T. Kemudian penutup dipasang di bagian belakang PVC T (seperti yang ditunjukkan pada gambar) dengan Nema 17 terpasang padanya. Kemudian Nema 17 akan didorong ke bagian belakang Auger yang bisa dilihat di atas dan baut akan masuk ke samping untuk menahannya agar tidak merusak lubang yang bisa dilihat di atas!
Kemudian auger hanya akan mendorong makanan keluar dari pipa dan ke dalam mangkuk!
Langkah 2: Ikhtisar Kode
RTC & Stepper memiliki perpustakaan yang disebut RTClib.h dan Stepper.h yang menambahkan kode sederhana untuk RTC & Stepper. Pernyataan if sangat sederhana yang mengatakan jika jam & menit sama dengan waktu tersebut akan memutar nema yang akan mengeluarkan makanan. Sisa kode ini sangat mudah dipahami bahkan untuk seseorang dengan pengalaman sehari.
Langkah 3: Memasang Nema 17 ke Base Plate & Auger
Pertama, Anda ingin mengambil pelat dasar dan menempelkannya ke Nema 17 Anda menggunakan lubang yang sudah dibuat sebelumnya di pelat dasar. Setelah selesai, Anda ingin memasang auger ke Nema menggunakan lubang belakang di atasnya. Kemudian sambungkan Base plate dengan auger dan Nema yang terpasang kemudian pasang baut M2 di setiap sisinya.
Langkah 4: Pengkabelan L298N & RTC
Langkah ini akan memberi tahu Anda cara menyambungkan L298N & RTC
Kami akan mulai dengan pin 8, 9, 10, 11 hingga L298N
- Pin 8 (Putih) ke IN1
- Pin 9 (Ungu) ke IN2
- Pin 10 (Merah Muda) ke IN3
- PIN 11 (Kuning) ke IN4
Selanjutnya kita akan menghubungkan Nema 17 ke L298N
- OUT1 to 1 di NEMA
- OUT2 ke 2 di NEMA
- OUT3 ke 3 di NEMA
- OUT4 hingga 4 di NEMA
Menghubungkan 12v dan Arduino ke L298N (Tidak dapat menemukan 12V jadi bayangkan baterai 9V sebagai daya)
- Volt ke 12V
- Tanah ke GND
- 5V ke 5V di papan tempat memotong roti
Menghubungkan RTC ke Arduino
- GND ke GND
- 5V ke 5V di papan tempat memotong roti
- SDA ke A5
- SCL ke A4
Pin jumper
Semua pin jumper seharusnya ada di L298N
Langkah 5: Coding Dengan Komentar
Kode lebih jelas pada gambar di atas
// Nama: Parker Frederick
// Nama Proyek: Pengumpan Hewan Peliharaan Otomatis // Tanggal: Selasa, 10 November 2020 // Guru: M. Bonisteel // Desc: Beri makan hewan peliharaan Anda pada waktu yang ditentukan!
// Pustaka untuk hal-hal yang saya gunakan #include #include #include "RTClib.h"
RTC_DS1307 rtc; //Mengatakan apa RTC yang saya gunakan
// Di sinilah Anda mengatur waktu untuk makanan
// Jam int mornFeedTime = 12; int nightFeedTime = 7; //Menit int mornFeedTimeM = 29; int malamFeedTimeM = 00; //detik int mornFeedTimeS = 20; int malamFeedTimeS = 00;
char daysOfTheWeek [7][12] = {"Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu"}; // Membuat hari-hari biasa berubah menjadi hari-hari dalam seminggu
const int umpan = 200; // Ini langkahmu jadi berapa kali kamu ingin berputar
Stepper myStepper(umpan, 8, 9, 10, 11); // Pin Anda untuk Nema 17 dan kebanyakan stepper lainnya
void setup() { Serial.begin(9600);
while (!Serial); // Jika RTC tidak berfungsi maka akan menampilkannya di layar serial if (! rtc.begin()) { Serial.println("Couldn't find RTC"); sementara (1); }
// Ini akan memberitahu Anda apakah Real Time Clock sedang berjalan atau tidak dan akan menampilkannya di layar serial if (! rtc.isrunning()) { Serial.println("RTC sedang berjalan!");
rtc.adjust(DateTime(F(_DATE_), F(_TIME_))); // Ini akan memakan waktu komputer Anda dan menggunakannya di RTC
// Jika Anda ingin mengatur waktu alih-alih waktu komputer, Anda dapat melakukannya di sini //rtc.adjust(DateTime(2020, 10, 29, 8, 28, 0)); // Tahun/Bulan/Hari/Jam/Menit/Detik } myStepper.setSpeed(200); // Kecepatan yang Anda inginkan untuk berputar }
void loop() { DateTime sekarang = rtc.now();
// Ini akan membuat variabel ini menjadi jam sekarang dll int hr = now.hour(); int mi = sekarang.menit(); int se = sekarang.detik();
// Kode jadi pada waktu yang ditentukan akan mengeluarkan makanan dan akan berputar 5 kali, ini jika untuk pakan pagi
if (jam == pagiFeedTime && mi == pagiFeedTimeM && pagiFeedTimeS == se) { Serial.println("Sarapan!"); myStepper.step(-feed); penundaan (700);
myStepper.step(-feed); penundaan (700);
myStepper.step(-feed); penundaan (700);
myStepper.step(-feed); penundaan (700);
myStepper.step(-feed); penundaan (700);
myStepper.step(-feed); penundaan (700);
myStepper.step(-feed); penundaan (700);
}
// Kode jadi pada waktu yang ditentukan itu akan mengeluarkan makanan dan akan berputar 5 kali, ini untuk pakan malam hari
if (jam == nightFeedTime && mi == nightFeedTimeM && nightFeedTimeS == se) { Serial.println("Dinner!"); myStepper.step(-feed); penundaan (700);
myStepper.step(-feed); penundaan (700);
myStepper.step(-feed); penundaan (700);
myStepper.step(-feed); penundaan (700);
myStepper.step(-feed); penundaan (700);
myStepper.step(-feed); penundaan (700);
myStepper.step(-feed); penundaan (700); }
// Ini akan menampilkan TAHUN, BULAN, HARI, JAM, MENIT, DETIK dalam serial
Serial.print(sekarang.tahun(), DES); Serial.print('/'); Serial.print(sekarang.bulan(), DES); Serial.print('/'); Serial.print(sekarang.hari(), DES); Serial.print("("); Serial.print(hariPekan[sekarang.hariPekan(()]); Serial.print(") "); Serial.print(sekarang.jam(), DES); Serial.print(':'); Serial.print(sekarang.menit(), DEC); Serial.print(':'); Serial.print(sekarang.detik(), DES); Serial.println(); }
Situs web yang saya gunakan untuk RTC Saya menghapus banyak hal selain pernyataan if yang mengatakan apakah RTC aktif atau tidak. Saya terutama menggunakan situs web ini untuk mempelajari cara memprogram RTC
Situs web yang saya gunakan untuk motor Stepper ini membantu saya memahami cara memprogram stepper agar berjalan. Saya tidak benar-benar menyimpan apa pun darinya. Itu hanya membantu saya memahami cara mengkodekannya
Langkah 6: Masalah dan Bagaimana Saya Memperbaikinya
Beberapa masalah yang saya alami
- Saya membutuhkan catu daya 12v, saya hanya memiliki baterai 9v, saya menemukannya dan itu diselesaikan dengan cepat.
- Saat menghubungkan L298N dengan NEMA 17 saya memiliki kabel yang salah pada A dan A- yang membuatnya sedikit bergetar. Saya hanya memperbaikinya dengan mengubah kabel ke arah lain.
- Mencoba membuat kode lebih sederhana karena dalam pernyataan if myStepper.step(-feed); berulang kali terlihat berantakan. Jadi saya harus mengubahnya kembali.
- Saya memiliki pelat dasar ukuran yang salah seperti yang terlihat pada gambar jadi saya harus mencetak 3D yang baru sedikit dan itu sangat pas!
- Masalah yang saya miliki adalah macet karena auger terlalu kecil sehingga macet. Cara sederhana yang bisa saya perbaiki adalah dengan memperbesar sedikit auger!
Direkomendasikan:
Pengumpan Anjing Otomatis !!: 4 Langkah
Pengumpan Anjing Otomatisrr!!: Mudah, Bermanfaat, dan Sehat
Pelatih Anjing Anjing: 5 Langkah
Pelatih Anjing Anjing: Menurut AKC, (https://www.akc.org/expert-advice/nutrition/how-many-times-a-day-should-a-dog-eat/) ukuran porsi makan untuk makanan sangat penting untuk anjing, dan ukuran kotak juga membatasi jumlah makanan yang bisa dimakan anjing dalam sehari, “Dokter hewan
Pengumpan Tanaman Otomatis WiFi Dengan Reservoir - Pengaturan Budidaya Indoor/Outdoor - Air Tanaman Secara Otomatis Dengan Pemantauan Jarak Jauh: 21 Langkah
Pengumpan Tanaman Otomatis WiFi Dengan Reservoir - Pengaturan Budidaya Indoor/Outdoor - Menanam Tanaman Secara Otomatis Dengan Pemantauan Jarak Jauh: Dalam tutorial ini kami akan mendemonstrasikan cara mengatur sistem pengumpan tanaman indoor/outdoor khusus yang secara otomatis menyirami tanaman dan dapat dipantau dari jarak jauh menggunakan platform Adosia
Pengumpan Anjing Otomatis: 5 Langkah
Pengumpan Anjing Otomatis: Ini adalah tutorial langkah demi langkah tentang cara membuat pengumpan anjing otomatis menggunakan Arduino. Ini sangat cocok jika Anda berada di luar rumah sepanjang hari. Daripada anjing Anda harus menunggu sepanjang hari untuk mendapatkan makanan, atau meminta Anda pulang untuk memberinya makan, perangkat ini
Pengumpan Anjing Otomatis Raspberry Pi & Streamer Video Langsung: 3 Langkah
Pengumpan Anjing Otomatis Raspberry Pi & Streamer Video Langsung: Ini adalah pengumpan anjing otomatis bertenaga Raspberry PI saya. Saya biasa bekerja dari pagi jam 11 pagi sampai jam 9 malam. Anjing saya menjadi gila jika saya tidak memberinya makan tepat waktu. Menjelajahi google untuk membeli pengumpan makanan otomatis, Mereka tidak tersedia di India dan opsi impor yang mahal