Съдържание:

Автоматичен дозатор за кучета: 10 стъпки
Автоматичен дозатор за кучета: 10 стъпки

Видео: Автоматичен дозатор за кучета: 10 стъпки

Видео: Автоматичен дозатор за кучета: 10 стъпки
Видео: Aтоматична хранилка за куче и котка - грижа за вашите домашни любимци докато ви няма вкъщи 2024, Юли
Anonim
Автоматичен дозатор за кучета
Автоматичен дозатор за кучета
Автоматичен дозатор за кучета
Автоматичен дозатор за кучета
Автоматичен дозатор за кучета
Автоматичен дозатор за кучета

С моя проект аз се уверявам, че когато оставите кучето си само вкъщи, то никога не е без храна.

Автоматичното захранващо устройство ще бъде „хакнато“от дозатора за корнфлейкс. Дозаторът е резервоар за кучешка храна, колелото отдолу ще бъде свързано със серво мотор, който автоматично изпуска храната, когато яслите са почти празни и когато кучето е достатъчно близо. В долната част на дозатора ще има прикрепена PVC тръба, която ще пусне добре кучешката храна в яслите. Следователно този проект ще има 3 сензора, 2 от които не са обхванати в клас и 1 от които е задвижващ механизъм.

Първият сензор е RFID четецът. Този сензор проверява, когато кучето се доближи до креватчето. RFID ще бъде включен в яката на кучето. Ако този сензор забележи, че кучето е достатъчно близо, то ще предаде сигнал към втория сензор. Вторият сензор е сензорът за тегло (не е включен в класа), който измерва храната в яслите, ако този сензор установи, че теглото е твърде ниско, той ще изпрати сигнал към серво мотора, който ще пусне храната в яслите (с потвърждение на RFID и сензора за тегло). Накратко, кучето получава допълнителна храна само когато е достатъчно близо до яслите и когато яслите са почти празни. Разбира се, има и ограничение, което можете да зададете сами чрез уеб сървъра; така че кучето да не получава твърде много храна на ден. Третият сензор е светлинен сензор, който осветява LED прожектор, когато е твърде тъмно около яслите. Следователно задвижващият механизъм ще бъде серво мотор, свързан с колелото в дозатора.

Този проект е предназначен за кучета, можете да го използвате и за други малки домашни любимци.

Консумативи

Малина Пи 3

Товарна клетка (1 кг)

Усилвател на натоварваща клетка HX711

Купа за храна

Дозатор за зърнени култури

Дърво (+ винтове и отвертка)

Светлинен сензор

Led

RFID четец rc522

Кабелни проводници

16*2 LCD (дисплей)

Серво мотор

5V захранващ адаптер

Резистор 470 ома

PVC тръба

Breadbord

Потенциометър

Трион

Шлифовъчна хартия

Силиконов пистолет

Стъпка 1: Настройка на Pi

Настройка на Pi
Настройка на 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: Светодиоден и светлинен сензор

LED и светлинен сензор
LED и светлинен сензор
LED и светлинен сензор
LED и светлинен сензор

Свързване на светодиода

  1. S -> GPIO15 (rxd0)
  2. + -> 5V
  3. G -> Резистор 470 ома и GND

Свързване на сензора за светлина

  1. OUT -> GPIO17
  2. VCC -> 3.3V
  3. 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: Серво мотор

Серво мотор
Серво мотор

Свързване на серво мотора

  1. OUT -> GPIO18
  2. VCC -> 5V
  3. 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 четец RC522
RFID четец RC522

Свързване на RFID

  1. RST -> GPIO6
  2. MISO -> GPIO9 (MISO)
  3. MOSI -> GPIO10 (MOSI)
  4. SCK -> GPIO11 (SPISCLK)
  5. SDA -> GPIO8 (SPICS0)
  6. 3.3V -> 3.3V
  7. GND -> GND

Сега можем да тестваме дали нашият RFID четец работи с този малък скрипт

импортирайте RPi. GPIO като GPIO

от mfrc522 импортиране SimpleMFRC522

четец = SimpleMFRC522 ()

text = input ('Нови данни:')

print ("Сега поставете своя маркер за писане")

reader.write (текст)

print ("Писмено")

Стъпка 5: Заредете клетка HX711

Товарна клетка HX711
Товарна клетка HX711

Свързване на клетката за зареждане към платката на драйвера на HX711

  1. Червено -> E+
  2. Черно -> E-
  3. Зелено -> A+
  4. Бяло -> A-

Свързване на клетката за зареждане

  1. DT-> GPIO27
  2. SCK -> GPIO22
  3. ЧЕРВЕН -> 3.3V
  4. 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 (16*2)
LCD (16*2)

Свързване на LCD дисплея

  1. RS -> GPIO21
  2. RW -> GND
  3. E-> GPIO20
  4. D0 -> GPIO16
  5. D1 -> GPIO12
  6. D2 -> GPIO6
  7. D3 -> GPIO24
  8. D4 -> GPIO23
  9. D5 -> GPIO26
  10. D6 -> GPIO19
  11. D7 -> GPIO13
  12. VSS -> GND
  13. VDD -> 5V
  14. A -> 5V
  15. K -> GND
  16. 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 кабел и активирате по този начин

Първата страница е началната страница, тук можете да видите:

  • Информация в реално време за светлината
  • Информация в реално време за храната, която е останала в купата
  • Можете да пуснете храна
  • Информация за кучето

Втората страница е страницата за редактиране, тук можете да редактирате:

  • името на вашия домашен любимец
  • възрастта на вашия домашен любимец
  • теглото на вашия домашен любимец
  • снимката на вашия домашен любимец

Третата страница е историята, тук можете да видите:

  • когато лампата светна
  • когато кучето е яло
  • когато храната е спаднала

Четвъртата страница е страницата с настройки, тук можете да редактирате:

  • когато храната трябва да спадне
  • количеството храна, което трябва да спадне
  • максимална храна/ден
  • светлината

Препоръчано: