Obsah:
- Zásoby
- Krok 1: Přehled designu
- Krok 2: Přehled kódu
- Krok 3: Připevnění Nema 17 k základní desce a šneku
- Krok 4: Zapojení L298N a RTC
- Krok 5: Kódování pomocí komentářů
- Krok 6: Problémy a jak jsem je opravil
Video: Auto Dog Feeder: 6 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:18
Toto je můj projekt automatického krmítka pro domácí zvířata. Jmenuji se Parker, jsem ve třídě 11 a tento projekt jsem vytvořil 11. listopadu 2020 jako CCA (Course Culminating Activity). V tomto projektu vám ukážu, jak vytvořit automatický podavač zvířat s Arduino UNO. Můžete si vybrat čas, který můžete změnit. Jídlo se bude dávkovat pomocí šneku a bude krmit vaše domácí mazlíčky!
Zásoby
Elektronika:
- Arduino UNO
- L298N - 10 $ - Ovládá Nema 17
- NEMA 17 - 10 $ - Otočí šnek tak, aby jídlo vydávalo
- RTC (DS1307) - 10 $ - Udává čas
- Napájení 12V - 5 $ - Napájí vše
- Mini Breadboard - Pro větší prostor pro zapojení
- Propojovací vodiče - spojuje vše
- Ženské a mužské vodiče - spojuje vše
Hardware:
- Vlákno pro 3D tisk - pro 3D tiskárnu
- 2 šrouby M4 - přidržte základní desku na místě
- 4 šrouby Nema 17 - Držte Nema dolů
- PVC T 48 mm vnitřní rozměr 66 mm vnější rozměr - 3 $
Nástroje:
- 3D tiskárna
- Vrtat
- Pájecí pistole
Krok 1: Přehled designu
Konstrukce krmítka je velmi jednoduchá. Na horní část PVC T se dostane násypka. Poté se na zadní stranu PVC T (jak je znázorněno na obrázku) přikryje kryt, k němuž je připevněn Nema 17. Poté bude Nema 17 zasunuta do zadní části šneku, která je vidět výše, a do strany půjde šroub, který ji udrží na místě, aby nedeformoval otvor, který je vidět výše!
Pak šnek jednoduše vytlačí jídlo z dýmky do mísy!
Krok 2: Přehled kódu
RTC & The stepper have a libary called RTClib.h and Stepper.h which adds simplified code for the RTC & Stepper. Příkazy if jsou velmi jednoduché a říkají, že pokud se hodina a minuty rovná uvedenému času, otočí nema, který vydá jídlo. Zbytek kódu je velmi snadno pochopitelný i pro někoho, kdo má den zkušeností.
Krok 3: Připevnění Nema 17 k základní desce a šneku
Nejprve si musíte vzít základní desku a pomocí předem připravených otvorů na základní desce ji připevnit k Nema 17. Až budete hotovi, chcete připevnit šnek k Nemovi pomocí zadního otvoru. Poté spojte základní desku s připojeným šnekem a Nemou a poté zašroubujte šrouby M2 na každou stranu.
Krok 4: Zapojení L298N a RTC
Tento krok vám řekne, jak zapojit L298N & RTC
Začneme piny 8, 9, 10, 11 až L298N
- Kolík 8 (bílý) na IN1
- Kolík 9 (fialový) na IN2
- Kolík 10 (růžový) na IN3
- PIN 11 (žlutý) na IN4
Dále budeme připojovat Nema 17 k L298N
- OUT1 až 1 na NEMA
- OUT2 až 2 na NEMA
- OUT3 až 3 na NEMA
- OUT4 až 4 na NEMA
Připojení 12v a Arduina k L298N (Nelze najít 12V, takže si představte 9V baterii jako napájení)
- Voltů na 12V
- Zem k GND
- 5V až 5V na prkénku
Připojení RTC k Arduinu
- GND až GND
- 5V až 5V na prkénku
- SDA až A5
- SCL na A4
Propojovací kolíky
Všechny propojovací kolíky mají být na L298N
Krok 5: Kódování pomocí komentářů
Na obrázcích výše je kód jasnější
// Jméno: Parker Frederick
// Název projektu: Auto Pet Feeder // Datum: Úterý, 10. listopadu 2020 // Učitel: M. Bonisteel // Popis: Nakrmte své mazlíčky v uvedenou dobu!
// Knihovny pro věci, které jsem použil #include #include #include "RTClib.h"
RTC_DS1307 rtc; // Říká, co používám RTC
// Zde nastavíte čas na jídlo
// Hodiny int mornFeedTime = 12; int nightFeedTime = 7; // Minuty int mornFeedTimeM = 29; int nightFeedTimeM = 00; // Sekundy int mornFeedTimeS = 20; int nightFeedTimeS = 00;
char daysOfTheWeek [7] [12] = {"neděle", "pondělí", "úterý", "středa", "čtvrtek", "pátek", "sobota"}; // Přemění normální dny na dny v týdnu
konstantní krmivo = 200; // Toto jsou vaše kroky, kolikrát chcete, aby se točilo
Stepper myStepper (feed, 8, 9, 10, 11); // Vaše kolíky pro Nema 17 a většinu ostatních stepperů
neplatné nastavení () {Serial.begin (9600);
while (! Serial); // Pokud RTC nefunguje, zobrazí se na sériové obrazovce, pokud (! Rtc.begin ()) {Serial.println ("Nelze najít RTC"); zatímco (1); }
// To vám řekne, zda jsou spuštěny hodiny reálného času, a zobrazí je na obrazovce se sériovým číslem, pokud (! Rtc.isrunning ()) {Serial.println ("RTC běží!");
rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_)))); // Bude to trvat čas vašeho počítače a použít jej na RTC
// Pokud chcete mít místo času počítače nastavený čas, můžete to udělat zde //rtc.adjust(DateTime(2020, 10, 29, 8, 28, 0)); // Rok/Měsíc/Den/Hodina/Minuta/Sekunda} myStepper.setSpeed (200); // Rychlost, jakou se má otáčet}
void loop () {DateTime now = rtc.now ();
// Tím se z těchto proměnných stane hodina, která je právě teď atd. Int hr = now.hour (); int mi = now.minute (); int se = now.second ();
// Kódujte tak v nastavený čas, že vydá jídlo a otočí se 5krát, pokud jde o ranní krmení
if (hr == mornFeedTime && mi == mornFeedTimeM && mornFeedTimeS == se) {Serial.println ("Snídaně!"); myStepper.step (-feed); zpoždění (700);
myStepper.step (-feed); zpoždění (700);
myStepper.step (-feed); zpoždění (700);
myStepper.step (-feed); zpoždění (700);
myStepper.step (-feed); zpoždění (700);
myStepper.step (-feed); zpoždění (700);
myStepper.step (-feed); zpoždění (700);
}
// Kódujte, takže v nastavený čas vydá jídlo a otočí se 5krát, to je pro noční krmení
if (hr == nightFeedTime && mi == nightFeedTimeM && nightFeedTimeS == se) {Serial.println ("Večeře!"); myStepper.step (-feed); zpoždění (700);
myStepper.step (-feed); zpoždění (700);
myStepper.step (-feed); zpoždění (700);
myStepper.step (-feed); zpoždění (700);
myStepper.step (-feed); zpoždění (700);
myStepper.step (-feed); zpoždění (700);
myStepper.step (-feed); zpoždění (700); }
// Tím se v seriálu zobrazí ROK, MĚSÍC, DEN, 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 (); }
Web, který jsem použil pro RTC Smazal jsem většinu věcí kromě prohlášení if, která říkají, zda je nebo není RTC zapnutý nebo vypnutý. Tento web jsem používal hlavně k tomu, abych se naučil programovat RTC
Web, který jsem použil pro krokový motor, mi pomohl porozumět tomu, jak naprogramovat stepper tak, abych z něj nic nedržel. Pomohlo mi to pochopit, jak to kódovat
Krok 6: Problémy a jak jsem je opravil
Měl jsem několik problémů
- Potřeboval jsem 12v napájecí zdroj, měl jsem jen 9v baterii, našel jsem jeden a bylo to rychle vyřešeno.
- Když jsem připojil L298N s NEMA 17, měl jsem špatné vodiče na A a A-, takže to trochu chvělo. Jednoduše jsem to opravil změnou vodičů jiným způsobem.
- Pokusil se zjednodušit kód, protože v příkazu if myStepper.step (-feed); znovu a znovu vypadal špinavě. Tak jsem to musel změnit zpět.
- Měl jsem špatnou velikost základní desky, jak je vidět na obrázku, takže jsem musel 3D tisknout trochu nový a perfektně seděl!
- Problém, který mám, je, že se zasekává, protože šnek je malý, takže se zasekává jednoduchým způsobem, který mohu opravit, je zvětšení šneku o malé množství!
Doporučuje:
Bird Feeder Monitor V2.0: 12 kroků (s obrázky)
Bird Feeder Monitor V2.0: Jedná se o projekt ke sledování, fotografování a zaznamenávání počtu a času strávených ptáky návštěvou našeho ptačího krmítka. Pro tento projekt bylo použito více Raspberry Pi (RPi). Jeden byl použit jako kapacitní dotykový senzor, Adafruit CAP1188, k detekci, záznamu
Smart Pet Feeder: 9 kroků
Smart Pet Feeder: Máte domácího mazlíčka? Ne: adoptujte si jednoho! (a vraťte se k tomuto pokynu). Ano: dobrá práce! Nebylo by skvělé, kdybyste mohli krmit a podávat vodu svému blízkému, aniž byste rušili plány, abyste se dostali včas domů? Říkáme si starosti, ne
SmartPET - Smart Pet Feeder: 7 kroků (s obrázky)
SmartPET - Smart Pet Feeder: Hej! Jsem Maxime Vermeeren, 18letý student MCT (multimediální a komunikační technologie) na Howest. Jako svůj projekt jsem se rozhodl vytvořit chytré krmítko pro zvířata. Proč jsem to udělal? Moje kočka má nějaké problémy s hmotností, tak jsem se rozhodl vyrobit stroj
Alexa Controlled Dog Feeder: 6 kroků (s obrázky)
Alexa Controlled Dog Feeder: Toto je náš pes Bailey. Je součástí border kolie a australského honáckého psa, takže někdy je chytřejší než její vlastní dobro, zvláště pokud jde o určování času a vědomí, kdy by měla jíst večeři. Obvykle se ji snažíme nakrmit kolem 18:00
Jak snadno vyrobit auto na dálkové ovládání doma - DIY bezdrátové RC auto: 7 kroků
Jak snadno vyrobit auto na dálkové ovládání doma - DIY bezdrátové RC auto: Dobrý den, přátelé, v tomto návodu vám ukážu, jak snadno vyrobit dálkově ovládané auto na dálkové ovládání, pokračujte ve čtení …… Toto je opravdu skvělý projekt, tak prosím zkuste ho postavit