Мазмұны:
- Жабдықтар
- 1 -қадам: Дизайнға шолу
- 2 -қадам: кодқа шолу
- 3 -қадам: Nema 17 -ді негізгі табаққа және шпекке бекіту
- 4 -қадам: L298N және RTC сымдары
- 5 -қадам: Пікірлермен кодтау
- 6 -қадам: Мәселелер және оларды қалай шештім
Бейне: Иттерді автоматты түрде тамақтандыру: 6 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:22
Бұл менің үй жануарларын тамақтандыратын жобам. Менің атым Паркер, мен 11 -сыныпта оқимын және мен бұл жобаны 2020 жылдың 11 қарашасында CCA (курстың қорытынды қызметі) ретінде жасадым, мен сізге осы жобада Arduino UNO көмегімен үй жануарларын автоматты түрде беруді көрсетемін. Сіз өзгерте алатын уақытты таңдай аласыз. Тамақ шнек арқылы беріледі және үй жануарларын тамақтандырады!
Жабдықтар
Электроника:
- Arduino UNO
- L298N - 10 $ - Nema 17 басқарады
- NEMA 17 - 10 $ - Шнекті айналдырады, осылайша тағам таралады
- RTC (DS1307) - 10 $ - Уақытты береді
- 12В қуат көзі - 5 $ - Барлығын қуаттандырады
- Шағын тақта - қосымша сымдар үшін
- Jumper Wires - бәрін қосады
- Әйел -еркек сымдары - бәрін қосады
Жабдық:
- 3D басып шығару жіпшесі - 3d принтерге арналған
- 2 M4 болттар - Негізгі тақтаны орнында ұстаңыз
- 4 Nema 17 болттары - Неманы ұстап тұрыңыз
- ПВХ Т 48 мм ішкі өлшемі 66 мм сыртқы өлшемі - 3 $
Құралдар:
- 3D принтері
- Бұрғылау
- Пісіру мылтығы
1 -қадам: Дизайнға шолу
Үй жануарларын тамақтандырудың дизайны өте қарапайым. Поливинилхлоридтердің жоғарғы жағына бункер түседі, содан кейін ПВХ Т -ның артқы жағында (суретте көрсетілгендей) Nema 17 бекітілген. Содан кейін Nema 17 жоғарыда көрінетін Auger -дің артқы жағына итеріледі және болт оны ұстап тұру үшін бүйіріне түседі, осылайша ол тесікті деформацияламайды!
Содан кейін шнек тағамды құбырдан шығарып, тостағанға итеріп жібереді!
2 -қадам: кодқа шолу
RTC & Stepper -де RTClib.h және Stepper.h деп аталатын кітапхана бар, ол RTC & Stepper үшін жеңілдетілген кодты қосады. If мәлімдемесі өте қарапайым, егер сағат пен минут айтылған уақытқа тең болса, ол тамақты тарататын ісікті айналдырады. Кодтың қалған бөлігін бір күндік тәжірибесі бар адамға түсіну өте оңай.
3 -қадам: Nema 17 -ді негізгі табаққа және шпекке бекіту
Алдымен сіз өзіңіздің табақшаңызды алып, оны Nema 17 құрылғысына тіреу тақтасындағы алдын ала дайындалған тесіктерді қолданып бекіткіңіз келеді. Мұны жасағаннан кейін, сіз шнекті артқы тесік арқылы Немаға бекіткіңіз келеді. Содан кейін негіз табақшасын шнекпен және Неманы бекітіңіз, содан кейін М2 болттарын екі жағына бұраңыз.
4 -қадам: L298N және RTC сымдары
Бұл қадам L298N & RTC сымын қалай қосуға болатынын айтады
Біз L298N 8, 9, 10, 11 түйреуіштерінен бастаймыз
- IN1 -ге 8 -ақ түйреуіш (ақ)
- PIN 2 (күлгін) IN2
- IN3 ұяшығына 10 (қызғылт) түйреу
- PIN 11 (сары) IN4
Содан кейін біз Nema 17 -ді L298N -ге қосамыз
- NEMA -да OUT1 -ден 1 -ге дейін
- NEMA -да OUT2 -ден 2 -ге дейін
- NEMA -да OUT3 -тен 3 -ке дейін
- NEMA -да OUT4 -тен 4 -ке дейін
12v мен Arduino -ны L298N -ге қосу (12В табылмады, сондықтан 9В батареяны қуат ретінде елестетіңіз)
- 12 В кернеуі
- GND негізі
- Нан тақтасында 5 В -тан 5 В -қа дейін
RTC Arduino -ға қосылады
- GND - GND
- Нан тақтасында 5 В -тан 5 В -қа дейін
- SDA - A5
- SC4 - A4
Секіргіш түйреуіштер
Барлық секіргіштер L298N -де болуы керек
5 -қадам: Пікірлермен кодтау
Жоғарыдағы суреттердегі код анық
// Аты: Паркер Фредерик
// Жобаның атауы: Үй жануарларын автоматты түрде тамақтандыру // Күні: сейсенбі, 10 қараша 2020 жыл // Мұғалім: M. Bonisteel // Desc: Үй жануарларын белгіленген уақытта тамақтандырыңыз!
// Мен қолданған заттар үшін кітапханашылар #include #include #include «RTClib.h»
RTC_DS1307 rtc; // RTC не қолданатынын айтады
// Бұл жерде сіз тамақтану уақытын белгілейсіз
// mornFeedTime = 12 сағаты; int nightFeedTime = 7; // минуттар m mornFeedTimeM = 29; int nightFeedTimeM = 00; // секундтар m mornFeedTimeS = 20; int nightFeedTimeS = 00;
char daysOfTheWeek [7] [12] = {«жексенбі», «дүйсенбі», «сейсенбі», «сәрсенбі», «бейсенбі», «жұма», «сенбі”}}; // Қалыпты күндерді аптаның күндеріне айналдырады
const int feed = 200; // Бұл сіздің қадамдарыңыз, сондықтан сіз оны қанша рет айналдырғыңыз келеді
Stepper myStepper (арна, 8, 9, 10, 11); // Nema 17 және басқа да көптеген қадамдарға арналған түйреуіштеріңіз
void setup () {Serial.begin (9600);
while (! сериялық); // Егер RTC жұмыс істемесе, ол оны сериялық экранда көрсетеді, егер (! Rtc.begin ()) {Serial.println («RTC табылмады»); кезінде (1); }
// Бұл сізге нақты уақыт сағаты жұмыс істеп тұрғанын немесе болмайтынын көрсетеді және егер ол (! Rtc.isrunning ()) {Serial.println («RTC жұмыс істейді!») Болса, оны сериялық экранда көрсетеді;
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 hr = now.hour (); int mi = қазір.минут (); int se = now.second ();
// Кодты белгіленген уақытта ол тағамды таратады және ол 5 рет айналады, егер бұл таңғы тамақ үшін болса
if (hr == mornFeedTime && mi == mornFeedTimeM && mornFeedTimeS == se) {Serial.println («Таңғы ас!»); myStepper.step (-Feed); кешіктіру (700);
myStepper.step (-Feed); кешіктіру (700);
myStepper.step (-Feed); кешіктіру (700);
myStepper.step (-Feed); кешіктіру (700);
myStepper.step (-Feed); кешіктіру (700);
myStepper.step (-Feed); кешіктіру (700);
myStepper.step (-Feed); кешіктіру (700);
}
// Кодты белгіленген уақытта ол тағамды таратады және ол 5 рет айналады, бұл түнгі тамақтандыруға арналған
if (hr == nightFeedTime && mi == nightFeedTimeM && nightFeedTimeS == se) {Serial.println («Кешкі ас!»); myStepper.step (-Feed); кешіктіру (700);
myStepper.step (-Feed); кешіктіру (700);
myStepper.step (-Feed); кешіктіру (700);
myStepper.step (-Feed); кешіктіру (700);
myStepper.step (-Feed); кешіктіру (700);
myStepper.step (-Feed); кешіктіру (700);
myStepper.step (-Feed); кешіктіру (700); }
// Бұл сериалда ЖЫЛ, АЙ, КҮН, СААТ, МИНУТ, ЕКІНШІДІ көрсетеді
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 (); }
Мен RTC үшін қолданған веб -сайт, егер RTC қосулы немесе өшірулі екендігі туралы мәлімдемеден басқа көп нәрсені жойдым. Мен бұл веб -сайтты негізінен RTC бағдарламалауды үйрену үшін қолдандым
Мен Stepper моторы үшін қолданған веб -сайт бұл қадамды қалай іске қосу керектігін түсінуге көмектесті, мен одан ештеңе сақтамадым. Бұл маған оны қалай кодтау керектігін түсінуге көмектесті
6 -қадам: Мәселелер және оларды қалай шештім
Менде бірнеше проблемалар болды
- Маған 12в қуат көзі қажет болды, менде тек 9в батарея болды, мен оны таптым және ол тез шешілді.
- L298N-ді NEMA 17-ге қосқан кезде менде А мен А-да сымдар қате болды, бұл оны біраз дірілдетіп жіберді. Мен сымдарды басқа жолмен өзгерту арқылы жөндедім.
- Кодты қарапайым етуге тырысты, себебі if операторында myStepper.step (-feed); қайта -қайта ретсіз көрінді. Сондықтан оны қайта өзгертуге тура келді.
- Менде суретте көрсетілгендей өлшемі дұрыс емес табақша болды, сондықтан жаңадан 3D басып шығаруға тура келді және ол өте жақсы сәйкес келді!
- Менің проблемам - бұл кептеліс, өйткені шнек кішкентай болғандықтан, оны түзетудің қарапайым әдісі - шнекті аздап үлкейту!
Ұсынылған:
Иттерді автоматты түрде тамақтандыру !!: 4 қадам
Иттерді автоматты түрде тамақтандыру !!: оңай, пайдалы және сау
Иттерді тамақтандыру туралы еске салғыш: 5 қадам
Иттерді тамақтандыру туралы еске салғыш: Егер сіздің үйіңізде ит болса, сізге итіңізді тамақтандыруды еске салу үшін немесе оны қашан серуендеу керектігін еске салу үшін қолдану қажет болуы мүмкін. Бұл машина өте кішкентай, оны кез келген адам көтере алады, және бұл өте
WiFi резервуарлы өсімдіктерді автоматты түрде беру - жабық/ашық ауада өсіру - су қондырғылары қашықтан бақылаумен автоматты түрде: 21 қадам
Резервуарлы WiFi автоматты өсімдік қоректендіргіші - жабық/ашық өсіру қондырғысы - су қондырғылары қашықтан бақылаумен автоматты түрде: Бұл оқулықта біз өсімдіктерді автоматты түрде суаратын және Adosia платформасы арқылы қашықтан бақыланатын жабық/ашық өсімдіктерді тамақтандыратын жүйені қалай орнату керектігін көрсетеміз
Иттерді автоматты түрде тамақтандыру: 5 қадам
Иттерді автоматты түрде тамақтандырушы: Бұл Arduino көмегімен иттерді автоматты түрде тамақтандыруға арналған қадамдық нұсқаулық, егер сіз үйден тыс жерде болсаңыз, бұл өте жақсы. Сіздің итіңіз күні бойы тамақ күтуге немесе оны тамақтандыру үшін үйге жүгірудің орнына, бұл құрылғы
Raspberry Pi иттерді автоматты түрде тамақтандырушы және тікелей бейне ағыны: 3 қадам
Иттерді автоматты түрде тамақтандыратын Raspberry Pi және тікелей бейне ағыны: Бұл менің Raspberry PI -мен жұмыс істейтін автоматты ит тамақтандырғыш. Мен таңертеңгі 11 -ден кешкі 9 -ға дейін жұмыс істейтінмін. Егер мен оны уақытында тамақтандырмасам, менің итім есінен танып қалады. Автоматты тамақтандырғыштарды сатып алу үшін google -ге кіріңіз, олар Үндістанда жоқ және қымбат импорттық опция