Daftar Isi:

Pengumpan Anjing Otomatis: 6 Langkah
Pengumpan Anjing Otomatis: 6 Langkah

Video: Pengumpan Anjing Otomatis: 6 Langkah

Video: Pengumpan Anjing Otomatis: 6 Langkah
Video: Ekstro Smart Pet Feeder - Wifi Dispenser Makan Otomatis Anjing Kucing 2024, November
Anonim
Pengumpan Anjing Otomatis
Pengumpan Anjing Otomatis

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

Ikhtisar Desain
Ikhtisar Desain
Ikhtisar Desain
Ikhtisar Desain
Ikhtisar Desain
Ikhtisar Desain
Ikhtisar Desain
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

Ikhtisar Kode
Ikhtisar Kode
Ikhtisar Kode
Ikhtisar Kode
Ikhtisar Kode
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

Memasang Nema 17 ke Base Plate & Auger
Memasang Nema 17 ke Base Plate & Auger
Memasang Nema 17 ke Base Plate & Auger
Memasang Nema 17 ke Base Plate & Auger
Memasang Nema 17 ke Base Plate & Auger
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

Kabel L298N & RTC
Kabel L298N & RTC
Kabel L298N & RTC
Kabel 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

Coding Dengan Komentar
Coding Dengan Komentar
Coding Dengan Komentar
Coding Dengan Komentar
Coding Dengan Komentar
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

Masalah dan Bagaimana Saya Memperbaikinya!
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: