Мазмуну:

Үй жаныбарлары үчүн IoT мамиле диспенсери: 7 кадам (сүрөттөр менен)
Үй жаныбарлары үчүн IoT мамиле диспенсери: 7 кадам (сүрөттөр менен)

Video: Үй жаныбарлары үчүн IoT мамиле диспенсери: 7 кадам (сүрөттөр менен)

Video: Үй жаныбарлары үчүн IoT мамиле диспенсери: 7 кадам (сүрөттөр менен)
Video: Собачий рынок Одесса. КОТЫ/ СОБАКИ. Пошли на БАРАХОЛКУ а купили ПОПУГАЯ. 2024, Ноябрь
Anonim
Image
Image
Үй жаныбарлары үчүн IoT мамиле диспенсери
Үй жаныбарлары үчүн IoT мамиле диспенсери

Менин эки мышыгым бар, аларга күнүнө 3 маал таттуу тамак берүү абдан ыңгайсыз болуп калды. Алар мени татынакай жүздөрү жана катуу көздөрү менен карап, анан мышык жашылчаларына толгон кутуга чуркап, мияулап, жалынып -жалбарышат. Мен жетиштүү деп чечтим. Мындан ары мышыкка бир -эки сый тамак берүү үчүн туруу керек эмес. Азыр таттуу таркатуучу машинанын убактысы келди, анткени: "Программисттер жөнөкөй иштерди азыраак кылуу үчүн татаал нерселерди жасашат", - деп айткандай.

Бул долбоорго DFRobot демөөрчүлүк кылган.

Бөлүктөрдүн тизмеси:

  • DFRobot Raspberry Pi 3
  • DFRobot Raspberry Pi Камера модулу
  • Planet Gear менен DFRobot Stepper мотору
  • I2C ЖК 16x2
  • Терминалга баррель Джек
  • DRV8825 Stepper Motor Driver
  • Конденсатор 100 мкФ
  • 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 камера модулу. Мен дагы кошумча тамактарды сактай турган бункер жасадым.

Диспенсердин дубалдары CNC роутериндеги 1/4 дюйм фанерадан кесилиши керек. Ага 7 даана, 4 дубал, пол, жана үстүнкү жана капкак бөлүктөрү ачылып, жабыла алат, алар даамдарды ачыкка чыгарат.

Акырында, мен капкакты ачуу үчүн "кооз" туткасын жасадым.

3 -кадам: Pi орнотуу

DFRobot мага кайрылып, Raspberry Pi 3 жана Raspberry Pi Камера Модулун жөнөттү. Ошентип, мен кутучаларды ачкандан кийин SD картаны орнотуу менен иштөөгө туура келди. Алгач мен Raspberry Pi Downloads барагына кирип, Raspbianдин эң акыркы версиясын жүктөдүм. Андан кийин мен файлды чыгарып, ыңгайлуу каталогго койдум. Сиз SD картка.img файлын көчүрүп/чаптай албайсыз, аны картка "өрттөшүңүз" керек. OS сүрөтүн оңой өткөрүп берүү үчүн Etcher.io сыяктуу күйүп турган утилитаны жүктөп алсаңыз болот.. Img файлы менин SD картада болгондон кийин мен аны Raspberry Piге салып, күч бердим. Болжол менен 50 секунддан кийин мен зымды сууруп, SD картаны алып салдым. Андан кийин мен SD картаны кайра компьютериме салып, "жүктөө" каталогуна бардым. Мен блокнотту ачтым жана аны "ssh" аттуу бош файл катары NO кеңейтүүсү менен сактадым. Мен кошкон "wpa_supplicant.conf" деп аталган файл бар болчу жана ага бул текстти киргиздим: network = {ssid = psk =} Андан кийин мен картаны сактап, чыгардым жана Raspberry Pi 3ке кайра койдум. Бул азыр уруксат бериши керек SSHди колдонуу жана WiFiга туташуу.

4 -кадам: Программаны орнотуу

Видеону агылтуучу VLC жана кыймыл сыяктуу бир нече башка программалар бар, бирок мен mjpeg-стримерди анын кечигүүсү жана оңой орнотулушунан улам колдонууну чечтим. Сайттагы нускамаларга ылайык, бир: git clone https://github.com/jacksonliam/mjpg-streamer.git Папкага, анан териңиз: sudo apt-get install cmake libjpeg8-dev Керектүү китепканаларды орнотуу үчүн. Каталогду жүктөп алган папкага өзгөртүп, анан териңиз: make Followed by: sudo make install Программаны түзүү үчүн. Акырында киргизиңиз: export LD_LIBRARY_PATH =. Жана аны иштетүү үчүн:./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so" деп жазыңыз. html Агымды көрүү үчүн.

5 -кадам: Веб -серверди орнотуу

Машинаны WiFi аркылуу сырттан көзөмөлдөө үчүн мага веб -сервер керек болчу. Веб -сервер негизинен браузер сураганда веб -баракчаларды тейлейт. Мен Apacheди столдон алып, тез жана жөнөкөй нерсени орнотууну жана колдонууну кааладым. Мен дагы PySerial менен Arduino Uno башкара алам деп веб -серверди Python менен интерфейске киргизгим келди. Бул тапшырма акыры мени Flaskке алып келди, бул Pythonдун жакшы китепканасы, колдонуучулар тез веб -серверди түзүшсүн. Толук код бул долбоордун баракчасына тиркелген. Python скрипти негизинен 2 веб -баракчаны орнотот, бирин тамыры каталогунда жайгашкан, '/', экинчиси '/dispensse'. Индекс баракчасында 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 градуска жылдырып, таттуу нерселердин коюлушуна жол бербейт.

Сунушталууда: