Мазмұны:

Үй жануарларына арналған IoT емдік диспенсері: 7 қадам (суреттермен)
Үй жануарларына арналған IoT емдік диспенсері: 7 қадам (суреттермен)

Бейне: Үй жануарларына арналған IoT емдік диспенсері: 7 қадам (суреттермен)

Бейне: Үй жануарларына арналған IoT емдік диспенсері: 7 қадам (суреттермен)
Бейне: [HOTEL]♨️🛀🚿🇹🇼新北市萬里/入住在有私人海灘及溫泉湯屋的渡假村|白宮行館/W Traveler 2024, Желтоқсан
Anonim
Image
Image
IoT Үй жануарларына арналған диспенсер
IoT Үй жануарларына арналған диспенсер

Менің екі мысығым бар, мен оларға күніне 3 рет тәттілер беруге мәжбүр болдым. Олар маған өздерінің сүйкімді жүздерімен және қатты көздерімен қарап, сосын мысық жасылдарына толы қорапқа жүгіріп, мияулап, жалынып сұрайтын. Мен жеткілікті деп шештім. Енді мысыққа бір -екі ләззат беру үшін тұрудың қажеті жоқ. Дәм тарататын машинаның уақыты келді, өйткені: «Бағдарламашылар қарапайым нәрселерді азайту үшін күрделі заттарды жасау үшін бар», - дейді.

DFRobot бұл жобаның демеушісі болды.

Бөлшектер тізімі:

  • DFRobot Raspberry Pi 3
  • DFRobot Raspberry Pi камералық модулі
  • Planet Gear бар DFRobot қадамдық қозғалтқышы
  • I2C СКД 16x2
  • Баррель Джек терминалға
  • DRV8825 қадамдық мотор драйвері
  • Конденсатор 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 дизайнына, басқа электроникамен қоса, СКД мен Raspberry Pi камералық модулін қостым. Мен сонымен қатар қосымша тағамдарды сақтай алатын бункер жасадым.

Диспенсердің қабырғалары CNC маршрутизаторында 1/4 дюймдік фанерден кесілуі керек. Оның ішінде 7 бөлік, 4 қабырға, еден, және тәтті заттарды ашуға және жабуға болатын жоғарғы және қақпақ бөлігі бар.

Ақырында мен қақпақты ашу үшін «сәнді» тұтқаны жасадым.

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

DFRobot маған хабарласып, Raspberry Pi 3 және Raspberry Pi камера модулін жіберді. Мен қораптарды ашқаннан кейін мен SD картасын орнату арқылы жұмысқа кірдім. Алдымен мен Raspberry Pi жүктеулер бетіне кірдім және Raspbian -ның соңғы нұсқасын жүктедім. Содан кейін мен файлды шығарып, оны ыңғайлы каталогқа қойдым. SD картасына.img файлын көшіру/қою мүмкін емес, оны картаға «жазу» керек. ОЖ кескінін оңай тасымалдау үшін Etcher.io сияқты жанып тұрған утилитаны жүктеуге болады. SD картасында.img файлы болғаннан кейін мен оны 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 Қажетті кітапханаларды орнату үшін. Каталогты жүктелген қалтаға өзгертіңіз, содан кейін теріңіз: жасаңыз Іздейді: sudo make install Бағдарламалық жасақтаманы құрастыру үшін. Соңында енгізіңіз: LD_LIBRARY_PATH = экспорттау. Және оны іске қосу үшін:./mjpg_streamer -o «output_http.so -w./www» -i «input_raspicam.so» деп теріңіз: Сіз ағынға мына сілтеме бойынша кіре аласыз: https:// Pi жергілікті ip: 8080/ағын. html Ағынды көру үшін.

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

Құрылғыны WiFi арқылы сырттан басқаруға мүмкіндік алу үшін маған веб -сервер қажет болды. Веб -сервер негізінен браузер сұраған кезде веб -беттерге қызмет көрсетеді. Мен Apache -ді үстелден алып тастап, тез және қарапайым нәрсе орнатуды және қолдануды қалаймын. Мен сондай -ақ Arduino Uno -ны PySerial -мен басқара алу үшін Python -мен веб -сервермен жұмыс жасағым келді. Бұл ізденіс ақыры мені Flask -ке, Python -ның жақсы кітапханасына әкелді, ол пайдаланушыларға тез арада веб -сервер құруға мүмкіндік береді. Толық код осы жоба бетіне бекітілген. Питон сценарийі негізінен 2/веб -бетті орнатады, олардың біреуі '/' түбірлік каталогында орналасқан, ал екіншісі '/диспенседе орналасқан. Индекс бетінде 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 кернеуін.6В дейін реттедім. Келесі кезекте СКД болды. Мен I2C -ті қажетті IO мөлшерін азайту және кодты жеңілдету үшін қолданғым келді. Кітапхананы орнату үшін «LiquidCrystal_I2C» іздеп, оны орнатыңыз. Ақырында, Arduino Uno сериялық буфердегі жаңа ақпаратты тексереді және ол 'D' сәйкес келеді. Егер бұл орын алса, Uno қадамдық қозғалтқышты 180 градусқа, содан кейін -72 градусқа жылжытуға мүмкіндік береді, бұл тағамдарды жіберуге жол бермейді.

Ұсынылған: