Съдържание:
- Консумативи
- Стъпка 1: Преглед на дизайна
- Стъпка 2: Преглед на кода
- Стъпка 3: Прикрепете Nema 17 към основната плоча и шнека
- Стъпка 4: Окабеляване L298N & RTC
- Стъпка 5: Кодиране с коментари
- Стъпка 6: Проблеми и как ги отстраних
Видео: Автоматична хранилка за кучета: 6 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:49
Това е моят проект на Авто хранилка за домашни любимци. Казвам се Паркър, аз съм в 11 клас и направих този проект на 11 ноември 2020 г. като CCA (Кулминационна дейност на курса) в този проект, ще ви покажа как да направите автоматична хранилка за домашни любимци с Arduino UNO. Можете да изберете време, което можете да промените. Храната ще се разпределя през шнек и ще храни вашите домашни любимци!
Консумативи
Електроника:
- Arduino UNO
- L298N - 10 $ - Управлява Nema 17
- NEMA 17 - 10 $ - Включва шнека, така че храната да се разпределя
- RTC (DS1307) - 10 $ - Дава време
- 12V захранване - 5 $ - Захранва всичко
- Мини табла - За допълнително пространство за окабеляване
- Jumper Wires - Свързва всичко
- Женски към мъжки проводници - Свързва всичко
Хардуер:
- Нишка за 3D печат - за 3D принтер
- 2 болта M4 - Дръжте основната плоча на място
- 4 болта Nema 17 - Дръжте nema надолу
- PVC T 48 мм вътрешно измерение 66 мм външно измерение - 3 $
Инструменти:
- 3D принтер
- Пробивна машина
- Пистолет за запояване
Стъпка 1: Преглед на дизайна
Дизайнът на хранилката за домашни любимци е много прост. В горната част на PVC T. отива бункер. Тогава Nema 17 ще бъде натиснат в задната част на шнека, който може да се види отгоре, и болт ще отиде отстрани, за да го задържи на място, така че да не деформира дупката, която може да се види отгоре!
Тогава шнекът просто ще избута храната от тръбата и в купа!
Стъпка 2: Преглед на кода
RTC & Stepper имат библиотека, наречена RTClib.h и Stepper.h, която добавя опростен код за RTC & Stepper. Изреченията if са много прости, казва се, че часът и минутите са равни на споменатото време, той ще завърти нема, която ще разпредели храната. Останалата част от кода е много лесна за разбиране дори за някой с еднодневен опит.
Стъпка 3: Прикрепете Nema 17 към основната плоча и шнека
Първо искате да вземете основната си плоча и да я прикрепите към вашия Nema 17, като използвате готовите отвори на основната плоча. След като направите това, искате да прикрепите шнека към Nema, като използвате задния отвор върху него. След това свържете основната плоча с прикрепените шнек и Nema, след това завийте болтовете M2 във всяка страна.
Стъпка 4: Окабеляване L298N & RTC
Тази стъпка ще ви каже как да свържете L298N & RTC
Ще започнем с щифтовете 8, 9, 10, 11 към L298N
- Щифт 8 (бял) към IN1
- ПИН 9 (лилав) към IN2
- Пин 10 (розов) към IN3
- ПИН 11 (жълт) до IN4
След това ще свържем Nema 17 към L298N
- OUT1 до 1 на NEMA
- OUT2 до 2 на NEMA
- OUT3 до 3 на NEMA
- OUT4 до 4 на NEMA
Свързване на 12v и Arduino към L298N (Не можах да намеря 12V, така че представете 9V батерия като захранване)
- Волта до 12V
- Заземяване към GND
- 5V до 5V на платка
Свързване на RTC към Arduino
- GND към GND
- 5V до 5V на платка
- SDA до A5
- SCL към A4
Щипки за джъмпери
Всички джъмперни щифтове трябва да са на L298N
Стъпка 5: Кодиране с коментари
Кодът е по -ясен в изображенията по -горе
// Име: Паркър Фредерик
// Име на проекта: Автоматично хранилище за домашни любимци // Дата: вторник, 10 ноември 2020 г. // Учител: M. Bonisteel // Описание: Хранете домашните си любимци в посоченото време!
// Библиотеки за нещата, които използвах #include #include #include "RTClib.h"
RTC_DS1307 rtc; // Казва какво използва RTC
// Тук задавате часа за храната
// Часове int mornFeedTime = 12; int nightFeedTime = 7; // минути int mornFeedTimeM = 29; int nightFeedTimeM = 00; // секунди int 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 не работи, той ще го покаже на серийния екран if (! 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 = now.minute (); 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); }
// Това ще покаже YEAR, MONTH, DAY, HOUR, MINUTE, SECOND в поредицата
Serial.print (now.year (), DEC); Serial.print ('/'); Serial.print (now.menth (), 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, изтрих повечето неща, освен изявленията if, които казват дали RTC е включен или изключен. Използвах предимно този уебсайт, за да науча как да програмирам RTC
Уебсайт, който използвах за Стъпков двигател, това ми помогна да разбера как да програмирам степпера за стартиране. Всъщност не скрих нищо от него. Просто ми помогна да разбера как да го кодирам
Стъпка 6: Проблеми и как ги отстраних
Няколко проблема имах
- Имах нужда от 12v захранване, имах само 9v батерия, намерих такава и тя беше решена бързо.
- Когато свързвах L298N с NEMA 17, сгреших проводниците на A и A-, което го накара да трепне малко. Просто го оправих, като смених проводниците по друг начин.
- Опитах се да направя кода по-прост, защото в оператора if myStepper.step (-feed); отново и отново изглеждаше разхвърлян. Затова трябваше да го променя.
- Имах основата с грешен размер, както се вижда на снимката, така че трябваше да отпечатам малко нова 3D и тя пасваше перфектно!
- Проблемът ми е, че той засяда, тъй като шнекът е твърде малък, така че задръства простият начин, по който мога да поправя, е като увелича шнека с малко количество!
Препоръчано:
Автоматична хранилка за домашни любимци, използваща AtTiny85: 6 стъпки
Автоматично хранилище за домашни любимци, използващо AtTiny85: O trabalho Автоматично хранилище за домашни любимци, използващо AtTiny85 от PET Engenharia de Computação está licenciado com uma Licença Creative Commons - Atribuição 4.0 Internacional
Направи си най -проста автоматична хранилка за домашни любимци с Arduino: 3 стъпки
Направи си най -проста автоматична хранилка за домашни любимци с Arduino: Здравейте любители на домашни любимци! Дълбоко в себе си всички ние искаме да имаме сладко малко кученце или коте или вероятно дори семейство риби в дома си. Но поради натоварения ни живот, ние често се съмняваме: „Ще мога ли да се грижа за домашния си любимец?“Основната отговорност
Хранилка за кучета, контролирана от Alexa: 6 стъпки (със снимки)
Хранилка за кучета, контролирана от Alexa: Това е нашето куче Бейли. Тя е част от бордер коли и австралийско говедо, така че понякога е по -умна от нейното добро, особено когато става въпрос за разказване на времето и за това кога трябва да вечеря. Обикновено се опитваме да я храним около 18:00 часа
Автоматична топка за кучета: 6 стъпки
Автоматично хвърляне на топка за кучета: И двамата имаме кучета и както всеки знае, кучетата могат да прекарат цял ден в игра на топка. Ето защо, ние измислихме начин да изградим автоматичен топкач
Автоматична хранилка за кучета: 5 стъпки
Автоматична хранилка за кучета: Това е стъпка по стъпка урок за това как да направите автоматична хранилка за кучета с помощта на Arduino. Това е идеално, ако сте извън къщата през по -голямата част от деня. Вместо кучето ви да се налага да чака цял ден за храна или да ви накара да се приберете вкъщи, за да го нахраните, това устройство