Мазмұны:

LaserKitty !!: 7 қадам (суреттермен)
LaserKitty !!: 7 қадам (суреттермен)

Бейне: LaserKitty !!: 7 қадам (суреттермен)

Бейне: LaserKitty !!: 7 қадам (суреттермен)
Бейне: ЧУПАКАБРА ма, әлде ЖЫН ба?#тылсымдүние #td #төреденбірвидео 2024, Қараша
Anonim
Image
Image
Заттарыңызды алыңыз
Заттарыңызды алыңыз

Жалпыға бірдей мойындалған шындық - сәттілікке ие жалғыз мысық лазерлік ойыншыққа мұқтаж болуы керек. Болашақ әйелді қалайтын жалғыз мырзалар сияқты, кейбір сақтық шараларын сақтау қажет. Бірақ бұл шынымен де құнды нәрсеге қатысты емес пе?

Егер сізде үй жануарлары мен лазерлік қауіпсіздік туралы алаңдаушылық болса, түсініктеме бермес бұрын осы нұсқаулықтың соңына өтіңіз. Егер сізде болашақ әйелге, тіпті қазіргі әйелге қатысты алаңдаушылық болса, сізге басқа жақтан іздеу керек шығар.

Енді сіз өзіңіздің үй жануарлары дүкеніне кіріп, лазерлік көрсеткішті сатып ала аласыз, және, мүмкін, рудиментарлы автоматтандыруды қосатын қарама -қайшылық. Сіз біраз ақша үнемдейсіз және егер ол жұмыс істемесе, оны қайтара аласыз. Немесе сіз өзіңіз бірдеңе жасай аласыз. Көптеген мысалдар бар, бірақ мен канонға қосқан үлесім. Оның ерекшеліктері:

  • Смартфонды толық басқару
  • Қолмен, автоматты және жоспарланған режимдер
  • Қолданбалы интерфейс
  • Жүйе күйі бірнеше веб -клиенттер арасында синхрондалады
  • Жүйе күйі LaserKitty арқылы көрсетіледі !! өзі
  • Қондыруға және көлбеу диапазонына конфигурацияланатын шектеулер
  • Конфигурацияланатын ойнату сеансының ұзақтығы мен жиілігі
  • Конфигурацияланатын ойын терезелері
  • Бір қарағандағы ағымдағы параметрлері бар орнату беті
  • NTP уақытын синхрондау
  • Жаңа желілерде оңай орнатуға арналған WiFi менеджері
  • Әр ойнату сессиясының алдында «Мүмкін емес миссия» тақырыбын ойнауға арналған дыбыс генераторы: мысық иронияны бағалайды немесе бағаламайды.
  • Жаңа ойнату сеансы басталған кезде барлық құрылғыларға Pushbullet хабарландырулары
  • Конфигурацияланатын үй позициясы, сондықтан ойын уақыты тамақ тостағанында немесе стационарлық ойыншықта аяқталады
  • Барлық параметрлер EEPROM -де сақталады, сондықтан электр қуатын өшіру кезінде жоғалмайды
  • Және тағы басқалар! Шынында да, бұл туралы емес.

1 -қадам: заттарыңызды алыңыз

Міне мен қолдандым:

  • Шағын табақ пен көлбеу жинау. Бұл, әрине, сіз таба алатын ең арзан нәрсе емес және ол біздің мақсатымыз үшін кейбір өзгерістерді қажет етеді. Мен оны таңдадым, себебі ол жертөледегі пластикалық қондырғыларға қарағанда сәл салқын. Күтпеген бонус ретінде оның дизайны лазерді орнатудың өте оңай жолын береді. Ол бірнеше микросервілермен бірге келеді, бірақ мен сізге ауыстыру үшін бірнеше қосымша сатып алуды ұсынамын. Сізге кем дегенде бір қосымша серво қажет болады (сынған жақсы).
  • Қоршау. Пластикалық қорап үшін 8 доллар төлеу мені ауыртады, және сіз арзанға қолайлы нәрсені таба аласыз. Байланыстырылған қоршаудың өлшемі туралы бір нәрсе дұрыс.
  • ESP8266 негізделген даму тақтасы. Мен NodeMCU қолдандым. Мен бұл заттарды жақсы көремін деп айту артық болмайды. Arduino IDE -де қолдануға оңай және веб -беттер үшін көптеген флэш -жад. Сонымен қатар арзан және менің тәжірибем бойынша қуыру өте қиын.
  • Шағын лазер. Amazon Prime -ды қосқанда 6 долларға он. Сіз қалжындап тұрсыз ба?? Енді мен қалған тоғызбен не істеу керектігін білуім керек.
  • Тондар үшін пассивті дыбыстық сигнал.
  • Екі арналы реле. Мен оларды серво мен лазерді қосу және өшіру үшін қолданамын. Сіз бұл компонентті жоюыңыз мүмкін, мен кейінірек түсіндіремін.
  • 5VDC қуат көзі. Сізде олардың біреуі ұзақ уақыт бойы ұмытып кеткен гизмодан тұрады деп үміттенеміз, бірақ егер сізге 5 ВДС шамасында 1А шамасында шығара алатын арзан және көңілді нәрсе қажет болса.
  • Резисторлар, светодиодтар, қосқыш сым, жылуды азайту, дәнекерлеу, ыстық желім сияқты әр түрлі шығын материалдары. Кәдімгі. Мен сонымен қатар 5VDC кіріс көзі үшін ұңғысыз үлкен жиналған Arduino тақталар жинағынан баррель ұясын қолдандым.
  • Соңғысы, бірақ, әрине, таңғажайып әрлеу үшін винил жапсырма.

Иә. Сіз шамамен 50 долларға қарайсыз. Сіз мұны аз ақшаға жасай аласыз, бірақ сіздің котят жақсыға лайық емес пе?

2 -қадам: құралдар мен ресурстар

Құралдар мен ресурстар
Құралдар мен ресурстар

Бұл жерде арнайы құралдар жоқ. Тек лайықты дәнекерлеу үтігі, мультиметр, бұрғы және қарапайым қол құралдары. Орындық қуат көзі лазермен тәжірибе жасау үшін жақсы, бірақ маңызды емес.

Бұл жоба шынымен ESP8266 мүмкіндіктерін пайдаланады, атап айтқанда NodeMCU. Егер сіз ESP8266-мен енді ғана жұмыс жасай бастасаңыз, мен бұл нәрседен жақсы ресурс таппадым. Бұдан басқа, бұл жол бойында туындаған мәселелерге жауап іздеу үшін Google -дің жұмысы.

3 -қадам: қоршауды дайындаңыз

Қаптаманы дайындаңыз
Қаптаманы дайындаңыз
Қаптаманы дайындаңыз
Қаптаманы дайындаңыз

Жоғарыда айтқанымдай, пластикалық корпус үшін 8 доллар төлеу өте қорқынышты болып көрінеді. Одан да сорақысы - дұрыс емес жерге тесік қою арқылы істі бұзу. Бұрғымен және/немесе кез келген басқа да шайқас жасаушымен қорапта отырмас бұрын, мен жіберген қателіктерді ескеріңіз.

  • Алдымен сіз барлық заттардың қай жерге сәйкес келетінін ойлауыңыз керек. Жақсы жаңалық - мен ұсынатын корпуста көп орын бар. Сіз тіпті кішігірім қораптан құтыла аласыз, әсіресе релені алып тастасаңыз.
  • Ең бастысы - табаны қайда және еңкейту қондырғысын қақпаққа орнату керек. Менің бірінші талпынысым осында көрсетілген. Мен оны көркемдік тұрғыдан орталықтан және тұрақтылық үшін сәл артқа қарай қоямын деп ойладым. Нашар ой! Сізге құрастыру қақпақтың бүйіріне мүмкіндігінше жақын болуы керек, сондықтан қоршаудың өзі көлбеу бұрышқа сәулеге кедергі жасамайды. Сонымен қатар, менің ойымша, табаны лазердің ұзын жағына емес, қысқа жағына перпендикуляр етіп орнату керек. Мен бұл әрекетті таза эстетикалық себептермен жасадым, бірақ араласу ықтималдығы шамалы.
  • Көріп отырғаныңыздай, NodeMCU Perfboard -қа орнатылған және оны микро USB қосқышына бүйірлік немесе артқы ұяшықтан кіруге болатын етіп оңай орналастыруға болады. Бұл бағдарламалық жасақтаманы жаңартуды жеңілдетеді (қақпақты алудың қажеті жоқ). Менің бастапқы идеям жаңартулар үшін Over-The-Air (OTA) кітапханасын пайдалану болды, және сіз менің кодымда бұл функция бар екенін көресіз, бірақ ол түсіндірілмеген. Мәселе мынада, дыбыс генераторы мен OTA бір -бірімен жақсы ойнай алмады (NodeMCU әннің жартысында бірнеше рет қалпына келтірілді). Бұл мәселені шешуге болады, бірақ мен USB арқылы басқа SPIFFS жаңартуда ешқашан табысқа жете алмадым, сондықтан USB қосқышына кіру жақсы болар еді. Мен мұның бәрін білген кезде, мен NodeMCU -ны Perfboard тақтасына орнаттым, сондықтан коннекторды қораптан шығарып алу мүмкін болмады. О, жақсы.
  • Егер мен жобаны қайтадан жасайтын болсам, RGB светодиоды «қосулы» қызыл жарық диодына теңестірер едім. (RGB светодиодының мақсаты - LaserKitty !! қандай режимде екенін қолданбаны қарамай көрсету.)

Шұңқырды жасаудың аз ғана қиын бөлігі - бұл табаның сервосына арналған тікбұрышты. Мен бұрғы мен файлды қолдандым. Менің бірінші әрекеттен көріп тұрғаныңыздай, оны төртбұрышты етіп жасау қиын (немесе тікбұрышты). Бірақ серво орнатылған кезде, сіз оны көре алмайсыз.

Сізге тағы үш тесік жасау керек, олар қораптың артқы жағында орналасуы керек және қуат көзінің ұясына, дыбыстық сигналға және көлбеу серво мен лазерлік сымға кіру нүктесіне арналған. Бұл тесіктердің барлығы дөңгелек болуы мүмкін және оларды бұрғылау арқылы жасау қиын емес.

Ыстық желімді либералды қолдану бәрін өз орнында сақтайды (серво орнатылатын ілгектер көмегімен қақпаққа бекітілген табадан жасалған серво қоспағанда).

4 -қадам: панорамалық және еңкейту жиынтығы

Панорамалық және көлбеу құрастыру
Панорамалық және көлбеу құрастыру
Панорамалық және көлбеу құрастыру
Панорамалық және көлбеу құрастыру
Панорамалық және көлбеу құрастыру
Панорамалық және көлбеу құрастыру
Панорамалық және көлбеу құрастыру
Панорамалық және көлбеу құрастыру

Мен кастрюль мен көлбеу жинақты алған кезде, мен тағы бір үлкен қателік жасадым деп ойладым. Нұсқау бойынша біріктіріңіз, бұл шынымен де айналдыру және қисайту механизмі емес, керісінше көлбеу және бұралу конструкциясы - робот қолы ретінде қолдануға арналған. Алайда, бір сәтке ойлану маған қажетті нәтижеге жету үшін оны басқаша жинауға болатынын көруге мүмкіндік берді. Одан да жақсы, «бұралмалы» серводың бастапқы орналасуы лазерге қондырғы ретінде қолданылуы мүмкін.

Егер сіз осы суреттерде аяқталған құрастыруды зерттесеңіз, сіз идеяны аласыз. Сізге бұл дизайнда қажет емес шағын металл блок қалады.

Лазерді орнату үшін екінші серваның бастапқы орнын пайдалану керек болды. Одан да жақсы, егер сіз серваның басын алып тастасаңыз және білікті тіректі бұрғылайтын болсаңыз, бұл лазерді орнатудың тамаша орны! Сервоны бір -бірінен ажырату үшін қажет күш -жігерді бағаламаңыз. Кішкентай жарқылдаушыларға ет бар!

Корпуста құрастырып, орнатқаннан кейін және ҚУАТТЫ ҚОЛДАНБАСТАН бұрын, оның корпустың бетінде 180 градусқа дейін айналатынына көз жеткізіңіз. Қалай болғанда да, мен оны сәтті орнатқаннан кейін, табаны бекіткішті орнына қойдым, ол негізге бекітілген болт бастары қолды орнатуға арналған серваның көтерілген бөлігіне бекітілген. Нәтижесінде серво бірден берілісті алып тастады. Жақсы жағында менде лазерлік қондырғы ретінде қолдануға болатын тағы бір дуф серво бар.

5 -қадам: оны қосыңыз

Сымды қосыңыз
Сымды қосыңыз

Фритзинг эскизі бәрін анық көрсетеді деп үміттенемін. Қосымша нақтылау үшін кейбір тармақтар:

  • Кейінірек талқыланғандай, мен лазерді мүмкіндігінше күңгірт етіп жасағым келді, сонымен қатар оны жарықтығы бар жарықтан басқа барлық жерде қолдануға болатындай етіп сақтадым. Біршама тәжірибе жасай отырып, мен оны MCU түйінінің 3.3VDC түйреуішінен қуаттандыруға шешім қабылдадым, жақсы өлшеу үшін тізбектей 22 Ом резисторды қостым. Бұл қондырғының көмегімен ол 10 мА шамасында болады, сондықтан теориялық түрде оны GPIO түйреуішінен тікелей алуға болады, бірақ мен резисторсыз да тым күңгірт екенін білдім.
  • Лазердің фокусты өзгерту мүмкіндігі өте шектеулі (коллимация?), Мен нүктені үлкейтуге және лазерлік энергияны таратуға қолдандым.
  • Менің бірінші ойым - сервистерді транзистормен қосу және өшіру, бірақ бұл сервалардың есінен танып қалуына себеп болды. Мен мұның жақсы себебі бар екеніне сенімдімін, бірақ менде бірнеше реле болғандықтан, мен шығудың оңай жолын таңдадым және электр қуатын толығымен бөліп алдым. Реленің екі арнасы болғандықтан, лазерді де осылай ауыстыруға болады деп ойладым (күлгін сымдар MCU -ның басқару сигналы). Маған бұл шешім шығаратын механикалық шуыл ұнайды. Сіз басқаша шешім қабылдай аласыз. Көрсетілмеген, бірақ реле тікелей 5VDC қоректенуімен қамтамасыз етілген - NodeMCU тек екі арналы релені тікелей қуаттай алуы мүмкін, бірақ оған қауіп төндіруге негіз жоқ еді. Егер сіз бұл релелерді бұрын қолданған болсаңыз, бұл үшін JD-VCC мен VCC арасындағы секіргішті алып тастау қажет.
  • RGB светодиодында қызыл және жасыл түстерде 220 Ом және көгілдірде 100 Ом ток шектейтін резисторлар бар. Қызыл «қосу» светодиодында 450 Ом резисторы бар, себебі ол 3.3VDC емес, 5VDC қуатымен жұмыс істейді. Бұл жарықтық пен ақылға қонымды ұзақ өмір сүру үшін балдық парк мәндері.
  • Дыбыстық сигнал өте қатты. Дыбыс деңгейін төмендету үшін сигналдық желіге резистор қосқыңыз келуі мүмкін. Дыбыстарды бағдарламалық қамтамасыз ету арқылы толығымен өшіруге болады, бірақ олардың арасындағы нәрсе жақсы болуы мүмкін.

6 -қадам: Кодекс

Кодекс
Кодекс
Кодекс
Кодекс
Кодекс
Кодекс
Кодекс
Кодекс

Аппараттық жақтың ұзақ түсіндірілуіне қарамастан, мұнда 90% күш-жігер кодқа жұмсалды. Бұл болар еді, бірақ мен осы жерден лазердің автоматты режимде қозғалысы туралы керемет кодты «қарызға алдым». Дөңгелекті қайта ойлап табудың мағынасы жоқ. Шындығында, сіз бұл жобаны емес, осы жобаны ұстануды немесе екеуінің аспектілерін араластырып, сәйкестендіруді шеше аласыз. Әрине, кейбір компоненттерді 3D принтермен жасау идеясы ұнайды, бірақ менде жоқ.

Менің кодым (GitHub -да осында табылған) үш негізгі бөліктен тұрады. Arduino эскизінің өзі, қосымшаның мазмұны үшін Javascript жиынтығы бар HTML файлдары және сәндеуге арналған байланысты CSS файлдары бар. Мен бұл жобаны бағдарламаның барлық элементтері туралы көбірек білу үшін қолдандым, өте төмен базадан, әсіресе қолданбалы интерфейс жағынан. Мен кодты аздап реттеуге тырыстым, бірақ менің басты назарым тек нәрсені жұмыс істеуге аудару болды. NodeMCU сервері мен қосылған клиенттер арасында екі жақты байланыс үшін код Websockets пайдаланады.

Arduino коды кеңінен түсіндірілген, сондықтан сіз оны ұстанасыз деп үміттенеміз. Сіз оны GitHub -дан жүктегеннен кейін, барлық жерді қалтаға салыңыз, эскизді MCU -ге жүктеңіз, содан кейін «деректер» ішкі қалтасының мазмұнын SPIFFS -ке жүктеңіз.

Шындығында, оны сызыңыз. Егер сіз Pushbullet хабарландыру мүмкіндігін қолданғыңыз келсе, сізге алдымен осы жерден қол жетімді API кіру белгісі қажет. Ол Arduino кодының 88 -жолында өтеді. Pushbullet жақсы жұмыс істейді, бірақ егер сіз телефонда есептік жазбаны бірінші рет орнатып жатсаңыз, сіз кіруіңіз керек, жүйеден шығыңыз, содан кейін телефон параметрлерінде конфигурацияланған хабарламалар пайда болмай тұрып қайта кіріңіз.

Үш веб-бет бар-экранда экран, нақты қолданба интерфейсі және орнату беті. Мазмұнды осылайша бөлу интерфейсті қолданбаға ұқсас етеді, әсіресе кең конфигурация опцияларының арқасында (скриншот осы опциялардың бір бөлігін ғана алады).

NodeMCU -ді бірнеше беттерге қызмет етудің бір ерекшелігі - барлық кескін файлдарын деректер қалтасына тікелей қоюға тура келді, егер олар ішкі қалталарға орналастырылса, оны іске қосу мүмкін болмады. Мен қолданған барлық суреттерді GitHub репозиторийіне енгіздім, сондықтан ол қораптан тыс жұмыс істейді, бірақ сіз оларды өз суреттеріңізбен алмастырғыңыз келетіні сөзсіз.

7 -қадам: өңдеуді аяқтау және лазерлік қауіпсіздік

Аяқталатын жанасулар мен лазерлік қауіпсіздік
Аяқталатын жанасулар мен лазерлік қауіпсіздік
Аяқталатын жанасулар мен лазерлік қауіпсіздік
Аяқталатын жанасулар мен лазерлік қауіпсіздік
Аяқталатын жанасулар мен лазерлік қауіпсіздік
Аяқталатын жанасулар мен лазерлік қауіпсіздік

8 доллар тұратынына қарамастан, қоршау утилитарлы. Etsy -ді біршама айналдырғаннан кейін мен дайын өнімнің винил графикасын таптым (және ол қосымшаның бетінде көрсетілген). Ұлыбританиядан жөнелтілгені біршама қымбат болды, бірақ оған тұрарлық - және сіз жобаны қайталағыңыз келсе, екеуін аласыз. Менің соңғы көркемдік өркендеуімше, мен мысықтың көзіндегі кішкентай «шұңқырларды» айналдырдым, олар лазерлік нүктені көрсететін қызыл жарық диодты қарап тұр. Сіздің қыңырлыққа деген тәбетіңізге байланысты, сіз бұл қосымша мильге баруды таңдай аласыз немесе қабылдамайсыз.

HTML экраны экрандағы экранға айфонның негізгі экранына белгіше қосатын кодты қосады.

Ақырында, мен мысықтармен ойнау үшін лазерді қолдану туралы айтылған алаңдаушылықты елемеуге болмайды. Екі негізгі қарсылық бар:

  • Лазер мысықтың көзін соқыр етуі немесе зақымдауы мүмкін
  • Лазерлік нүктемен ойнау, сайып келгенде, мысықтарды қанағаттандырмайды, өйткені олар оны ешқашан ұстай алмайды немесе «өлтіре алмайды»

Екі тақырыпта да толқулар көп, кейбіреулері ақпараттандырылған сияқты, кейбіреулері аз. Сайып келгенде, сіз бұл жобаның немесе басқа лазерлік ойыншықтың мысыққа сәйкес келетіндігі туралы өзіңіз шешім қабылдауыңыз керек. Мен лазерді жарық деңгейінде көруді қиындатпай мүмкіндігінше күңгірт етіп бірінші мәселені шешуге тырыстым. Сондай -ақ, құрылғыны пайдаланатын кез келген мысықтың нүктеге емес, лазердің өзіне қарауға бейімділігі жоқ екеніне көз жеткізіңіз - әсіресе LaserKitty қолданғыңыз келсе !! Автоматты немесе Жоспарланған режимдерде. Pushbullet хабарландыру мүмкіндігінің бір мақсаты - оны бақылау камерасымен бірге қолдану, сондықтан сіз котяттың ойынын сыртта жүргенде қарауды еске саласыз.

Екінші қарсылыққа мен жоспарланған ойнату сеанстарынан кейін лазер оралатын «Үй жағдайын» сақтау мүмкіндігін енгіздім. Егер сіз мұны стационарлық ойыншыққа немесе котятқа арналған ыдысқа көрсететін болсаңыз, ол біраз шешім береді деп үміттенемін. Мысықтармен бірге кім біледі?

Ұсынылған: