Оглавление:

Автоматический дозатор для собак: 10 шагов
Автоматический дозатор для собак: 10 шагов

Видео: Автоматический дозатор для собак: 10 шагов

Видео: Автоматический дозатор для собак: 10 шагов
Видео: 🔥ТОП-5: Лучшие автоматические кормушки для кошек и собак | Рейтинг автокормушек в 2023 году 2024, Июль
Anonim
Автоматический дозатор собак
Автоматический дозатор собак
Автоматический дозатор собак
Автоматический дозатор собак
Автоматический дозатор собак
Автоматический дозатор собак

В моем проекте я убеждаюсь, что когда вы оставляете свою собаку дома одну, она никогда не останется без еды.

Автоподатчик будет «взломан» из дозатора кукурузных хлопьев. Диспенсер - это резервуар для собачьего корма, колесо внизу будет подключено к серводвигателю, который автоматически сбрасывает корм, когда кроватка почти пуста и собака находится достаточно близко. Внизу диспенсера будет прикреплена трубка из ПВХ, которая будет аккуратно опускать корм для собак в кроватку. Таким образом, в этом проекте будет 3 датчика, 2 из которых не относятся к классу, а 1 - исполнительный механизм.

Первый датчик - это считыватель RFID. Этот датчик проверяет, когда собака приближается к кроватке. RFID будет встроен в ошейник собаки. Если этот датчик замечает, что собака достаточно близко, он передает сигнал второму датчику. Второй датчик - это датчик веса (не входит в класс), который измеряет продукты в кроватке. Если этот датчик обнаруживает, что вес слишком мал, он отправляет сигнал на серводвигатель, который бросает пищу в кроватку (с подтверждением RFID и датчика веса). Короче говоря, собака получает дополнительную пищу только тогда, когда она находится достаточно близко к кроватке и когда кроватка почти пуста. Конечно, есть также набор ограничений, который вы можете установить самостоятельно через веб-сервер; чтобы собака не получала слишком много еды в день. Третий датчик - это датчик освещенности, который включает светодиодный прожектор, когда вокруг кроватки слишком темно. Таким образом, исполнительным механизмом будет серводвигатель, соединенный с колесом дозатора.

Этот проект предназначен для собак, вы также можете использовать его для других мелких домашних животных.

Запасы

Малина Pi 3

Весоизмерительная ячейка (1 кг)

Усилитель тензодатчика HX711

Миска для еды

Диспенсер для зерновых

Дерево (+ шурупы и отвертка)

Световой датчик

Вел

Считыватель RFID rc522

Провода перемычки

ЖК-дисплей 16 * 2 (дисплей)

Серводвигатель

Адаптер питания 5В

Резистор 470 Ом

ПВХ трубка

Breadbord

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

Пила

Наждачная бумага

Кремниевый пистолет

Шаг 1: Настройка Pi

Настройка Pi
Настройка Pi

Настраивать

Для начала нам нужно настроить ваш Pi.

Вам понадобятся две вещи:

- Win32 Disk Imager с

- Образ ОС Raspbian с

Загрузите 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. Введите пароль: raspberry

Распи-конфиг

Откройте утилиту Raspi-config, используя:

sudo raspi-config

Включите следующие параметры в категории интерфейсов

- 1-проводной

- SPI

Отключите следующие параметры в категории параметров загрузки

- Заставка

Наконец, установите параметр Desktop / CLI в категории параметров загрузки на Desktop Autologin.

Вай фай

Для кормушки для собак нам необходимо подключение к Wi-Fi, поэтому убедитесь, что у вас есть свои учетные данные Wi-Fi.

1. Войдите в корневой режим

судо -i

2. Вставьте эту строку, но убедитесь, что указаны SSID и пароль.

wpa_passphrase "SSID" "ПАРОЛЬ" >> /etc/wpa_supplicant/wpa_supplicant.conf

3. Войдите в клиент WPA.

Wpa_cli

4. Выберите интерфейс.

Интерфейс wlan0

5. Перезагрузите конфиг.

Переконфигурировать

Убедитесь, что вы подключены правильно, набрав ip a и проверив, есть ли у вас IP на интерфейсах WLAN0.

Пакеты

Теперь, когда мы подключены к Интернету, нам нужно установить несколько пакетов.

Сначала нам нужно обновить списки пакетов до последней версии.

sudo apt update

Python

Мы заставим Raspbian использовать Python 3

альтернативы обновления --install / usr / bin / python python /usr/bin/python2.7 1

альтернативы обновления --install / usr / bin / python python / usr / bin / python3 2

MariaDB

Вставьте следующую строку, чтобы установить базу данных.

sudo apt установить mariadb-server

Тогда нам нужно будет защитить нашу установку.

mysql_secure_installation

Он запросит у нас текущий пароль root, так как у нас его нет, просто нажмите Enter.

Затем он спрашивает, хотим ли мы ввести пароль root в y, поскольку он нам нужен.

Для следующих вопросов просто введите Y.

Далее мы создадим пользователя, которого сможем использовать для зеркала.

Войдите в оболочку mysql, выполнив:

- Возвышаемся до корней

Судо -и

- Войдите в оболочку mysql

MySQL

- Замените на свое собственное имя пользователя и то же самое на

предоставить все привилегии для *. * '' @ '%', идентифицированному '';

- предоставить все привилегии на *. * '' @ '%', идентифицированному '';

Далее мы добавим нашу базу данных.

Веб-сервер Apache

Чтобы установить веб-сервер, выполните следующую строку.

sudo apt install apache2 -y

Пакеты Python

Мы собираемся установить эти пакеты

- Фляга

- Фляга-Корс

- 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: светодиод и датчик освещенности

Светодиод и датчик освещенности
Светодиод и датчик освещенности
Светодиод и датчик освещенности
Светодиод и датчик освещенности

Подключение светодиода

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

Подключение светового датчика

  1. ВЫХОД -> GPIO17
  2. VCC -> 3,3 В
  3. GND -> GND

Теперь мы можем проверить, работает ли наш светодиод и датчик света с помощью этого небольшого скрипта

импортировать RPi. GPIO как GPIO GPIO.setmode (GPIO. BCM)

GPIO.setup (15, GPIO. OUT)

GPIO.setup (17, GPIO. IN)

попробуйте: в то время как True:

если GPIO.input (17) == 0:

GPIO.output (15, GPIO. HIGH)

если GPIO.input (17) == 1:

GPIO.output (15, GPIO. LOW)

кроме KeyboardInterrupt: GPIO.cleanup ()

Шаг 3: серводвигатель

Серводвигатель
Серводвигатель

Подключение серводвигателя

  1. ВЫХОД -> GPIO18
  2. VCC -> 5 В
  3. GND -> GND

Теперь мы можем проверить, работает ли наш светодиод и датчик света с помощью этого небольшого скрипта.

импортировать RPi. GPIO как GPIO импортировать время

GPIO.setmode (GPIO. BCM)

GPIO.setup (18, GPIO. OUT)

р = GPIO. PWM (18, 50)

p.start (12,5)

пытаться:

в то время как True:

p. ChangeDutyCycle (12.5)

время сна (1)

p. ChangeDutyCycle (2.5)

время сна (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,3 В -> 3,3 В
  7. GND -> GND

Теперь мы можем проверить, работает ли наш RFID-ридер с этим маленьким скриптом.

импортировать RPi. GPIO как GPIO

из mfrc522 импорт SimpleMFRC522

reader = 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,3 В
  4. GND -> GND

Теперь мы можем проверить, работает ли наш тензодатчик с помощью этого небольшого скрипта.

импортировать RPi. GPIO как GPIO импортировать время импорта sys из классов. 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 ()

в то время как True:

пытаться:

val = max (0, int (hx.get_weight (5)))

печать (val)

hx.power_down ()

hx.power_up ()

time.sleep (0,5)

кроме (KeyboardInterrupt, SystemExit): cleanAndExit ()

Шаг 6: ЖК-дисплей (16 * 2)

ЖК-дисплей (16 * 2)
ЖК-дисплей (16 * 2)

Подключение ЖК-дисплея

  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 -> 5 В
  14. А -> 5 В
  15. K -> GND
  16. V0 -> средний вывод потенциометра

Теперь мы можем проверить, работает ли наш ЖК-экран с помощью этого небольшого скрипта.

импортировать 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: начало дела

Начало дела
Начало дела
Начало дела
Начало дела
Начало дела
Начало дела
Начало дела
Начало дела

Я использовал дозатор кукурузных хлопьев в качестве резервуара для собачьего корма.

Я подключил колесо в дозаторе к сервомотору.

Теперь я могу управлять колесом с помощью серводвигателя и сбрасывать еду из резервуара.

В конце резервуара подсоединена трубка из ПВХ, которая аккуратно опускает пищу в кроватку.

Я использую дерево как опалубку

Шаг 9: Собираем все вместе

Собираем вместе
Собираем вместе
Собираем вместе
Собираем вместе
Собираем вместе
Собираем вместе

Шаг 10: Веб-сайт

Веб-сайт
Веб-сайт
Веб-сайт
Веб-сайт
Веб-сайт
Веб-сайт
Веб-сайт
Веб-сайт

Теперь наша машина работает, нам нужно установить веб-сайт на пи. Теперь все готово и выполняется несколько инструкций о том, как работает сайт.

Вы можете подключить свой пи к Wi-Fi, подключив кабель hdmi и активировать таким образом

Первая страница - это домашняя страница, здесь вы можете увидеть:

  • Информация о свете в реальном времени
  • Информация в реальном времени о еде, оставшейся в миске
  • Вы можете бросить еду
  • Информация о собаке

Вторая страница - это страница редактирования, здесь вы можете редактировать:

  • имя вашего питомца
  • возраст вашего питомца
  • вес вашего питомца
  • фото вашего питомца

Третья страница - это страница истории, здесь вы можете увидеть:

  • когда свет загорелся
  • когда собака поела
  • когда еда упала

Четвертая страница - это страница настроек, здесь вы можете редактировать:

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

Рекомендуемые: