Съдържание:
- Консумативи
- Стъпка 1: Настройка на Pi
- Стъпка 2: Светодиоден и светлинен сензор
- Стъпка 3: Серво мотор
- Стъпка 4: RFID четец RC522
- Стъпка 5: Заредете клетка HX711
- Стъпка 6: LCD (16*2)
- Стъпка 7: Пълен кръг
- Стъпка 8: Начало на делото
- Стъпка 9: Сглобявайки го заедно
- Стъпка 10: Уебсайтът
Видео: Автоматичен дозатор за кучета: 10 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:51
С моя проект аз се уверявам, че когато оставите кучето си само вкъщи, то никога не е без храна.
Автоматичното захранващо устройство ще бъде „хакнато“от дозатора за корнфлейкс. Дозаторът е резервоар за кучешка храна, колелото отдолу ще бъде свързано със серво мотор, който автоматично изпуска храната, когато яслите са почти празни и когато кучето е достатъчно близо. В долната част на дозатора ще има прикрепена PVC тръба, която ще пусне добре кучешката храна в яслите. Следователно този проект ще има 3 сензора, 2 от които не са обхванати в клас и 1 от които е задвижващ механизъм.
Първият сензор е RFID четецът. Този сензор проверява, когато кучето се доближи до креватчето. RFID ще бъде включен в яката на кучето. Ако този сензор забележи, че кучето е достатъчно близо, то ще предаде сигнал към втория сензор. Вторият сензор е сензорът за тегло (не е включен в класа), който измерва храната в яслите, ако този сензор установи, че теглото е твърде ниско, той ще изпрати сигнал към серво мотора, който ще пусне храната в яслите (с потвърждение на RFID и сензора за тегло). Накратко, кучето получава допълнителна храна само когато е достатъчно близо до яслите и когато яслите са почти празни. Разбира се, има и ограничение, което можете да зададете сами чрез уеб сървъра; така че кучето да не получава твърде много храна на ден. Третият сензор е светлинен сензор, който осветява LED прожектор, когато е твърде тъмно около яслите. Следователно задвижващият механизъм ще бъде серво мотор, свързан с колелото в дозатора.
Този проект е предназначен за кучета, можете да го използвате и за други малки домашни любимци.
Консумативи
Малина Пи 3
Товарна клетка (1 кг)
Усилвател на натоварваща клетка HX711
Купа за храна
Дозатор за зърнени култури
Дърво (+ винтове и отвертка)
Светлинен сензор
Led
RFID четец rc522
Кабелни проводници
16*2 LCD (дисплей)
Серво мотор
5V захранващ адаптер
Резистор 470 ома
PVC тръба
Breadbord
Потенциометър
Трион
Шлифовъчна хартия
Силиконов пистолет
Стъпка 1: Настройка на Pi
Настройвам
За да започнете, първо трябва да настроим вашия Pi.
Ще ви трябват две неща:
- Win32 Disk Imager от
- Образ на Raspbian OS от
Изтеглете ZIP файла и го извлечете където искате.
Инсталацията
1. Изберете вашето изображение чрез иконата на папката
2. Изберете вашата SD карта чрез падащото меню
3. Щракнете върху запис
Сега ще трябва да направим допълнително бъркане с някои настройки, за да можем да получим достъп до Pi.
1. Отидете в директорията за зареждане на SD картата
2. Отворете файла „cmdline.txt“
3. Добавете ip = 169.254.10.1 В края на дългия ред текст, разделен с интервал (на същия ред).
4. Запазете файла.
5. Създайте файл с име ssh без разширение в същата директория
Сега можете да извадите SD картата и да я поставите във вашия Pi.
Свързване
Сега ще трябва да настроим софтуера.
Първо включете LAN кабел, единият край на вашия работен плот/лаптоп, а другият във вашия Pi.
Сега стартирайте Raspberry Pi.
1. Инсталирайте Putty от
2. Въведете 169.254.10.1 в полето IP.
3. Уверете се, че SSH е избран и порт 22 е попълнен.
4. Щракнете върху отвори
5. Попълнете потребителското име: pi
6. Попълнете паролата: малинова
Raspi-config
Отворете помощната програма Raspi-config, като използвате:
sudo raspi-config
Активирайте следните опции в категорията интерфейси
- 1-проводник
- SPI
Деактивирайте следните опции в категорията опции за зареждане
- Екран за пръскане
Накрая задайте настройката Desktop/CLI в категорията опции за зареждане на Desktop Autologin.
WiFi
За хранилката за кучета трябва да имаме wifi връзка, така че се уверете, че вашите идентификационни данни за wifi са близо.
1. Отидете в root режим
sudo -i
2. Поставете този ред, но се уверете, че SSID и Паролата са попълнени
wpa_passphrase "SSID" "PASSWORD" >> /etc/wpa_supplicant/wpa_supplicant.conf
3. Въведете WPA клиент.
Wpa_cli
4. Изберете интерфейса
Интерфейс wlan0
5. Презаредете конфигурацията
Преконфигурирайте
Уверете се, че сте свързани правилно, като напишете ip a и проверите дали имате IP на интерфейсите WLAN0.
Пакети
Сега, когато сме свързани с интернет, ще трябва да инсталираме някои пакети.
Първо ще трябва да опресним списъците с пакети за най -новия.
sudo apt актуализация
Python
Ще принудим Raspbian да използва Python 3
update-alternatives --install/usr/bin/python python /usr/bin/python2.7 1
update-alternatives --install/usr/bin/python python/usr/bin/python3 2
MariaDB
Поставете следния ред, за да инсталирате базата данни.
sudo apt инсталирате mariadb-сървър
След това ще трябва да осигурим нашата инсталация.
mysql_secure_installation
Той ще ни поиска текуща root парола, тъй като нямаме такава, просто натиснете enter.
След това се пита дали искаме root парола в y, тъй като искаме такава.
За следващите въпроси просто въведете Y.
След това ще създадем потребител, който ще можем да използваме за огледалото.
Въведете черупката на mysql, като направите:
- Издигаме се до корен
Sudo -i
- Въведете черупката на mysql
Mysql
- Заменете със собствено потребителско име и същото с
предоставете всички привилегии на *. * на ''@'%', идентифицирани от '';
- предоставете всички привилегии на *. * на ''@'%', идентифицирани от '';
След това ще добавим нашата база данни.
Apache уеб сървър
За да инсталирате уеб сървъра, изпълнете реда по -долу.
sudo apt инсталирате apache2 -y
Пакети на Python
Ще инсталираме тези пакети
- Колба
- Flask-Cors
- Flask-MySQL
- Flask-SocketIO
- PyMySQL
- Гевент
- Gevent-websocket
-
- Python-socketio
- Искания
- Wsaccel
- Уйсън
Чрез правене
pip install Flask Flask-Cors Flask-MySQL Flask-SocketIO PyMySQL gevent gevent-websocket httplib2 python-socketio иска wsaccel ujson mfrc522 hx711 Adafruit-CharLCD
Стъпка 2: Светодиоден и светлинен сензор
Свързване на светодиода
- S -> GPIO15 (rxd0)
- + -> 5V
- G -> Резистор 470 ома и GND
Свързване на сензора за светлина
- OUT -> GPIO17
- VCC -> 3.3V
- GND -> GND
Сега можем да тестваме дали нашият светодиоден и светлинен сензор работи с този малък скрипт
импортирайте RPi. GPIO като GPIO GPIO.setmode (GPIO. BCM)
GPIO.setup (15, GPIO. OUT)
GPIO.setup (17, GPIO. IN)
опитайте: while True:
ако GPIO.input (17) == 0:
GPIO.изход (15, GPIO. HIGH)
ако GPIO.input (17) == 1:
GPIO.изход (15, GPIO. LOW)
с изключение на KeyboardInterrupt: GPIO.cleanup ()
Стъпка 3: Серво мотор
Свързване на серво мотора
- OUT -> GPIO18
- VCC -> 5V
- GND -> GND
Сега можем да тестваме дали нашият светодиоден и светлинен сензор работи с този малък скрипт
импортирайте RPi. GPIO като GPIOимпортирайте време
GPIO.setmode (GPIO. BCM)
GPIO.setup (18, GPIO. OUT)
p = GPIO. PWM (18, 50)
p.start (12.5)
опитвам:
докато е вярно:
стр. ChangeDutyCycle (12.5)
time.sleep (1)
стр. ChangeDutyCycle (2.5)
time.sleep (1)
с изключение на KeyboardInterrupt:
p.stop ()
GPIO.cleanup ()
Стъпка 4: RFID четец RC522
Свързване на RFID
- RST -> GPIO6
- MISO -> GPIO9 (MISO)
- MOSI -> GPIO10 (MOSI)
- SCK -> GPIO11 (SPISCLK)
- SDA -> GPIO8 (SPICS0)
- 3.3V -> 3.3V
- GND -> GND
Сега можем да тестваме дали нашият RFID четец работи с този малък скрипт
импортирайте RPi. GPIO като GPIO
от mfrc522 импортиране SimpleMFRC522
четец = SimpleMFRC522 ()
text = input ('Нови данни:')
print ("Сега поставете своя маркер за писане")
reader.write (текст)
print ("Писмено")
Стъпка 5: Заредете клетка HX711
Свързване на клетката за зареждане към платката на драйвера на HX711
- Червено -> E+
- Черно -> E-
- Зелено -> A+
- Бяло -> A-
Свързване на клетката за зареждане
- DT-> GPIO27
- SCK -> GPIO22
- ЧЕРВЕН -> 3.3V
- GND -> GND
Сега можем да тестваме дали нашата зареждаща клетка работи с този малък скрипт
импортиране на RPi. GPIO като GPIO импортиране на време за импортиране на sys от klasses. HX711 внос HX711
def cleanAndExit (): print ("Почистване …") GPIO.cleanup () print ("Чао!") sys.exit ()
hx = HX711 (22, 27)
hx.set_reading_format ("LSB", "MSB")
hx.set_reference_unit (2167)
hx.reset ()
hx.tare ()
докато е вярно:
опитвам:
val = max (0, int (hx.get_weight (5))))
печат (вал)
hx.power_down ()
hx.power_up ()
time.sleep (0.5)
освен (KeyboardInterrupt, SystemExit): cleanAndExit ()
Стъпка 6: LCD (16*2)
Свързване на LCD дисплея
- RS -> GPIO21
- RW -> GND
- E-> GPIO20
- D0 -> GPIO16
- D1 -> GPIO12
- D2 -> GPIO6
- D3 -> GPIO24
- D4 -> GPIO23
- D5 -> GPIO26
- D6 -> GPIO19
- D7 -> GPIO13
- VSS -> GND
- VDD -> 5V
- A -> 5V
- K -> GND
- V0 -> среден потенциален щифт
Сега можем да тестваме дали нашият LCD екран работи с този малък скрипт
импортирайте Adafruit_CharLCD като LCDlcd_rs = 21
lcd_en = 20
lcd_d4 = 23
lcd_d5 = 26
lcd_d6 = 19
lcd_d7 = 13
lcd_columns = 16
lcd_rows = 2
lcd = LCD. Adafruit_CharLCD (lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7, lcd_columns, lcd_rows)
lcd.message ('169.254.10.1')
Стъпка 7: Пълен кръг
тук можете да проверите отново дали цялата верига е правилна
Стъпка 8: Начало на делото
Използвах дозатор с корнфлейкс като резервоар за храна за кучета
Свързах колелото в дозатора към моя серво мотор
Сега мога да управлявам колелото със моя серво мотор и да изхвърлям храна от резервоара
В края на резервоара има свързана PVC тръба, която пуска храната добре в яслите
Използвам дърво като обвивка
Стъпка 9: Сглобявайки го заедно
Стъпка 10: Уебсайтът
Сега нашата машина работи, трябва да поставим уебсайта на pi. Сега всичко е готово и изпълнява няколко инструкции за това как работи сайтът.
Можете да свържете вашия pi към wifi, като включите hdmi кабел и активирате по този начин
Първата страница е началната страница, тук можете да видите:
- Информация в реално време за светлината
- Информация в реално време за храната, която е останала в купата
- Можете да пуснете храна
- Информация за кучето
Втората страница е страницата за редактиране, тук можете да редактирате:
- името на вашия домашен любимец
- възрастта на вашия домашен любимец
- теглото на вашия домашен любимец
- снимката на вашия домашен любимец
Третата страница е историята, тук можете да видите:
- когато лампата светна
- когато кучето е яло
- когато храната е спаднала
Четвъртата страница е страницата с настройки, тук можете да редактирате:
- когато храната трябва да спадне
- количеството храна, което трябва да спадне
- максимална храна/ден
- светлината
Препоръчано:
Направи си сам автоматичен дозатор за дезинфекция на ръце: 6 стъпки
Направи си сам автоматичен дозатор за дезинфекция на ръце: В този проект ние ще изградим автоматичен дозатор за дезинфекция на ръце. Този проект ще използва Arduino, ултразвуков сензор, водна помпа и дезинфектант за ръце. Ултразвуков сензор се използва за проверка на наличието на ръце под изхода на дезинфектанта
Автоматичен дозатор за алкохол с гел с Esp32: 9 стъпки
Автоматичен дозатор за алкохол с гел с Esp32: В урока ще видим как да направим пълен прототип, за да сглобим автоматичен дозатор за гел за алкохол с esp32, той ще включва поетапно сглобяване, електронна схема, както и изходния код, обяснен всички стъпки от стъпка
Автоматичен дозатор за лекарства: 5 стъпки
Автоматичен дозатор за лекарства: Този проект е за използване в медицинската област, където възрастните пациенти трябва да имат надежден начин за порциониране и отпускане на лекарства. Това устройство позволява да се порционират лекарства до 9 дни предварително и автоматично да се отпускат по желание
АВТОМАТИЧЕН ДОЗАТОР ЗА ХРАНИТЕЛНИ ХРАНИ: 9 стъпки
АВТОМАТИЧЕН ДОЗАТОР ЗА ХРАНИТЕЛНИ ХРАНИ: Някога чувствали ли сте се, че губите твърде много време в храненето на вашия домашен любимец? Случвало ли ви се е да се обадите на някого, за да нахрани вашите домашни любимци, докато сте на почивка? Опитах се да поправя и двата проблема с настоящия си училищен проект: Petfeed
Автоматичен дозатор за дезинфекция на ръце: 3 стъпки
Автоматичен дозатор за дезинфекция на ръце: Този автоматичен дозатор за дезинфекция на ръце е проектиран да бъде относително ниска цена, която е лесна за сглобяване. Повечето от необходимите артикули могат да бъдат закупени от местните търговци на хардуер и електроника. Има възможност за 3D отпечатване на