Isi kandungan:
- Bekalan
- Langkah 1: Gambaran Keseluruhan Reka Bentuk
- Langkah 2: Gambaran Keseluruhan Kod
- Langkah 3: Melampirkan Nema 17 ke Plat Bawah & Auger
- Langkah 4: Pendawaian L298N & RTC
- Langkah 5: Pengekodan Dengan Komen
- Langkah 6: Masalah dan Bagaimana Saya Memperbaikinya
Video: Pengumpan Anjing Auto: 6 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:07
Ini adalah projek saya dari Auto Pet Feeder. Nama saya Parker saya berada di Gred 11 dan saya membuat projek ini pada 11 November 2020 sebagai CCA (Course Culminating Activity) dalam projek ini saya akan menunjukkan kepada anda cara membuat Pet Feeder Automatik dengan Arduino UNO. Anda boleh memilih masa yang boleh anda ubah. Makanan akan dikeluarkan melalui auger dan memberi makan haiwan kesayangan anda!
Bekalan
Elektronik:
- Arduino UNO
- L298N - 10 $ - Mengawal Nema 17
- NEMA 17 - 10 $ - Menghidupkan auger sehingga makanan membuang
- RTC (DS1307) - 10 $ - Memberi masa
- Bekalan Kuasa 12V - 5 $ - Kuasa segalanya
- Papan Roti Mini - Untuk ruang pendawaian tambahan
- Jumper Wires - Menyambungkan semuanya
- Kabel Perempuan ke Lelaki - Menyambungkan semuanya
Perkakasan:
- Filamen cetak 3D - untuk pencetak 3d
- 2 M4 Baut - Pegang plat asas di tempatnya
- 4 baut Nema 17 - Tahan nema ke bawah
- PVC T 48mm dimensi dalaman 66mm dimensi luar - 3 $
Alat:
- Pencetak 3D
- Gerudi
- Pistol pematerian
Langkah 1: Gambaran Keseluruhan Reka Bentuk
Reka bentuk makanan haiwan peliharaan sangat mudah. Sebuah gerbong masuk ke bahagian atas PVC T. Kemudian penutup masuk di bahagian belakang PVC T (seperti yang ditunjukkan dalam gambar) dengan Nema 17 melekat padanya. Kemudian Nema 17 akan didorong ke belakang Auger yang dapat dilihat di atas dan selak akan masuk ke sisi untuk menahannya di tempat sehingga tidak merusak lubang yang dapat dilihat di atas!
Kemudian auger hanya akan menolak makanan keluar dari paip dan ke dalam mangkuk!
Langkah 2: Gambaran Keseluruhan Kod
RTC & Stepper mempunyai perpustakaan yang disebut RTClib.h dan Stepper.h yang menambah kod dipermudahkan untuk RTC & Stepper. Pernyataan jika sangat sederhana dengan pepatah jika jam & minit sama dengan waktu yang dinyatakan, ia akan memutarkan nema yang akan mengeluarkan makanan. Selebihnya kod sangat mudah difahami walaupun untuk seseorang yang berpengalaman seharian.
Langkah 3: Melampirkan Nema 17 ke Plat Bawah & Auger
Mula-mula anda ingin mengambil plat asas anda dan memasangkannya ke Nema 17 anda menggunakan lubang-lubang premade pada plat asas. Setelah selesai anda ingin memasang auger ke Nema menggunakan lubang belakang di atasnya. Kemudian sambungkan pelat Pangkalan dengan auger dan Nema terpasang kemudian skru bolt M2 ke setiap sisi.
Langkah 4: Pendawaian L298N & RTC
Langkah ini akan memberitahu anda cara memasang L298N & RTC
Kami akan bermula dengan pin 8, 9, 10, 11 hingga L298N
- Pin 8 (Putih) ke IN1
- Pin 9 (Ungu) ke IN2
- Pin 10 (Pink) ke IN3
- PIN 11 (Kuning) hingga IN4
Selanjutnya kita akan menghubungkan Nema 17 ke L298N
- OUT1 hingga 1 di NEMA
- OUT2 hingga 2 di NEMA
- OUT3 hingga 3 di NEMA
- OUT4 hingga 4 di NEMA
Menyambungkan 12v dan Arduino ke L298N (Tidak dapat menemui 12V jadi bayangkan bateri 9V sebagai kuasa)
- Voltan hingga 12V
- Tanah ke GND
- 5V hingga 5V di Breadboard
Menghubungkan RTC ke Arduino
- GND ke GND
- 5V hingga 5V di Breadboard
- SDA hingga A5
- SCL hingga A4
Jumper Pin
Semua pin pelompat sepatutnya berada di L298N
Langkah 5: Pengekodan Dengan Komen
Kodnya lebih jelas dalam gambar di atas
// Nama: Parker Frederick
// Nama Projek: Pengumpan Haiwan Peliharaan Auto // Tarikh: Selasa, 10 November 2020 // Guru: M. Bonisteel // Keterangan: Beri makan haiwan kesayangan anda pada waktu tersebut!
// Perpustakaan untuk perkara yang saya gunakan #include #include #include "RTClib.h"
RTC_DS1307 rtc; // Mengatakan apa yang digunakan oleh RTC
// Di sinilah anda menetapkan masa untuk makanan
// Jam int mornFeedTime = 12; int nightFeedTime = 7; // Minit int mornFeedTimeM = 29; int nightFeedTimeM = 00; // Detik int mornFeedTimeS = 20; int nightFeedTimeS = 00;
char daysOfTheWeek [7] [12] = {"Ahad", "Isnin", "Selasa", "Wedsneday", "Khamis", "Jumaat", "Sabtu"}; // Menjadikan hari biasa berubah menjadi hari dalam seminggu
const int feed = 200; // Ini adalah langkah anda jadi berapa kali anda mahu berputar
Stepper myStepper (suapan, 8, 9, 10, 11); // Pin anda untuk Nema 17 dan kebanyakan anak tangga lain
batal persediaan () {Serial.begin (9600);
sementara (! bersiri); // Sekiranya RTC tidak berfungsi, ia akan memaparkannya di skrin bersiri jika (! Rtc.begin ()) {Serial.println ("Tidak dapat mencari RTC"); sementara (1); }
// Ini akan memberitahu anda sama ada Jam Waktu Nyata berjalan atau tidak dan ia akan memaparkannya di skrin bersiri jika (! Rtc.isrunning ()) {Serial.println ("RTC sedang berjalan!");
rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_))); // Ini akan memakan masa komputer anda dan menggunakannya di RTC
// Sekiranya anda ingin mempunyai masa yang ditetapkan dan bukannya waktu komputer, anda boleh melakukannya di sini //rtc.adjust(DateTime(2020, 10, 29, 8, 28, 0)); // Tahun / Bulan / Hari / Jam / Minit / Kedua} myStepper.setSpeed (200); // Kelajuan yang anda mahukan pada}
gelung kosong () {DateTime now = rtc.now ();
// Ini akan menjadikan pemboleh ubah ini pada jam yang ada sekarang dll int hr = now.hour (); int mi = now.minute (); int se = sekarang.kedua ();
// Kod sehingga pada waktu yang ditetapkan ia akan mengeluarkan makanan dan akan berputar 5 kali, ini jika untuk makanan pagi
jika (hr == mornFeedTime && mi == mornFeedTimeM && mornFeedTimeS == se) {Serial.println ("Sarapan!"); myStepper.step (-feed); kelewatan (700);
myStepper.step (-feed); kelewatan (700);
myStepper.step (-feed); kelewatan (700);
myStepper.step (-feed); kelewatan (700);
myStepper.step (-feed); kelewatan (700);
myStepper.step (-feed); kelewatan (700);
myStepper.step (-feed); kelewatan (700);
}
// Kod sehingga pada waktu yang ditetapkan ia akan mengeluarkan makanan dan akan berputar 5 kali, ini untuk makanan waktu malam
jika (hr == nightFeedTime && mi == nightFeedTimeM && nightFeedTimeS == se) {Serial.println ("Makan malam!"); myStepper.step (-feed); kelewatan (700);
myStepper.step (-feed); kelewatan (700);
myStepper.step (-feed); kelewatan (700);
myStepper.step (-feed); kelewatan (700);
myStepper.step (-feed); kelewatan (700);
myStepper.step (-feed); kelewatan (700);
myStepper.step (-feed); kelewatan (700); }
// Ini akan memaparkan TAHUN, BULAN, HARI, JAM, MINIT, KEDUA dalam siri ini
Serial.print (sekarang.tahun (), DEC); Cetakan bersiri ('/'); Serial.print (sekarang.bulan (), DEC); Cetakan bersiri ('/'); Serial.print (now.day (), DEC); Serial.print ("("); Serial.print (daysOfTheWeek [now.dayOfTheWeek ()]); Serial.print (")"); Serial.print (sekarang.jam (), DEC); Cetakan bersiri (':'); Serial.print (now.minute (), DEC); Cetakan bersiri (':'); Serial.print (sekarang.second (), DEC); Bersiri.println (); }
Laman web yang saya gunakan untuk RTC saya memadamkan kebanyakan perkara selain daripada jika pernyataan yang mengatakan sama ada RTC aktif atau tidak. Saya menggunakan laman web ini untuk belajar bagaimana memprogramkan RTC
Laman web yang saya gunakan untuk Stepper motor ini membantu saya memahami cara memprogram stepper untuk menjalankan saya tidak menyimpan apa-apa daripadanya. Ini hanya membantu saya memahami cara mengodkannya
Langkah 6: Masalah dan Bagaimana Saya Memperbaikinya
Beberapa masalah yang saya hadapi
- Saya memerlukan bekalan kuasa 12v, saya hanya mempunyai bateri 9v yang saya dapati dan ia diselesaikan dengan cepat.
- Semasa menyambungkan L298N dengan NEMA 17, kabel saya salah pada A dan A- yang menjadikannya sedikit gelisah. Saya hanya memperbaikinya dengan menukar wayar dengan cara lain.
- Cuba membuat kod lebih mudah kerana dalam pernyataan if myStepper.step (-feed); berulang-ulang kelihatan tidak kemas. Jadi saya terpaksa menukarnya kembali.
- Saya mempunyai plat asas ukuran yang salah seperti yang dilihat dalam gambar, jadi saya mesti mencetak 3D yang baru sedikit dan sesuai!
- Masalah yang saya ada ialah ia macet kerana augernya kecil sehingga macet dengan cara mudah yang boleh saya perbaiki adalah dengan membesarkan auger sedikit!
Disyorkan:
Feederrr Anjing Automatik !!: 4 Langkah
Feederrr Anjing Automatik !!: Mudah, Bermanfaat dan Sihat
Harness Anjing Petunjuk Jarak LED: 5 Langkah (dengan Gambar)
LED Distance Indicator Harness Dog: Saya biasanya membawa anjing saya Rusio berjalan-jalan ketika matahari terbenam sehingga dia dapat bermain tanpa terlalu panas. Masalahnya adalah bahawa ketika dia melepaskan tali kadang-kadang dia terlalu bersemangat dan berlari lebih jauh dari yang seharusnya dan dengan cahaya rendah dan anjing lain
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 bahagian makan untuk makanan penting untuk anjing, dan ukuran kotak juga membatasi jumlah makanan yang boleh dimakan anjing sehari, "Doktor haiwan
Pengumpan Anjing Terkawal Alexa: 6 Langkah (dengan Gambar)
Pengumpan Anjing Terkawal Alexa: Ini adalah anjing kami Bailey. Dia adalah sebahagian daripada Border Collie dan Australian Cattle Dog sehingga kadang-kadang dia lebih pintar daripada kebaikannya sendiri, terutama ketika memberitahu waktu dan mengetahui kapan dia harus makan malam. Biasanya, kami cuba memberinya makan sekitar jam 6 petang
Pengumpan Anjing Automatik: 5 Langkah
Feeder Anjing Automatik: Ini adalah tutorial langkah demi langkah tentang cara membuat feeder anjing automatik menggunakan Arduino. Ini sangat sesuai jika anda berada di luar rumah sepanjang hari. Daripada anjing anda harus menunggu sepanjang hari untuk mendapatkan makanan, atau meminta anda pulang ke rumah untuk memakannya, peranti ini