Բովանդակություն:
- Պարագաներ
- Քայլ 1: Դիզայնի ակնարկ
- Քայլ 2: Կոդի ակնարկ
- Քայլ 3. Nema 17 -ը կցելով Base Plate & Auger- ին
- Քայլ 4. Լարերի տեղադրում L298N և RTC
- Քայլ 5: Կոդավորում մեկնաբանություններով
- Քայլ 6: Խնդիրներ և ինչպես դրանք շտկեցի:
Video: Ավտոմատ շների սնուցիչ ՝ 6 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
Սա իմ ընտանի կենդանիների սնուցողի նախագիծն է: Իմ անունը Պարկեր է, ես 11 -րդ դասարանում եմ, և այս նախագիծը ես պատրաստել եմ 2020 թվականի նոյեմբերի 11 -ին ՝ որպես CCA (Դասընթացի կուլմինացիոն գործունեություն) այս նախագծում, ես ձեզ ցույց կտամ, թե ինչպես կարելի է ընտանի կենդանիների ավտոմատ սնուցող սարք պատրաստել Arduino UNO- ի հետ: Դուք կարող եք ընտրել այն ժամանակը, որը կարող եք փոխել: Սնունդը կտրվի մաղիչի միջոցով և կկերակրի ձեր ընտանի կենդանիներին:
Պարագաներ
Էլեկտրոնիկա:
- Arduino UNO
- L298N - 10 $ - Վերահսկում է Nema 17 -ը
- NEMA 17 - 10 $
- RTC (DS1307) - 10 $ - ivesամանակ է տալիս
- 12 Վ էլեկտրամատակարարում - 5 $ - հզորացնում է ամեն ինչ
- Mini Breadboard - էլեկտրագծերի լրացուցիչ տարածքի համար
- Jumper Wires - միացնում է ամեն ինչ
- Իգականից արական լարեր - Միացնում է ամեն ինչ
Սարքավորումներ:
- 3D տպման թել - 3D տպիչի համար
- 2 M4 պտուտակներ - պահեք հիմքի ափսեը տեղում
- 4 Nema 17 պտուտակ - Նեման ներքև պահեք
- PVC T 48mm ներքին չափս 66mm արտաքին հարթություն - 3 $
Գործիքներ:
- 3D տպիչ
- Գայլիկոն
- Oldոդման ատրճանակ
Քայլ 1: Դիզայնի ակնարկ
Կենդանիների սնուցողի դիզայնը շատ պարզ է: Բուփը մտնում է PVC T.- ի գագաթը: Այնուհետև ծածկը անցնում է PVC T- ի հետևի մասում (ինչպես ցույց է տրված նկարում), որին ամրացված է Nema 17 -ը: Այնուհետև Nema 17 -ը կմղվի դեպի վերևում երևացող Auger- ի հետևը, իսկ պտուտակն այն կողմը կընկնի ՝ այն տեղում պահելու համար, որպեսզի այն չդեֆորմացնի վերևում երևացող անցքը:
Այնուհետև խոզապուխտը սնունդը խողովակից դուրս է մղելու և ամանի մեջ:
Քայլ 2: Կոդի ակնարկ
RTC & The stepper- ն ունի libary անունով RTClib.h և Stepper.h, որը ավելացնում է պարզեցված ծածկագիր RTC և Stepper- ի համար: Եթե հայտարարությունները շատ պարզ են, ապա այն ասում է, եթե ժամը և րոպեները հավասար են նշված ժամանակին, այն կշրջի նեման, որը կբաժանի սնունդը: Մնացած ծածկագիրը շատ հեշտ է հասկանալ նույնիսկ մեկօրյա փորձ ունեցող մեկի համար:
Քայլ 3. Nema 17 -ը կցելով Base Plate & Auger- ին
Սկզբում ցանկանում եք վերցնել ձեր հիմքի ափսեն և ամրացնել այն ձեր Nema 17 -ին ՝ օգտագործելով հիմքի ափսեի վրա նախապես պատրաստված անցքերը: Ավարտելուց հետո դուք ցանկանում եք կցորդիչը կցել Nema- ին ՝ օգտագործելով դրա հետևի անցքը: Այնուհետև միացրեք Հիմքի ափսեը պտուտակով և կցված Nema- ով, այնուհետև պտուտակացրեք M2 պտուտակները յուրաքանչյուր կողմի մեջ:
Քայլ 4. Լարերի տեղադրում L298N և RTC
Այս քայլը ձեզ կասի, թե ինչպես միացնել L298N և RTC- ը
Մենք կսկսենք L298N- ի 8, 9, 10, 11 կապում
- Պին 8 (Սպիտակ) դեպի IN1
- 9 -րդ կապույտ (մանուշակագույն) դեպի IN2
- Կցեք 10 (վարդագույն) IN3- ին
- PIN 11 (դեղին) մինչև IN4
Հաջորդը մենք կկապենք Nema 17 -ը L298N- ին
- OUT1- ից 1 -ը NEMA- ով
- OUT2- ից 2 -ը NEMA- ով
- OUT3 -ից 3 -ը NEMA- ով
- OUT4- ից 4 -ը NEMA- ով
12v- ն և Arduino- ն միացնելով L298N- ին (Չհաջողվեց գտնել 12 Վ, այնպես որ պատկերացրեք 9 Վ մարտկոցը որպես էներգիա)
- Վոլտ մինչև 12 Վ
- Ground to GND
- 5V- ից 5V- ը Breadboard- ում
RTC- ի միացում Arduino- ին
- GND- ից GND
- 5V- ից 5V- ը Breadboard- ում
- SDA- ից A5
- SCL- ից A4
Jumper կապում
Ենթադրվում է, որ բոլոր թռչկոտող կապիչները գտնվում են L298N- ում
Քայլ 5: Կոդավորում մեկնաբանություններով
Կոդն ավելի հստակ է վերևի պատկերներում:
// Անուն ՝ Պարկեր Ֆրեդերիկ
// Նախագծի անվանումը ՝ Auto Pet Feeder // Ամսաթիվ ՝ երեքշաբթի, 10 նոյեմբերի 2020 // Ուսուցիչ ՝ M. Bonisteel // Desc. Կերակրեք ձեր ընտանի կենդանիներին նշված ժամին:
// Գրադարաններ այն բաների համար, որոնք ես օգտագործել եմ #ներառել #ներառել #ներառել «RTClib.h»
RTC_DS1307 rtc; // Ասում է, թե ինչ RTC- ն եմ օգտագործում
// Այստեղ դուք սահմանում եք սննդի ժամանակը
// Hours int mornFeedTime = 12; int nightFeedTime = 7; // րոպեներ mornFeedTimeM = 29; int nightFeedTimeM = 00; // վայրկյաններ int mornFeedTimeS = 20; int nightFeedTimeS = 00;
char daysOfTheWeek [7] [12] = {"կիրակի", "երկուշաբթի", "երեքշաբթի", "Wedsneday", "Thursday", "Friday", "Saturday"}; // Նորմալ օրերը դարձնում է շաբաթվա օրեր
const int feed = 200; // Սա ձեր քայլերն են, քանի անգամ եք ուզում, որ այն պտտվի
Stepper myStepper (հոսք, 8, 9, 10, 11); // Ձեր քորոցները Nema 17 -ի և շատ այլ քեռիների համար
void setup () {Serial.begin (9600);
իսկ (! Սերիա); // Եթե RTC- ն չի աշխատում, այն կցուցադրի սերիական էկրանին, եթե (! Rtc.begin ()) {Serial.println ("Չհաջողվեց գտնել RTC"); մինչդեռ (1); }
// Սա ձեզ կասի ՝ իրական ժամանակի ժամացույցն աշխատում է, թե ոչ, և այն կցուցադրի սերիական էկրանին, եթե (! Rtc.isrunning ()) {Serial.println ("RTC is running!");
rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_))); // Սա ձեր համակարգչից ժամանակ կպահանջի և կօգտագործի RTC- ում
// Եթե ցանկանում եք ունենալ որոշակի ժամանակ համակարգչի փոխարեն, կարող եք դա անել այստեղ //rtc.adjust(DateTime(2020, 10, 29, 8, 28, 0)); // Տարի/ամիս/օր/ժամ/րոպե/վայրկյան} myStepper.setSpeed (200); // Արագություն, որը ցանկանում եք, որ այն շրջվի}
void loop () {DateTime now = rtc.now ();
// Սա կդարձնի դրանք փոփոխական այն ժամվա ընթացքում, և այլն int int hr = now.hour (); int mi = այժմ. րոպե (); int se = այժմ. երկրորդ ();
// Կոդավորեք այնպես, որ սահմանված ժամին այն կտրամադրի սնունդը և այն 5 անգամ պտտվելու է, սա եթե առավոտյան կերակրման համար
եթե (hr == mornFeedTime && mi == mornFeedTimeM && mornFeedTimeS == se) {Serial.println («Նախաճաշ»); myStepper.step (-կեր); ուշացում (700);
myStepper.step (-կեր); ուշացում (700);
myStepper.step (-կեր); ուշացում (700);
myStepper.step (-կեր); ուշացում (700);
myStepper.step (-կեր); ուշացում (700);
myStepper.step (-կեր); ուշացում (700);
myStepper.step (-կեր); ուշացում (700);
}
// Կոդավորեք այնպես, որ սահմանված ժամին այն կտրամադրի սնունդը և այն 5 անգամ պտտվելու է, սա գիշերային կերակրման համար է
եթե (hr == nightFeedTime && mi == nightFeedTimeM && nightFeedTimeS == se) {Serial.println («Ընթրիք»); myStepper.step (-կեր); ուշացում (700);
myStepper.step (-կեր); ուշացում (700);
myStepper.step (-կեր); ուշացում (700);
myStepper.step (-կեր); ուշացում (700);
myStepper.step (-կեր); ուշացում (700);
myStepper.step (-կեր); ուշացում (700);
myStepper.step (-կեր); ուշացում (700); }
// Սա սերիայում կցուցադրի ՏԱՐԻԸ, ԱՄՍԸ, ՕՐԸ, OԱՄԸ, ՐՈUՅՍԸ, ԵՐԿՐՈՐԴԸ
Serial.print (այժմ. Տարի (), DEC); Serial.print ('/'); Serial.print (այժմ. Ամիս (), DEC); Serial.print ('/'); Serial.print (այժմ. Օր (), DEC); Serial.print ("("); Serial.print (daysOfTheWeek [now.dayOfTheWeek ()]); Serial.print (")"); Serial.print (այժմ. Ժամ (), DEC); Serial.print (':'); Serial.print (այժմ. Րոպե (), DEC); Serial.print (':'); Serial.print (այժմ. Երկրորդ (), DEC); Serial.println (); }
Վեբ կայք, որն օգտագործել եմ RTC- ի համար, ես ջնջել եմ այլ բաներ, քան այն հայտարարությունները, որոնք նշում են, որ RTC- ը միացված է, թե ոչ: Ես հիմնականում օգտագործում էի այս կայքը `սովորելու, թե ինչպես ծրագրավորել RTC- ն:
Վեբ կայք, որը ես օգտագործել եմ Stepper motor- ի համար: Սա ինձ օգնեց հասկանալ, թե ինչպես ծրագրավորել stepper- ը գործարկել: Ես իրականում ոչինչ չեմ պահում դրանից: Դա պարզապես օգնեց ինձ հասկանալ, թե ինչպես պետք է այն ծածկագրել:
Քայլ 6: Խնդիրներ և ինչպես դրանք շտկեցի:
Մի քանի խնդիր ունեի
- Ինձ անհրաժեշտ էր 12 վ էլեկտրամատակարարում, ես ունեի միայն 9 վ մարտկոց, ես գտա մեկը և այն արագ լուծվեց:
- Երբ L298N- ը NEMA 17-ով կապելիս ես սխալ ունեի A և A- լարերը, ինչը մի փոքր ցնցեց: Ես պարզապես այն ուղղեցի ՝ լարերը այլ կերպ փոխելով:
- Փորձեց կոդն ավելի պարզ դարձնել, քանի որ if հայտարարության մեջ myStepper.step (-feed); անընդհատ խառնաշփոթ տեսք ուներ: Այսպիսով, ես ստիպված էի այն հետ փոխել:
- Ես ունեի սխալ չափի բազայի ափսե, ինչպես երևում է նկարում, այնպես որ ես ստիպված էի մի փոքր 3D տպել նորը, և այն կատարյալ տեղավորվեց:
- Խնդիրս այն է, որ դա խցանում է, քանի որ մաղիչը փոքր է, այնպես որ այն խցանում է: Ես կարող եմ շտկել այն:
Խորհուրդ ենք տալիս:
Կարեկցող ձևավորում. Arduino ավտոմատ առնետի սնուցիչ `18 քայլ
Arduino- ի առնետների ավտոմատ սնուցող սարք Այս նախագծի ոգեշնչումը եկավ քրոջս առնետից, որին պետք է կերակրել ուղիղ 4 սննդի գնդիկներով
Սուպեր նորաձև ավտոմատ կատու սնուցիչ ՝ 3 քայլ (նկարներով)
Սուպեր նորաձև ավտոմատ կատվի սնուցող. Ojոջոն սուպեր գեղեցիկ կատու է: Ես նրան սիրում եմ բոլոր առումներով, բացառությամբ այն բանի, որ նա ամեն օր արթնացնում է ինձ առավոտյան ժամը 4 -ին `իր ուտելիքի համար, ուստի ժամանակն է ձեռք բերել կատուների ավտոմատ սնուցիչ` իմ քունը փրկելու համար: Այնուամենայնիվ, նա այնքան գեղեցիկ է, որ երբ ուզում եմ իրավունք գտնել
Alexa վերահսկվող շների սնուցիչ. 6 քայլ (նկարներով)
Alexa վերահսկվող շների սնուցող. Սա մեր շուն Բեյլին է: Նա մաս է կազմում Border Collie- ի և Australian Cattle Dog- ի, այնպես որ երբեմն նա ավելի խելացի է, քան իր սեփականը, հատկապես երբ խոսքը վերաբերում է ժամանակը նշելու և իմանալու, թե երբ պետք է ճաշի: Սովորաբար, մենք փորձում ենք նրան կերակրել երեկոյան 6 -ի սահմաններում
Կենդանիների ավտոմատ սնուցիչ ՝ օգտագործելով հին թվային ժամացույց. 10 քայլ (նկարներով)
Կենդանիների ավտոմատ սնուցող սարք ՝ օգտագործելով հին թվային ժամացույց. Ես նաև մի տեսանյութ եմ տեղադրել այն մասին, թե ինչպես եմ պատրաստել այս սնուցողը: Այս հրահանգը կմասնակցի PCB մրցույթին և որպես լավություն ես կցանկանայի
Ավտոմատ շների սնուցիչ ՝ 5 քայլ
Ավտոմատ շների սնուցող. Սա քայլ առ քայլ ձեռնարկ է, թե ինչպես կարելի է ավտոմատ սնուցող սարք անել Arduino- ի միջոցով: Սա կատարյալ է, եթե օրվա մեծ մասը տնից դուրս եք: Ավելի շուտ, քան ձեր շունը ստիպված լինի ամբողջ օրը սպասել սննդի, կամ տանը բադիկ ուտել ՝ այն կերակրելու համար, այս սարքը