Indholdsfortegnelse:

Auto hundeføder: 6 trin
Auto hundeføder: 6 trin

Video: Auto hundeføder: 6 trin

Video: Auto hundeføder: 6 trin
Video: ПЁС-ГЕРОЙ ПОМОГ ДЕТЯМ! 2024, November
Anonim
Auto hundefoder
Auto hundefoder

Dette er mit projekt med en Auto Pet Feeder. Mit navn er Parker, jeg går i klasse 11, og jeg lavede dette projekt den 11. november 2020 som en CCA (Course Culminating Activity) i dette projekt. Jeg viser dig, hvordan du laver en automatisk dyrefoder med Arduino UNO. Du kan vælge et tidspunkt, som du kan ændre. Maden kommer ud gennem en snegl og fodrer dine kæledyr!

Forbrugsvarer

Elektronik:

  • Arduino UNO
  • L298N - 10 $ - Styrer Nema 17
  • NEMA 17 - 10 $ - Drej sneglen, så maden udleveres
  • RTC (DS1307) - 10 $ - Giver tiden
  • 12V strømforsyning - 5 $ - forsyner alt
  • Mini Breadboard - For ekstra ledningsplads
  • Jumper Wires - Forbinder alt
  • Kvindelige til han -ledninger - Forbinder alt

Hardware:

  • 3D print filament - til 3d printer
  • 2 M4 bolte - Hold bundpladen på plads
  • 4 Nema 17 bolte - Hold nema nede
  • PVC T 48 mm indvendig dimension 66 mm udvendig dimension - 3 $

Værktøjer:

  • 3D printer
  • Bore
  • Loddepistol

Trin 1: Oversigt over design

Oversigt over design
Oversigt over design
Oversigt over design
Oversigt over design
Oversigt over design
Oversigt over design
Oversigt over design
Oversigt over design

Designet af dyrefoder er meget enkelt. En beholder går på toppen af PVC T. Derefter går et dæksel på bagsiden af PVC T (som vist på billedet) med Nema 17 fastgjort til det. Derefter vil Nema 17 blive skubbet ind bag på sneglen, som kan ses ovenfor, og en bolt går ind i siden for at holde den på plads, så den ikke deformerer hullet, som kan ses ovenfor!

Så vil sneglen simpelthen skubbe maden ud af røret og ned i en skål!

Trin 2: Oversigt over kode

Oversigt over kode
Oversigt over kode
Oversigt over kode
Oversigt over kode
Oversigt over kode
Oversigt over kode

RTC & Stepper har en libary kaldet RTClib.h og Stepper.h, som tilføjer forenklet kode til RTC & Stepper. Hvis if -udsagnene er meget enkle, siger det sig, at hvis timen og minutter er lig med den nævnte tid, vil det dreje nema, som vil afgive maden. Resten af koden er meget let at forstå, selv for nogen med en dag med erfaring.

Trin 3: Fastgørelse af Nema 17 til bundplade og snegl

Fastgørelse af Nema 17 til bundplade og snegl
Fastgørelse af Nema 17 til bundplade og snegl
Fastgørelse af Nema 17 til bundplade og snegl
Fastgørelse af Nema 17 til bundplade og snegl
Fastgørelse af Nema 17 til bundplade og snegl
Fastgørelse af Nema 17 til bundplade og snegl

Først vil du tage din bundplade og fastgøre den til din Nema 17 ved hjælp af de færdiglavede huller på bundpladen. Når det er gjort, vil du fastgøre sneglen til Nema ved hjælp af baghullet på den. Tilslut derefter bundpladen med sneglen og Nema fastgjort, og skru derefter M2 -boltene i hver side.

Trin 4: Ledningsføring L298N & RTC

Kabelføring L298N & RTC
Kabelføring L298N & RTC
Kabelføring L298N & RTC
Kabelføring L298N & RTC

Dette trin fortæller dig, hvordan du tilslutter L298N & RTC

Vi starter med benene 8, 9, 10, 11 til L298N

  • Pin 8 (hvid) til IN1
  • Pin 9 (lilla) til IN2
  • Pin 10 (pink) til IN3
  • PIN 11 (gul) til IN4

Dernæst forbinder vi Nema 17 med L298N

  • OUT1 til 1 på NEMA
  • OUT2 til 2 på NEMA
  • OUT3 til 3 på NEMA
  • OUT4 til 4 på NEMA

Tilslutning af 12v og Arduino til L298N (kunne ikke finde 12V, så forestil dig 9V batteri som strøm)

  • Volt til 12V
  • Jord til GND
  • 5V til 5V på Breadboard

Tilslutning af RTC til Arduino

  • GND til GND
  • 5V til 5V på Breadboard
  • SDA til A5
  • SCL til A4

Jumper pins

Alle jumper pins skal være på L298N

Trin 5: Kodning med kommentarer

Kodning med kommentarer
Kodning med kommentarer
Kodning med kommentarer
Kodning med kommentarer
Kodning med kommentarer
Kodning med kommentarer

Koden klarere i billederne ovenfor

// Navn: Parker Frederick

// Projektnavn: Auto Pet Feeder // Dato: Tirsdag den 10. november 2020 // Lærer: M. Bonisteel // Desc: Foder dine kæledyr på et nævnt tidspunkt!

// Libaries for de ting, jeg brugte #include #include #include "RTClib.h"

RTC_DS1307 rtc; // Siger hvad RTC jeg bruger

// Det er her, du indstiller tiden for maden

// Timer int mornFeedTime = 12; int nightFeedTime = 7; // Minutter int mornFeedTimeM = 29; int nightFeedTimeM = 00; // Sekunder int mornFeedTimeS = 20; int nightFeedTimeS = 00;

char daysOfTheWeek [7] [12] = {"søndag", "mandag", "tirsdag", "onsdag", "torsdag", "fredag", "lørdag"}; // Gør normale dage til at blive til ugedage

const int feed = 200; // Dette er dine trin, så hvor mange gange du vil have det til at dreje

Stepper myStepper (feed, 8, 9, 10, 11); // Dine ben til Nema 17 og de fleste andre steppere

ugyldig opsætning () {Serial.begin (9600);

mens (! Seriel); // Hvis RTC ikke virker, vises den på seriel skærm, hvis (! Rtc.begin ()) {Serial.println ("Kunne ikke finde RTC"); mens (1); }

// Dette viser dig, om Real Time Clock kører eller ej, og det vil vise det på den serielle skærm, hvis (! Rtc.isrunning ()) {Serial.println ("RTC kører!");

rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_))); // Dette vil tage din computer tid og bruge den på RTC

// Hvis du vil have en bestemt tid i stedet for computertiden, kan du gøre det her //rtc.adjust(DateTime(2020, 10, 29, 8, 28, 0)); // År/måned/dag/time/minut/sekund} myStepper.setSpeed (200); // Hastighed du vil have den til at dreje til}

void loop () {DateTime nu = rtc.now ();

// Dette vil gøre disse variabler til den time, den er lige nu osv. Int hr = now.hour (); int mi = nu. minut (); int se = nu.sekund ();

// Kode, så på det indstillede tidspunkt vil det afgive maden, og den vil centrifugeres 5 gange, dette hvis det er morgenfoder

if (hr == mornFeedTime && mi == mornFeedTimeM && mornFeedTimeS == se) {Serial.println ("Morgenmad!"); myStepper.step (-feed); forsinkelse (700);

myStepper.step (-feed); forsinkelse (700);

myStepper.step (-feed); forsinkelse (700);

myStepper.step (-feed); forsinkelse (700);

myStepper.step (-feed); forsinkelse (700);

myStepper.step (-feed); forsinkelse (700);

myStepper.step (-feed); forsinkelse (700);

}

// Kode, så på det indstillede tidspunkt vil det afgive maden, og den vil dreje 5 gange, dette er til natfoder

if (hr == nightFeedTime && mi == nightFeedTimeM && nightFeedTimeS == se) {Serial.println ("Middag!"); myStepper.step (-feed); forsinkelse (700);

myStepper.step (-feed); forsinkelse (700);

myStepper.step (-feed); forsinkelse (700);

myStepper.step (-feed); forsinkelse (700);

myStepper.step (-feed); forsinkelse (700);

myStepper.step (-feed); forsinkelse (700);

myStepper.step (-feed); forsinkelse (700); }

// Dette viser YEAR, MONTH, DAY, HOUR, MINUTE, SECOND i serien

Serial.print (nu.år (), DEC); Serial.print ('/'); Serial.print (nu. Måned (), DEC); Serial.print ('/'); Serial.print (nu. Dag (), DEC); Serial.print ("("); Serial.print (daysOfTheWeek [nu.dayOfTheWeek ()]); Serial.print (")"); Serial.print (nu. Time (), DEC); Serial.print (':'); Serial.print (nu. Minut (), DEC); Serial.print (':'); Serial.print (nu. Sekund (), DEC); Serial.println (); }

Hjemmeside, jeg brugte til RTC Jeg slettede de fleste andre ting end if -udsagnene, der siger, om RTC er til eller fra. Jeg brugte hovedsageligt dette websted til at lære at programmere RTC

Hjemmeside, jeg brugte til Stepper motor, dette hjalp mig med at forstå, hvordan jeg programmerede stepper til at køre. Jeg holdt ikke rigtig noget fra det. Det hjalp mig bare med at forstå, hvordan jeg skulle kode det

Trin 6: Problemer og hvordan jeg løste dem

Problemer og hvordan jeg løste dem!
Problemer og hvordan jeg løste dem!

Et par problemer jeg havde

  • Jeg havde brug for 12v strømforsyning, jeg havde kun 9v batteri, jeg fandt et, og det blev løst hurtigt.
  • Da jeg tilsluttede L298N med NEMA 17, havde jeg forkert ledning på A og A- hvilket gjorde det lidt rystet. Jeg rettede det simpelthen ved at skifte ledninger den anden vej.
  • Prøvede at gøre koden mere enkel, fordi i if-sætningen myStepper.step (-feed); igen og igen så rodet ud. Så jeg var nødt til at ændre det tilbage.
  • Jeg havde den forkerte bundplade som set på billedet, så jeg var nødt til at printe en ny lidt i 3D, og den passede perfekt!
  • Problem, jeg har, er, at det er syltetøj, da sneglen er for lille, så det kan fastklemme den enkle måde, jeg kan løse det, ved at forstørre sneglen en lille mængde!

Anbefalede: