Съдържание:

Дозатор за IoT лечение за домашни любимци: 7 стъпки (със снимки)
Дозатор за IoT лечение за домашни любимци: 7 стъпки (със снимки)

Видео: Дозатор за IoT лечение за домашни любимци: 7 стъпки (със снимки)

Видео: Дозатор за IoT лечение за домашни любимци: 7 стъпки (със снимки)
Видео: ПРИЗРАКЪТ в изоставената болница ни каза ЦЯЛАТА ИСТИНА! 2024, Ноември
Anonim
Image
Image
Диспенсер за IoT лечение за домашни любимци
Диспенсер за IoT лечение за домашни любимци

Имам две котки и това, че трябва да им давам лакомства около 3 пъти на ден, стана доста неудобно. Те ме вдигаха с милите си лица и напрегнати погледи, след което бягаха към кутия, пълна с котешки зеленини, мяукаха и молеха за тях. Бях решил, че достатъчно е достатъчно. Няма повече да ставате, само за да дадете на котка няколко лакомства. Сега беше моментът за машина за раздаване на лакомства, защото както се казва: "Програмистите съществуват, за да правят сложни неща, за да правят по -малко прости неща."

DFRobot спонсорира този проект.

Списък с части:

  • DFRobot Raspberry Pi 3
  • Модул за камера DFRobot Raspberry Pi
  • Стъпков двигател DFRobot с планетарна предавка
  • I2C LCD 16x2
  • Барел Жак до терминала
  • Драйвер за стъпков двигател DRV8825
  • Кондензатор 100 µF
  • Arduino UNO и Genuino UNO
  • Джъмперни проводници (родови)

Стъпка 1: Създаване на дизайн

Създаване на дизайн
Създаване на дизайн

Първо беше изборът как да управлявам моята новомислена машина. Bluetooth би имал твърде малък обхват, само на 30 фута без препятствия. С тази информация избрах да използвам WiFi. Но сега, как да използвам WiFi за управление на машината? Raspberry Pi 3 има вградени WiFi възможности, което ми позволява да използвам Flask за хостване на уеб страница. Следваше темата за заграждението и как да се раздават лакомства. Взех решение за дизайн на въртящо се колело, където лакомствата ще попаднат на малки секции, ще се завъртат, а след това лакомствата ще паднат на рампа и ще се придвижат до предната част на машината.

Стъпка 2: Създаване на модела Fusion 360

Изработване на модела Fusion 360
Изработване на модела Fusion 360
Изработване на модела Fusion 360
Изработване на модела Fusion 360
Изработване на модела Fusion 360
Изработване на модела Fusion 360

Започнах със създаването на основен модел за съда за лечение. Лакомствата попадат в мини-бункер, където след това се вкарват във въртящо се колело.

След това добавих Raspberry Pi 3 към дизайна на Fusion, заедно с останалата електроника, включително LCD и Raspberry Pi камерен модул. Направих и бункер, който може да съхранява допълнителни лакомства.

Предполага се, че стените за дозатора за лакомства трябва да бъдат изрязани от шперплат 1/4 инча на фреза с ЦПУ. Има 7 парчета към него, 4 стени, под и парче отгоре и капак, които могат да се отварят и затварят, за да изложат лакомствата.

И накрая, създадох „фантазия“дръжка за отваряне на капака.

Стъпка 3: Настройване на Pi

DFRobot се обърна към мен и изпрати техния модул за камера Raspberry Pi 3 и Raspberry Pi. Така че, след като отворих кутиите, имах право да работя, като настроих SD картата. Първо отидох на страницата за изтегляне на Raspberry Pi и изтеглих най -новата версия на Raspbian. След това извадих файла и го поставих в удобна директория. Не можете просто да копирате/поставите.img файл на SD карта, трябва да го "запишете" на картата. Можете да изтеглите гореща помощна програма като Etcher.io, за да прехвърлите лесно образа на операционната система. След като.img файлът беше на SD картата, го вмъкнах в Raspberry Pi и му дадох сила. След около 50 секунди изключих кабела и извадих SD картата. След това поставих SD картата обратно в компютъра си и отидох в директорията "boot". Отворих Notepad и го запазих като празен файл с име "ssh" без разширение. Имаше и добавен от мен файл, наречен "wpa_supplicant.conf" и поставих този текст в него: network = {ssid = psk =} След това запазих и извадих картата и я поставих обратно в Raspberry Pi 3. Това вече трябва да позволи използването на SSH и свързването към WiFi.

Стъпка 4: Инсталиране на софтуер

Има няколко различни софтуера, които могат да предават поточно видео, като VLC и motion, но реших да използвам mjpeg-streamer поради ниската му латентност и лесна инсталация. Съгласно инструкциите на сайта, направете: git clone https://github.com/jacksonliam/mjpg-streamer.git В папка, след което въведете: sudo apt-get install cmake libjpeg8-dev За да инсталирате необходимите библиотеки. Променете директорията си в папката, която сте изтеглили и след това въведете: make Следвано от: sudo make install За да компилирате софтуера. Накрая въведете: експортирайте LD_LIBRARY_PATH =. И за да го стартирате, въведете:./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so" Можете да получите достъп до потока, като се насочите към: https:// Локалният ip на pi: 8080/stream. html За да видите потока.

Стъпка 5: Настройка на уеб сървър

За да накарам машината да се управлява отвън чрез WiFi, имах нужда от уеб сървър. Уеб сървърът по същество обслужва уеб страници при поискване, обикновено от браузър. Исках нещо бързо и лесно за настройка и използване, като свалям Apache от масата. Исках също да свържа уеб сървъра с Python, за да мога да контролирам Arduino Uno с PySerial. Това търсене в крайна сметка ме доведе до Flask, хубава библиотека на Python, която позволява на потребителите бързо да създадат уеб сървър. Пълният код е приложен към тази страница на проекта. Скриптът на python по същество настройва 2 уеб страници, една, която се хоства в основната директория „/“, и друга, която се хоства на „/dispense“. Индексната страница има HTML формуляр, който при изпращане изпраща заявка за публикуване до страницата за раздаване. След това страницата за раздаване проверява дали стойността на публикацията е правилна и дали това е съобщението „D / n“се изпраща чрез сериен до Arduino Uno.

Стъпка 6: Контролиране на IO

Контролиране на IO
Контролиране на IO
Контролиране на IO
Контролиране на IO
Контролиране на IO
Контролиране на IO
Контролиране на IO
Контролиране на IO

Реших да използвам DRV8825 за задвижване на моя стъпков двигател, главно поради това, че се нуждае само от 2 IO щифта заедно с регулируемо ограничение на тока. Опитах се да използвам L293D, но не издържа натоварването на стъпковия двигател. DRV8825 се управлява чрез пулсиране на STEP щифта чрез PWM, а посоката се контролира чрез издърпване на DIR щифта високо или ниско. Стъпковият двигател, който използвам, има 1,2 ампера, така че настроих VREF напрежението на.6V. Следващата беше LCD. Исках да използвам I2C, за да намаля необходимото количество IO и да опростя кода. За да инсталирате библиотеката, просто потърсете „LiquidCrystal_I2C“и я инсталирайте. И накрая, Arduino Uno проверява за нова информация в серийния буфер и дали съвпада с „D“. Ако това стане, Uno кара стъпковия двигател да се премести на 180 градуса и след това на -72 градуса, за да предотврати подаването на лакомства.

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