Obsah:

Automatický podávač psov: 6 krokov
Automatický podávač psov: 6 krokov

Video: Automatický podávač psov: 6 krokov

Video: Automatický podávač psov: 6 krokov
Video: Как проверить генератор. За 3 минуты, БЕЗ ПРИБОРОВ и умений. 2024, November
Anonim
Auto krmítko pre psov
Auto krmítko pre psov

Toto je môj projekt automatického podávača domácich zvierat. Moje meno je Parker, som v 11. ročníku a tento projekt som uskutočnil 11. novembra 2020 ako CCA (aktivita kulminujúca kurz). V tomto projekte vám ukážem, ako sa robí automatický podávač zvierat s Arduino UNO. Môžete si vybrať čas, ktorý môžete zmeniť. Jedlo bude dávkovať pomocou šneku a kŕmiť vašich domácich miláčikov!

Zásoby

Elektronika:

  • Arduino UNO
  • L298N - 10 $ - Ovláda Nema 17
  • NEMA 17 - 10 $ - Otočí šnekom, aby sa jedlo dávkovalo
  • RTC (DS1307) - 10 $ - Udáva čas
  • Napájanie 12V - 5 $ - Napája všetko
  • Mini Breadboard - Na zvýšenie priestoru pre zapojenie
  • Prepojovacie vodiče - spája všetko
  • Ženské a mužské vodiče - spája všetko

Hardvér:

  • Vlákno pre 3D tlač - pre 3D tlačiareň
  • 2 skrutky M4 - základnú dosku držte na mieste
  • 4 skrutky Nema 17 - Podržte nema
  • PVC T 48 mm vnútorný rozmer 66 mm vonkajší rozmer - 3 $

Náradie:

  • 3D tlačiareň
  • Vŕtačka
  • Spájkovacia pištoľ

Krok 1: Prehľad dizajnu

Prehľad dizajnu
Prehľad dizajnu
Prehľad dizajnu
Prehľad dizajnu
Prehľad dizajnu
Prehľad dizajnu
Prehľad dizajnu
Prehľad dizajnu

Konštrukcia podávača pre domáce zvieratá je veľmi jednoduchá. Na vrchnú časť PVC T smeruje násypka. Potom na zadnú stranu PVC T (ako je znázornené na obrázku) prechádza kryt, na ktorý je pripevnený Nema 17. Potom bude Nema 17 zatlačená do zadnej časti šneku, ktorú je možné vidieť vyššie, a do strany pôjde skrutka, ktorá ju udrží na mieste, aby nedeformovala otvor, ktorý je možné vidieť vyššie!

Potom šnek jednoducho vytlačí jedlo z potrubia do misky!

Krok 2: Prehľad kódu

Prehľad kódu
Prehľad kódu
Prehľad kódu
Prehľad kódu
Prehľad kódu
Prehľad kódu

RTC a stepper majú knižnicu RTClib.h a Stepper.h, ktorá pridáva zjednodušený kód pre RTC & Stepper. Príkazy if sú veľmi jednoduché, hovorí sa, že ak sa hodina a minúta rovná uvedenému času, otočí nema, ktorý vydá jedlo. Zvyšok kódu je veľmi ľahko zrozumiteľný aj pre niekoho, kto má deň skúseností.

Krok 3: Pripojenie Nema 17 k základnej doske a šneku

Upevnenie Nema 17 k základnej doske a šneku
Upevnenie Nema 17 k základnej doske a šneku
Upevnenie Nema 17 k základnej doske a šneku
Upevnenie Nema 17 k základnej doske a šneku
Upevnenie Nema 17 k základnej doske a šneku
Upevnenie Nema 17 k základnej doske a šneku

Najprv musíte vziať svoju základnú dosku a pripevniť ju k svojmu Nema 17 pomocou vopred pripravených otvorov na základnej doske. Akonáhle to urobíte, chcete pripevniť šnek k Nemovi pomocou zadného otvoru. Potom spojte základnú dosku s pripevneným šnekom a Nemou a potom zaskrutkujte skrutky M2 na každú stranu.

Krok 4: Zapojenie L298N a RTC

Elektroinštalácia L298N & RTC
Elektroinštalácia L298N & RTC
Elektroinštalácia L298N & RTC
Elektroinštalácia L298N & RTC

Tento krok vám povie, ako prepojiť L298N & RTC

Začneme s kolíkmi 8, 9, 10, 11 až L298N

  • Kolík 8 (biely) na IN1
  • Kolík 9 (fialový) na IN2
  • Kolík 10 (ružový) na IN3
  • PIN 11 (žltý) na IN4

Ďalej budeme pripájať Nema 17 k L298N

  • OUT1 až 1 na NEMA
  • OUT2 až 2 na NEMA
  • OUT3 až 3 na NEMA
  • OUT4 až 4 na NEMA

Pripojenie 12 V a Arduina k L298N (Nepodarilo sa nájsť 12 V, takže si predstavte 9 V batériu ako napájanie)

  • Volty až 12V
  • Zem na GND
  • 5V až 5V na doske

Pripojenie RTC k Arduinu

  • GND až GND
  • 5V až 5V na doske
  • SDA až A5
  • SCL na A4

Prepojovacie kolíky

Všetky kolíkové prepojky by mali byť na L298N

Krok 5: Kódovanie pomocou komentárov

Kódovanie s komentármi
Kódovanie s komentármi
Kódovanie s komentármi
Kódovanie s komentármi
Kódovanie s komentármi
Kódovanie s komentármi

Kód je jasnejší na obrázkoch vyššie

// Meno: Parker Frederick

// Názov projektu: Auto Pet Feeder // Dátum: utorok, 10. november 2020 // Učiteľ: M. Bonisteel // Popis: Nakŕmte svojich miláčikov v uvedenom čase!

// Knižnice pre veci, ktoré som použil #include #include #include "RTClib.h"

RTC_DS1307 rtc; // Hovorí, čo RTC používam

// Tu nastavíte čas na jedlo

// Hodiny int mornFeedTime = 12; int nightFeedTime = 7; // Minúty int mornFeedTimeM = 29; int nightFeedTimeM = 00; // Sekundy int mornFeedTimeS = 20; int nightFeedTimeS = 00;

char daysOfTheWeek [7] [12] = {„nedeľa“, „pondelok“, „utorok“, „streda“, „štvrtok“, „piatok“, „sobota“}; // Z bežných dní urobia dni v týždni

const int feed = 200; // Toto sú vaše kroky, koľkokrát chcete, aby sa točil

Stepper myStepper (krmivo, 8, 9, 10, 11); // Vaše kolíky pre Nema 17 a väčšinu ostatných stepperov

void setup () {Serial.begin (9600);

while (! Serial); // Ak RTC nefunguje, zobrazí sa na sériovej obrazovke, ak (! Rtc.begin ()) {Serial.println ("Nepodarilo sa nájsť RTC"); pričom (1); }

// To vám povie, či sú hodiny v reálnom čase spustené a či ich zobrazia na sériovej obrazovke, ak (! Rtc.isrunning ()) {Serial.println ("RTC beží!");

rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_)))); // Vášmu počítaču to zaberie čas a použije ho v RTC

// Ak chcete mať namiesto počítačového času nastavený čas, môžete to urobiť tu //rtc.adjust(DateTime(2020, 10, 29, 8, 28, 0)); // rok/mesiac/deň/hodina/minúta/sekunda} myStepper.setSpeed (200); // Rýchlosť, ktorou sa má otáčať}

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

// Vďaka tomu sa tieto premenné stanú hodinou, ktorá je práve teraz atď. Int hr = now.hour (); int mi = now.minute (); int se = now.second ();

// Kódujte tak, že v nastavenom čase vydá jedlo a točí sa 5 -krát, ak ide o ranné kŕmenie

if (hr == mornFeedTime && mi == mornFeedTimeM && mornFeedTimeS == se) {Serial.println ("Raňajky!"); myStepper.step (-feed); oneskorenie (700);

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

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

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

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

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

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

}

// Kódujte tak, aby v nastavenom čase jedlo vydalo a otočilo sa 5 -krát, toto je pre nočné kŕmenie

if (hr == nightFeedTime && mi == nightFeedTimeM && nightFeedTimeS == se) {Serial.println ("Večera!"); myStepper.step (-feed); oneskorenie (700);

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

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

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

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

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

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

// V seriáli sa zobrazí ROK, MESIAC, DEŇ, HODINA, MINUTA, SECOND

Serial.print (now.year (), DEC); Serial.print ('/'); Serial.print (now.month (), DEC); Serial.print ('/'); Serial.print (now.day (), DEC); Serial.print ("("); Serial.print (daysOfTheWeek [now.dayOfTheWeek ()]); Serial.print (")"); Serial.print (now.hour (), DEC); Serial.print (':'); Serial.print (now.minute (), DEC); Serial.print (':'); Serial.print (now.second (), DEC); Serial.println (); }

Webová stránka, ktorú som používal pre RTC Vymazal som väčšinu vecí okrem vyhlásení if, ktoré uvádzajú, či je alebo nie je RTC zapnuté alebo vypnuté. Tento web som používal hlavne na to, aby som sa naučil programovať RTC

Webová stránka, ktorú som použil pre krokový motor, mi pomohla pochopiť, ako naprogramovať spustenie steppera, v skutočnosti som z toho nič nezachoval. Pomohlo mi to pochopiť, ako to kódovať

Krok 6: Problémy a ako som ich opravil

Problémy a ako som ich vyriešil!
Problémy a ako som ich vyriešil!

Mal som niekoľko problémov

  • Potreboval som napájanie 12 V, mal som iba 9 V batériu, našiel som jednu a rýchlo sa to vyriešilo.
  • Pri pripájaní L298N k NEMA 17 som mal nesprávne zapojené vodiče na A a A-, čo spôsobilo, že to trochu chvilo. Jednoducho som to opravil zmenou vodičov iným spôsobom.
  • Pokúsil sa zjednodušiť kód, pretože v príkaze if myStepper.step (-feed); znova a znova to vyzeralo chaoticky. Tak som to musel zmeniť späť.
  • Mal som nesprávnu veľkosť základovej dosky, ako je vidieť na obrázku, takže som musel 3D tlačiť trochu novú a perfektne sedela!
  • Problém, ktorý mám, je, že sa zasekáva, pretože šnek je malý, takže sa zasekáva jednoduchým spôsobom, ktorý môžem opraviť, je zväčšenie šneku v malom množstve!

Odporúča: