Përmbajtje:
- Furnizimet
- Hapi 1: Pasqyrë e Dizajnit
- Hapi 2: Pasqyrë e Kodit
- Hapi 3: Bashkimi i Nema 17 në Pjatë Bazë dhe Auger
- Hapi 4: Lidhja L298N & RTC
- Hapi 5: Kodimi me Komente
- Hapi 6: Problemet dhe si i rregullova ato
Video: Ushqyesi i qenve automatik: 6 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:10
Ky është projekti im i një Auto Feeder Pet. Emri im është Parker unë jam në Klasën 11 dhe e bëra këtë projekt më 11 Nëntor 2020 si CCA (Aktivitet Kulminues i Kursit) në këtë projekt do t'ju tregoj se si të bëni një Ushqyes Automatik të Kafshëve me Arduino UNO. Ju mund të zgjidhni një kohë të cilën mund ta ndryshoni. Ushqimi do të shpërndahet përmes një auger dhe do të ushqejë kafshët tuaja shtëpiake!
Furnizimet
Elektronikë:
- Arduino UNO
- L298N - 10 $ - Kontrollon Nema 17
- NEMA 17 - 10 $ - Kthen enën në mënyrë që ushqimi të shpërndahet
- RTC (DS1307) - 10 $ - Jep kohën
- Furnizimi me energji 12V - 5 $ - Fuqizon gjithçka
- Mini Breadboard - Për hapësirë shtesë të instalimeve elektrike
- Telat Jumper - Lidh gjithçka
- Telat femra në meshkuj - Lidh gjithçka
Hardware:
- Filament i printimit 3D - për printerin 3D
- 2 bulona M4 - Mbajeni pllakën bazë në vend
- 4 Nema 17 bulona - Mbajeni nema poshtë
- PVC T 48mm dimensioni i brendshëm 66mm dimensioni i jashtëm - 3 $
Mjetet:
- Printer 3D
- Stërvitje
- Armë bashkuese
Hapi 1: Pasqyrë e Dizajnit
Dizajni i ushqyesit të kafshëve është shumë i thjeshtë. Një plesht shkon në pjesën e sipërme të PVC T. Pastaj një kapak shkon në pjesën e pasme të PVC T (siç tregohet në foto) me Nema 17 të bashkangjitur në të. Atëherë Nema 17 do të shtyhet në pjesën e pasme të Auger -it i cili mund të shihet më sipër dhe një rrufe në qiell do të futet në anën për ta mbajtur atë në vend në mënyrë që të mos deformojë vrimën që mund të shihet më sipër!
Atëherë auger thjesht do ta shtyjë ushqimin nga tubi dhe në një tas!
Hapi 2: Pasqyrë e Kodit
RTC & Stepper kanë një libar të quajtur RTClib.h dhe Stepper.h i cili shton kod të thjeshtuar për RTC & Stepper. Thëniet nëse janë shumë të thjeshta thënia e saj nëse ora dhe minutat janë të barabarta me kohën e thënë do të rrotullojë nema e cila do të shpërndajë ushqimin. Pjesa tjetër e kodit është shumë e lehtë për tu kuptuar edhe për dikë me një ditë përvojë.
Hapi 3: Bashkimi i Nema 17 në Pjatë Bazë dhe Auger
Së pari ju doni të merrni pjatën tuaj bazë dhe ta lidhni me Nema 17 tuaj duke përdorur vrimat e paravendosura në pllakën bazë. Pasi të keni mbaruar, ju doni të lidhni auger në Nema duke përdorur vrimën e pasme në të. Pastaj lidhni pllakën Bazë me gropën dhe Nema të bashkangjitur, pastaj vidhosni bulonat M2 në secilën anë.
Hapi 4: Lidhja L298N & RTC
Ky hap do t'ju tregojë se si të lidhni L298N & RTC
Ne do të fillojmë me kunjat 8, 9, 10, 11 në L298N
- Kunja 8 (e bardhë) në IN1
- Kunja 9 (Vjollcë) në IN2
- Pin 10 (Pink) në IN3
- PIN 11 (e verdhë) në IN4
Tjetra ne do të lidhim Nema 17 me L298N
- OUT1 me 1 në NEMA
- OUT2 deri në 2 në NEMA
- Nga 3 në 3 në NEMA
- OUT4 deri në 4 në NEMA
Lidhja e 12v dhe Arduino me L298N (Nuk mund të gjej 12V, kështu që imagjinoni baterinë 9V si fuqi)
- Volt në 12V
- Toka në GND
- 5V në 5V në Breadboard
Lidhja e RTC me Arduino
- GND në GND
- 5V në 5V në Breadboard
- SDA në A5
- SCL në A4
Kunjat e kërcyesit
Të gjitha kunjat e kërcyesit supozohet të jenë në L298N
Hapi 5: Kodimi me Komente
Kodi më i qartë në imazhet e mësipërme
// Emri: Parker Frederick
// Emri i projektit: Ushqyesi i kafshëve shtëpiake // Data: E martë, 10 nëntor 2020 // Mësues: M. Bonisteel // Përshkrimi: Ushqeni kafshët tuaja në kohën e thënë!
// Libraret për gjërat që kam përdorur #përfshi #përfshi #përfshi "RTClib.h"
RTC_DS1307 rtc; // Thotë atë që po përdor RTC
// Këtu vendosni kohën për ushqimin
// Orari në mëngjesFeedTime = 12; int nightFeedTime = 7; // Minuta int mornFeedTimeM = 29; int nightFeedTimeM = 00; // Sekonda int mornFeedTimeS = 20; int nightFeedTimeS = 00;
char daysOfTheWeek [7] [12] = {"E Diel", "E Hënë", "E Martë", "Wedsneday", "E Enjte", "E Premte", "E Shtune"}; // Bën që ditët normale të kthehen në ditët e javës
const int feed = 200; // Këto janë hapat tuaj sa herë që dëshironi që të rrotullohet
Stepper myStepper (ushqim, 8, 9, 10, 11); // Kunjat tuaja për Nema 17 dhe shumicën e njerkave të tjerë
void setup () {Serial.begin (9600);
ndërsa (! Serial); // Nëse RTC nuk po punon do ta shfaq atë në ekranin serik nëse (! Rtc.begin ()) {Serial.println ("Nuk mund të gjej RTC"); ndërsa (1); }
// Kjo do t'ju tregojë nëse Ora Real Time po funksionon ose jo dhe do ta shfaq atë në ekranin serik nëse (! Rtc.isrunning ()) {Serial.println ("RTC po funksionon!");
rtc.adjust (DataTime (F (_ DATE_), F (_ TIME_))); // Kjo do të marrë kohë në kompjuterin tuaj dhe do ta përdorë atë në RTC
// Nëse dëshironi të keni një kohë të caktuar në vend të kohës së kompjuterit, mund ta bëni këtu //rtc.adjust(DateTime(2020, 10, 29, 8, 28, 0)); // Viti/Muaji/Dita/Ora/Minuta/E dyta} myStepper.setSpeed (200); // Shpejtësia që dëshironi të kthehet në}
void loop () {DateTime now = rtc.now ();
// Kjo do t'i bëjë këto ndryshore në orën që është tani, etj int hr = tani. Orë (); int mi = tani.minute (); int se = tani.sekonda ();
// Kodoni kështu që në kohën e caktuar do të shpërndajë ushqimin dhe do të rrotullohet 5 herë, kjo nëse është për ushqimin e mëngjesit
if (hr == mornFeedTime && mi == mornFeedTimeM && mornFeedTimeS == se) {Serial.println ("Mëngjesi!"); myStepper.step (-ushqim); vonesa (700);
myStepper.step (-ushqim); vonesa (700);
myStepper.step (-ushqim); vonesa (700);
myStepper.step (-ushqim); vonesa (700);
myStepper.step (-ushqim); vonesa (700);
myStepper.step (-ushqim); vonesa (700);
myStepper.step (-ushqim); vonesa (700);
}
// Kodoni kështu që në kohën e caktuar do të shpërndajë ushqimin dhe do të rrotullohet 5 herë, kjo është për ushqimin e natës
if (hr == nightFeedTime && mi == nightFeedTimeM && nightFeedTimeS == se) {Serial.println ("Darka!"); myStepper.step (-ushqim); vonesa (700);
myStepper.step (-ushqim); vonesa (700);
myStepper.step (-ushqim); vonesa (700);
myStepper.step (-ushqim); vonesa (700);
myStepper.step (-ushqim); vonesa (700);
myStepper.step (-ushqim); vonesa (700);
myStepper.step (-ushqim); vonesa (700); }
// Kjo do të shfaqë VITIN, MUAIN, DITN, ORON, MINUTE, TEC DYT në serial
Serial.print (tani.viti (), DEC); Serial.print ('/'); Serial.print (tani.muaj (), DEC); Serial.print ('/'); Serial.print (tani.ditë (), DEC); Serial.print ("("); Serial.print (daysOfTheWeek [tani.dayOfTheWeek ()]); Serial.print (")"); Serial.print (tani. Orë (), DEC); Serial.print (':'); Serial.print (tani.minute (), DEC); Serial.print (':'); Serial.print (tani. E dyta (), DEC); Serial.println (); }
Faqja e internetit që kam përdorur për RTC I fshiva shumicën e gjërave të tjera përveç deklaratave nëse thonë nëse RTC është ose jo e ndezur ose jo. Kryesisht e kam përdorur këtë faqe interneti për të mësuar se si të programoj RTC
Faqja e internetit që kam përdorur për motorin Stepper kjo më ndihmoi të kuptoj se si të programoj hapin për të kandiduar, me të vërtetë nuk kam mbajtur asgjë prej tij. Thjesht më ndihmoi të kuptoja se si ta kodoja
Hapi 6: Problemet dhe si i rregullova ato
Disa probleme që kisha
- Kisha nevojë për furnizim me energji 12v, kisha vetëm bateri 9v gjeta një dhe u zgjidh shpejt.
- Kur lidhesha L298N me NEMA 17 kisha telat gabim në A dhe A- gjë që e bëri atë të dridhej pak. Unë thjesht e rregullova atë duke ndryshuar telat në anën tjetër.
- U përpoq të bënte kodin më të thjeshtë sepse në deklaratën if myStepper.step (-furnizo); pa pushim dukej e çrregullt. Kështu që më duhej ta ndryshoja përsëri.
- Unë kisha pjatën bazë të madhësisë së gabuar siç shihet në foto, kështu që më duhej të printoja 3D një të re pak dhe ajo i përshtatej perfekte!
- Problemi që kam është ai i bllokimit meqenëse gryka është e vogël kështu që bllokohet Mënyra e thjeshtë që unë mund ta rregulloj është duke e zmadhuar augerin në një sasi të vogël!
Recommended:
Mikro: Hapës i dyerve të qenve të qenve: 8 hapa (me fotografi)
Mikro: Hapës i dyerve të qenve të qenve të vegjël: Kafshët tuaja shtëpiake bllokohen në dhoma? Dëshironi që ta bëni shtëpinë tuaj më të arritshme për miqtë tuaj* të mbuluar me qime ?? Tani mundeni, ura !! Ky projekt përdor një mikrokontrollues mikro: bit për të hapur derën kur shtyhet një ndërprerës (miqësor ndaj kafshëve shtëpiake). Ne do
Projektimi empatik: Ushqyesi automatik i miut Arduino: 18 hapa
Projektimi Empatik: Ushqyesi Arduino Automatik i Minjve: Ky Udhëzues shërben si një udhëzues gjithëpërfshirës për krijimin e një pajisjeje ushqyese automatike për një miu ose kafshë shtëpiake të një madhësie të ngjashme. Frymëzimi për këtë projekt erdhi nga miu i motrës sime, e cila duhet të ushqehet saktësisht me 4 fishekëve ushqimorë
Trajner i qenve të qenve: 5 hapa
Trajner i qenve të qenve: Sipas AKC, (https://www.akc.org/expert-advice/nutrition/how-many-times-a-day-should-a-dog-eat/) madhësia e pjesës së vaktit për ushqimet janë thelbësore për qentë, dhe madhësia e kutisë gjithashtu kufizoi numrin e ushqimeve që qeni mund të hajë në ditë, "Vet
Ushqyesi i qenve të kontrolluar nga Alexa: 6 hapa (me fotografi)
Ushqyesi i qenve të kontrolluar nga Alexa: Ky është qeni ynë Bailey. Ajo është pjesë e Border Collie dhe Australian Cattle Dog, kështu që ndonjëherë ajo është më e zgjuar se e mira e saj, veçanërisht kur bëhet fjalë për të treguar kohën dhe për të ditur se kur duhet të hajë darkë. Në mënyrë tipike, ne përpiqemi ta ushqejmë atë rreth orës 6 pasdite
Ushqyesi automatik i peshkut i mundësuar nga Amazon Alexa: 5 hapa
Amazon Alexa Powered Automatic Fish Feed: Keni harruar të ushqeni peshkun tuaj? Tani lërini Alexa të ushqejë peshkun tuaj, nga kudo në botë, po kudo. Ky Projekt është krijuar për atë që ju mund të ushqeni kafshën tuaj nga kudo në botë, duke përdorur çdo pajisje/aplikacion Alexa. Dëshironi të ushqeni disa kafshë shtëpiake të tjera? Nuk ka problem jus