Talaan ng mga Nilalaman:

Auto Dog Feeder: 6 na Hakbang
Auto Dog Feeder: 6 na Hakbang

Video: Auto Dog Feeder: 6 na Hakbang

Video: Auto Dog Feeder: 6 na Hakbang
Video: Узнав это СЕКРЕТ, ты никогда не выбросишь пластиковую бутылку! Идеи для мастерской из бутылок! 2024, Nobyembre
Anonim
Auto Dog feeder
Auto Dog feeder

Ito ang aking proyekto ng isang Auto Pet Feeder. Ang pangalan ko ay Parker nasa Baitang 11 ako at ginawa ko ang proyektong ito noong Nobyembre 11 2020 bilang isang CCA (Aktibong Culminating na Aktibidad) sa proyektong ito ay ipapakita ko sa iyo kung paano gumawa ng isang Awtomatikong Tagapakain ng Alagang Hayop sa Arduino UNO. Maaari kang pumili ng oras kung saan maaari mong baguhin. Ang pagkain ay magtatapon sa pamamagitan ng isang auger at pakainin ang iyong mga alagang hayop!

Mga gamit

Elektronikong:

  • Arduino UNO
  • L298N - 10 $ - Kinokontrol ang Nema 17
  • NEMA 17 - 10 $ - Pinapalitan ang auger kaya't ang mga pagkain ay naipamahagi
  • RTC (DS1307) - 10 $ - Nagbibigay ng oras
  • 12V Power Supply - 5 $ - Pinapagana ang lahat
  • Mini Breadboard - Para sa labis na puwang ng mga kable
  • Jumper Wires - Kumokonekta sa lahat
  • Babae sa Mga kawad na lalaki - Kumokonekta sa lahat

Hardware:

  • 3D filament ng pag-print - para sa 3d printer
  • 2 M4 Bolts - Hawakan ang base plate sa lugar
  • 4 Nema 17 bolts - I-hold down ang nema
  • Ang PVC T 48mm sa loob ng sukat na 66mm sa labas ng sukat - 3 $

Mga tool:

  • 3d printer
  • Drill
  • Baril na panghinang

Hakbang 1: Pangkalahatang-ideya ng Disenyo

Pangkalahatang-ideya ng Disenyo
Pangkalahatang-ideya ng Disenyo
Pangkalahatang-ideya ng Disenyo
Pangkalahatang-ideya ng Disenyo
Pangkalahatang-ideya ng Disenyo
Pangkalahatang-ideya ng Disenyo
Pangkalahatang-ideya ng Disenyo
Pangkalahatang-ideya ng Disenyo

Ang disenyo ng pet feeder ay napaka-simple. Ang isang hopper ay papunta sa tuktok ng PVC T. Pagkatapos ng isang takip ay pupunta sa likod ng PVC T (tulad ng ipinakita sa larawan) na may nakakabit na Nema 17 dito. Pagkatapos ang Nema 17 ay itutulak sa likuran ng Auger na makikita sa itaas at isang bolt ang pupunta sa gilid upang hawakan ito sa lugar upang hindi ito makapangit ng butas na makikita sa itaas!

Pagkatapos ay itutulak lamang ng auger ang pagkain mula sa tubo at sa isang mangkok!

Hakbang 2: Pangkalahatang-ideya ng Code

Pangkalahatang-ideya ng Code
Pangkalahatang-ideya ng Code
Pangkalahatang-ideya ng Code
Pangkalahatang-ideya ng Code
Pangkalahatang-ideya ng Code
Pangkalahatang-ideya ng Code

Ang RTC & Ang stepper ay may libaryong tinatawag na RTClib.h at Stepper.h na nagdaragdag ng pinasimple na code para sa RTC & Stepper. Ang kung pahayag ay napaka-simple sinasabi nito kung ang oras at minuto ay katumbas ng nasabing oras ay paikutin nito ang nema na magbibigay ng pagkain. Ang natitirang code ay napakadaling maintindihan kahit para sa isang taong may karanasan sa araw.

Hakbang 3: Paglalakip sa Nema 17 sa Base Plate at Auger

Paglalakip sa Nema 17 sa Base Plate & Auger
Paglalakip sa Nema 17 sa Base Plate & Auger
Paglalakip sa Nema 17 sa Base Plate & Auger
Paglalakip sa Nema 17 sa Base Plate & Auger
Paglalakip sa Nema 17 sa Base Plate & Auger
Paglalakip sa Nema 17 sa Base Plate & Auger

Una nais mong kunin ang iyong base plate at ilakip ito sa iyong Nema 17 gamit ang mga premade hole sa base plate. Kapag tapos na nais mong ikabit ang auger sa Nema gamit ang butas sa likuran dito. Pagkatapos ay ikonekta ang Base plate na may auger at Nema na nakakabit pagkatapos ay i-tornilyo ang M2 bolts sa bawat panig.

Hakbang 4: Mga kable L298N & RTC

Mga kable L298N & RTC
Mga kable L298N & RTC
Mga kable L298N & RTC
Mga kable L298N & RTC

Sasabihin sa iyo ng hakbang na ito kung paano i-wire ang L298N & RTC

Magsisimula kami sa mga pin na 8, 9, 10, 11 hanggang sa L298N

  • I-pin ang 8 (Puti) sa IN1
  • Pin 9 (Lila) hanggang IN2
  • I-pin ang 10 (Pink) sa IN3
  • PIN 11 (Dilaw) hanggang IN4

Susunod na ikonekta namin ang Nema 17 sa L298N

  • OUT1 hanggang 1 sa NEMA
  • OUT2 hanggang 2 sa NEMA
  • OUT3 hanggang 3 sa NEMA
  • OUT4 hanggang 4 sa NEMA

Pagkonekta ng 12v at Arduino sa L298N (Hindi mahanap ang 12V kaya isipin ang baterya ng 9V bilang lakas)

  • Volts hanggang 12V
  • Ground sa GND
  • 5V hanggang 5V sa Breadboard

Pagkonekta sa RTC sa Arduino

  • GND sa GND
  • 5V hanggang 5V sa Breadboard
  • SDA hanggang A5
  • SCL hanggang A4

Jumper Pins

Ang lahat ng mga jumper pin ay dapat na nasa L298N

Hakbang 5: Pag-coding Sa Mga Komento

Coding Sa Mga Komento
Coding Sa Mga Komento
Coding Sa Mga Komento
Coding Sa Mga Komento
Coding Sa Mga Komento
Coding Sa Mga Komento

Ang code ay mas malinaw sa mga imahe sa itaas

// Pangalan: Parker Frederick

// Project Name: Auto Pet Feeder // Date: Tuesday, November 10 2020 // Teacher: M. Bonisteel // Desc: Pakainin ang iyong mga alagang hayop sa nasabing oras!

// Libaries para sa mga bagay na ginamit ko # isama ang # isama ang # isama ang "RTClib.h"

RTC_DS1307 rtc; // Sinasabi kung ano ang ginagamit ng RTC im

// Dito mo itinakda ang oras para sa pagkain

// Hours int mornFeedTime = 12; int nightFeedTime = 7; // Minutes int mornFeedTimeM = 29; int nightFeedTimeM = 00; // Seconds int mornFeedTimeS = 20; int nightFeedTimeS = 00;

char daysOfTheWeek [7] [12] = {"Sunday", "Monday", "Tuesday", "Wedsneday", "Huwebes", "Friday", "Saturday"}; // Ginagawang normal na araw ang mga araw ng linggo

const int feed = 200; // Ito ang iyong mga hakbang upang kung gaano karaming beses mo nais itong paikutin

Stepper myStepper (feed, 8, 9, 10, 11); // Ang iyong mga pin para sa Nema 17 at karamihan sa iba pang mga stepper

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

habang (! Serial); // Kung hindi gumagana ang RTC ipapakita ito sa serial screen kung (! Rtc.begin ()) {Serial.println ("Hindi mahanap ang RTC"); habang (1); }

// Sasabihin nito sa iyo kung tumatakbo o hindi ang Real Time Clock at ipapakita ito sa serial screen kung (! Rtc.isrunning ()) {Serial.println ("Tumatakbo ang RTC!");

rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_))); // Dadalhin ang oras ng iyong computer at gagamitin ito sa RTC

// Kung nais mong magkaroon ng isang itinakdang oras sa halip na oras ng computer maaari mo itong gawin dito //rtc.adjust(DateTime(2020, 10, 29, 8, 28, 0)); // Year / Month / Day / Hour / Minute / Second} myStepper.setSpeed (200); // Bilis na nais mong lumiko ito sa}

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

// Gagawin nitong variable ang oras na ito ngayon at iba pa int hr = now.hour (); int mi = now.minute (); int se = now.second ();

// Code kaya sa itinakdang oras ibibigay nito ang pagkain at magsulid ito ng 5 beses, kung ito para sa feed sa umaga

kung (hr == mornFeedTime && mi == mornFeedTimeM && mornFeedTimeS == se) {Serial.println ("Almusal!"); myStepper.step (-feed); pagkaantala (700);

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

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

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

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

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

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

}

// Code kaya sa itinakdang oras itatapon ang pagkain at ito ay iikot ng 5 beses, ito ay para sa feed ng oras sa gabi

kung (hr == nightFeedTime && mi == nightFeedTimeM && nightFeedTimeS == se) {Serial.println ("Dinner!"); myStepper.step (-feed); pagkaantala (700);

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

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

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

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

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

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

// Ipapakita nito ang TAON, MONTH, DAY, HOUR, MINute, SECOND sa serial

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

Website na ginamit ko para sa RTC Tinanggal ko ang karamihan sa mga bagay maliban sa kung ang mga pahayag na nagsasabi kung naka-on o hindi ang RTC. Pangunahin kong ginamit ang website na ito upang malaman kung paano iprograma ang RTC

Website na ginamit ko para sa Stepper motor na ito ay nakatulong sa akin na maunawaan kung paano i-program ang stepper upang patakbuhin wala talaga akong itinatago mula rito. Nakatulong lang ito sa akin na maunawaan kung paano ito mai-code

Hakbang 6: Mga problema at Paano Ko Inayos ang mga Ito

Mga problema at Paano Ko Inayos ang mga Ito!
Mga problema at Paano Ko Inayos ang mga Ito!

Ilang problema ko

  • Kailangan ko ng 12v power supply, mayroon lamang akong 9v na baterya na nakita ko ang isa at mabilis itong nalutas.
  • Kapag na-hook up ang L298N sa NEMA 17 Nagkamali ako ng mga wire sa A at A- na medyo nag-jitter. Inayos ko lang ito sa pamamagitan ng pagbabago ng mga wire sa ibang paraan.
  • Sinubukan na gawing mas simple ang code dahil sa kung pahayag na myStepper.step (-feed); paulit-ulit na mukhang magulo. Kaya't kailangan kong baguhin ito.
  • Nagkaroon ako ng maling sukat na base plate tulad ng nakikita sa larawan kaya kailangan kong mag-print ng 3D ng bago nang kaunti at magkasya itong perpekto!
  • Ang problema ko ay ang mga jam dahil ang auger ay maliit kaya't ito jams simpleng paraan na maaari kong ayusin ay sa pamamagitan ng pagpapalaki ng auger ng isang maliit na halaga!

Inirerekumendang: