Мазмуну:

LaserKitty !!: 7 кадам (Сүрөттөр менен)
LaserKitty !!: 7 кадам (Сүрөттөр менен)

Video: LaserKitty !!: 7 кадам (Сүрөттөр менен)

Video: LaserKitty !!: 7 кадам (Сүрөттөр менен)
Video: Laserkitty 2024, Октябрь
Anonim
Image
Image
Материалдарыңызды алыңыз
Материалдарыңызды алыңыз

Жакшы нерсеге ээ болгон жалгыз мышык лазер оюнчугуна муктаж болушу керектиги жалпыга белгилүү болгон чындык. Болочок аялына зар болуп жүргөн бойдок мырзалар сыяктуу эле, кээ бир сактык чараларын сактоо керек. Бирок бул чынында ээ болууга татыктуу нерселердин бардыгына туура келбейби?

Эгерде сизде үй жаныбарлары жана лазердин коопсуздугу жөнүндө тынчсызданууңуз болсо, комментарий берүүдөн мурун ушул Нускаманын аягына өтүңүз. Эгерде сизде болочоктогу аялыңыз, же азыркы аялыңыз тууралуу тынчсызданууңуз болсо, балким башка жактан издеш керек.

Эми, сиз жергиликтүү жаныбарлар дүкөнүнө түшүп, лазердик көрсөткүчтү сатып алсаңыз болот, ал тургай, жөнөкөй автоматиканы кошкон кээ бир келишпестиктерди. Сиз акчаңызды үнөмдөп, эгер ал иштебесе кайтарып бере аласыз. Же өзүңүз бир нерсе курсаңыз болот. Буга чейин көптөгөн мисалдар бар, бирок бул жерде канонго кошкон салымым. Бул өзгөчөлүктөрү:

  • Смартфонду толук көзөмөлдөө
  • Кол, Авто жана Пландаштырылган режимдер
  • Ыңгайлаштырылган колдонмо интерфейси
  • Тутумдун абалы бир нече веб -кардарлардын ортосунда шайкештирилет
  • Системанын абалы LaserKittyде чагылдырылган !! өзү
  • Конфигурацияланган пан жана эңкейиш диапазону чектөөлөрү
  • Конфигурацияланган ойноо убактысынын сеанстарынын узундугу жана жыштыктары
  • Конфигурацияланган ойноо терезелери
  • Бир беткей учурдагы жөндөөлөр менен орнотуу баракчасы
  • NTP убакыт синхрондоштуруу
  • Жаңы тармактарда оңой орнотуу үчүн WiFi менеджери
  • Ар бир ойноо сессиясынын алдында Mission Impossible темасын ойноо үчүн үн генератору: мышыгыңыз иронияны баалашы мүмкүн же баалабашы мүмкүн.
  • Жаңы ойнотуу сеансы башталганда бардык түзмөктөрүңүзгө Pushbullet эскертмелери
  • Конфигурациялануучу үй позициясы, андыктан оюн убактысы тамак идишинде же стационардык оюнчукта бүтөт
  • EEPROMдо сакталган бардык орнотуулар электр энергиясын өчүрүүдө жоголбойт
  • Жана дагы көп нерселер! Ооба, чынында эмес, кеп ушунда.

1 -кадам: буюмдарыңызды алыңыз

Бул мен колдонгон нерсе:

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

Ошентип, ооба. Сиз болжол менен $ 50 карап жатасыз. Сиз муну азыраак кыла аласыз, бирок сиздин мышыгыңыз эң жакшысына татыктуу эмеспи?

2 -кадам: Куралдар жана ресурстар

Куралдар жана ресурстар
Куралдар жана ресурстар

Бул жерде куралдар жагында өзгөчө эч нерсе жок. Жөн гана татыктуу ширетүүчү үтүк, мультиметр, дрель жана негизги кол куралдары. Скамейканын электр менен камсыздалышы лазер менен тажрыйба жүргүзүү үчүн жагымдуу, бирок анча маанилүү эмес.

Бул долбоор чынында ESP8266 жана өзгөчө NodeMCU мүмкүнчүлүктөрүн колдонот. Эгерде сиз ESP8266 менен жаңыдан иштей баштасаңыз, мен бул нерсеге караганда бирдиктүү ресурсту тапкан жокмун. Андан башка, бул жолдо келип чыккан көйгөйлөргө жооп табуу үчүн баардыгы Googling жөнүндө.

3 -кадам: Корпусту даярдоо

Корпусун даярдаңыз
Корпусун даярдаңыз
Корпусун даярдаңыз
Корпусун даярдаңыз

Мен буга чейин айткандай, пластикалык корпус үчүн 8 доллар төлөө чектен чыккан көрүнөт. Андан да жаманы, туура эмес жерге тешик коюу менен ишти бузуп жатат. Ошентип, кутуңузда бургулоо жана/же башка баш аламандык жасоочу бар болгонго чейин, мен кетирген каталарды эске алыңыз.

  • Биринчиден, сиз бардык нерселер кайда туура келерин ойлонушуңуз керек. Жакшы жаңылык - бул мен сунуштаган корпуста көп орун бар, ал тургай, бул жердеги тыкан зымдар менен да. Сиз кичинекей куту менен кутула аласыз, айрыкча релелерди жок кылсаңыз.
  • Эң негизгиси, көмөч казанды кайда орнотуп, капкакты эңкейтип коюңуз. Менин биринчи аракетим ушул жерде көрсөтүлгөн. Мен аны көркөмдүк менен борбордон жана стабилдүүлүк үчүн бир аз артка таштайм деп ойлогом. Жаман идея! Сизге жабдыктын капталына мүмкүн болушунча жакыныраак жабуу керек, ошондуктан корпус өзү эңкейиш бурчтардагы устунга тоскоолдук кылбайт. Ошондой эле, менин оюмча, панелдин лазерин узак жагына эмес, кыска жагына перпендикуляр орнотуу болмок. Мен кийлигишүү үчүн бир аз көбүрөөк потенциал бар болсо да, аны эстетикалык себептерден улам башкача кылдым.
  • Көрүнүп тургандай, NodeMCU Perfboardго орнотулган жана анын микро USB туташтыргычы капталдагы же артындагы оюктан жеткиликтүү болушу үчүн оңой эле жайгашышы мүмкүн. Бул программалык камсыздоону жаңыртууну жеңилдетет (капкакты чечүүнүн кажети жок). Менин баштапкы идеям жаңыртуулар үчүн Over-The-Air (OTA) китепканасын колдонуу болчу жана менин кодумда бул функция камтылганын көрөсүз, бирок ал комментарийленген. Көйгөй обон генератору менен OTA жакшы ойнобой тургандыгында болду (NodeMCU ырдын жарымын кайра -кайра баштапкы абалга келтирет). Бул маселени чечүү мүмкүн, бирок мен эч качан USB аркылуу SPIFFSти жаңыртууда ийгиликтүү болгон эмесмин, андыктан USB туташтыргычына кирүү жакшы болмок. Мунун баарын түшүнгөндө, мен NodeMCUду Perfboardго орнотуп койгом, ошондуктан туташтыргычты кутудан алып салуу мүмкүн эмес болчу, ошондуктан көп фафингсиз мүмкүн эмес болчу. О жакшы.
  • Эгерде мен дагы бир жолу долбоорду жасай турган болсом, RGB LEDди кызыл "күйгүзүү" LEDине тууралайт элем. (RGB LEDдин максаты - LaserKitty !! кандай режимде экенин колдонмого карабай көрсөтүү.)

Чындыгында тешиктерди жасоонун бир аз татаал бөлүгү - бул панво сервосу үчүн тик бурчтуу. Мен бургулоону жана файлды колдондум. Биринчи аракетимден көрүнүп тургандай, аны так чарчы кылуу кыйын (же тик бурчтуу, менимче). Бирок servo орнотулганда, сиз муну көрө албайсыз.

Сиз дагы үч тешик жасашыңыз керек, булар кутунун арткы жагына жайгаштырылышы керек жана электр менен камсыздоочу уячага, ызылдатууга жана эңкейүү серво жана лазер зымдары үчүн кирүү чекитине колдонулат. Бул тешиктердин баары тегерек болушу мүмкүн жана бир эле бургулоо менен жасоодо эч кандай кыйынчылык жок.

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

4 -кадам: Пан жана Тент Ассамблеясы

Pan and Tilt Ассамблеясы
Pan and Tilt Ассамблеясы
Pan and Tilt Ассамблеясы
Pan and Tilt Ассамблеясы
Pan and Tilt Ассамблеясы
Pan and Tilt Ассамблеясы
Pan and Tilt Ассамблеясы
Pan and Tilt Ассамблеясы

Мен көмөч казанды алганда, мен дагы бир чоң ката кетирдим деп ойлодум. Көрсөтүлгөндөй чогулткула, бул чынында эле көмүскө жана кыйшайтуу механизми эмес, тескерисинче, эңкейүү жана бурмалоо дизайны - робот колу катары колдонууга ылайыктуу. Бирок, бир аз ойлонуу мага чындыгында каалаган натыйжага жетүү үчүн башка жол менен чогултулганын көрүүгө мүмкүнчүлүк берди. Дагы жакшы, "бурулуш" сервонун баштапкы орду лазерге орнотуу үчүн колдонулушу мүмкүн.

Эгерде сиз бул сүрөттөрдөгү бүткөн монтажды карап көрсөңүз, анда сиз идеяны аласыз. Сизде бул долбоордо кереги жок кичинекей темир блок калат.

Илхамтын жарыгы лазерди орнотуу үчүн экинчи сервонун баштапкы ордун колдонуу болчу. Андан да жакшы, эгерде сиз серванын башын кесип, колго орнотулган тешикти бургуласаңыз, бул лазерди орнотуунун эң сонун жери! Сервону бөлүү үчүн зарыл болгон аракетти баалабаңыз. Ошол кичинекей жалтырактарга эт бар!

Корпуска чогултуп жана орноткондон кийин, ЖАНА КҮЧТҮ КОЛДОНУУНУН АЛДЫНДА, ал корпустун тушунда дээрлик 180 градуска жылып турганын текшериңиз. Кандайдыр бир жол менен, мен аны ийгиликтүү орноткондон кийин, көмөчтү кайра бириктирип алдым, ошондо базанын болт баштары колго орнотулуучу сервонун көтөрүлгөн битине байланган. Натыйжада servo дароо редукторун чечип салды. Эң жакшы жагы, менде азыр лазер тоосу катары колдонула турган дагы бир Duff Servo бар.

5 -кадам: Wire It Up

Wire It Up
Wire It Up

Fritzing эскизи нерселерди ачык кылат деп үмүттөнөбүз. Дагы тактоо үчүн кээ бир пункттар:

  • Кийинчерээк талкуулангандай, мен лазерди мүмкүн болушунча күңүрт кылгым келди, ал эми жаркыраган ички жарыктан башкасында колдонууга жарактуу болуш үчүн. Бир аз эксперимент жүргүзүп, мен аны 3.3VDC түйүн MCU түйүнүнөн кубаттап, жакшы өлчөө үчүн 22 Ом резисторун кошуп койдум. Бул орнотуу менен ал 10 мАга жакын тартат, ошондуктан теориялык жактан ал GPIO пинден түз иштей алат, бирок мен каршылыгы жок болсо да өтө эле күңүрт экенин байкадым.
  • Лазердин чекитти чоңойтуп, ошону менен лазер энергиясын таркатуу үчүн колдонгон фокусун (коллимациясын) өзгөртүү мүмкүнчүлүгү өтө чектелүү.
  • Менин биринчи ойум сервисти транзистор менен күйгүзүү жана өчүрүү болчу, бирок бул серволордун жинди болуп калышына себеп болгон. Мен мунун жакшы себеби бар экенине ишенем, бирок менде реле болгонуна байланыштуу, мен жеңил жолду тандап алдым жана электр энергиясын толугу менен изоляцияладым. Реленин эки каналы бар болгондуктан, лазерди да ошентип алмаштырам деп ойлогом (кызгылт көк зымдар MCUдан келген сигнал). Мага бул чечим чыгарган механикалык чыкылдатуу жагат. Сиз башкача чечим чыгарсаңыз болот. Көрсөтүлгөн эмес, бирок релейлер 5VDC түздөн -түз иштейт - NodeMCU жөн эле эки канал релесин түз эле иштете алмак, бирок аны тобокелге салууга негиз жок болчу. Эгер сиз бул релелерди колдонгон болсоңуз, анда бул JD-VCC менен VCC ортосундагы секиргичти алып салууну талап кылат.
  • RGB LED кызыл жана жашыл боюнча 220 Ом токту чектөөчү резисторлорго жана көккө 100 Омго ээ. Кызыл "күйгүзүү" LEDинин 450 Ом каршылыгы бар, анткени ал 3.3VDC эмес, 5VDC менен иштейт. Бул көп жаркыроо жана акылга сыярлык узак жашоо үчүн баллдык парктар.
  • Будильник абдан катуу. Сиз үн катуулатуу үчүн сигнал линиясына резистор кошууну каалашыңыз мүмкүн. Обондор программалык камсыздоо аркылуу толугу менен өчүрүлүшү мүмкүн, бирок ортосунда жакшы нерсе болушу мүмкүн.

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

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

Аппараттык тараптын узакка созулган түшүндүрмөсүнө карабастан, бул жердеги аракеттердин 90% кодго кирди. Бул дагы болмок, бирок мен бул жерден автоматтык режимде лазердин кыймылы үчүн сонун кодду "карызга алдым". Дөңгөлөктү кайра ойлоп табуунун мааниси жок. Чынында, сиз муну эмес, ошол долбоорду ээрчүүнү же экөөнүн аспектилерин аралаштырууну туура көрүшүңүз мүмкүн. Албетте, кээ бир компоненттерди 3-D принтери менен жасоо идеясы жагат, бирок менде жок.

Менин кодум (бул жерде GitHubдан табылган) үч негизги бөлүктөн турат. Arduino эскизинин өзү, тиркеме үчүн JavaScript тутуму бар HTML файлдары жана стилдөө үчүн CSS файлдары менен байланышкан. Мен бул долбоорду программалоонун бардык элементтери жөнүндө бир аз көбүрөөк билүү үчүн колдондум, абдан төмөн базадан баштап, өзгөчө нерселердин колдонмо интерфейси жагында. Мен кодду бир аз иретке келтирүүгө аракет кылдым, бирок менин негизги көңүлүм бул нерсени иштетүү болчу. Код WebSocketsти NodeMCU сервери менен туташкан кардарлар ортосунда эки тараптуу байланыш үчүн колдонот.

Arduino коду кеңири комментарийленген, андыктан аны ээрчүү оңой болот деп үмүттөнөбүз. Аны GitHubдан жүктөп алгандан кийин, бүт нерсени папкага жабыштырыңыз, эскизди MCUга жүктөңүз, андан кийин "маалымат" субпапкасынын мазмунун SPIFFSке жүктөңүз.

Чынында, муну чийип сал. Эгерде сиз Pushbullet эскертме өзгөчөлүгүн колдонууну кааласаңыз, биринчи кезекте бул жерден жеткиликтүү болгон API Access Token керек болот. Бул Arduino кодунун 88 -сабына кирет. Pushbullet жакшы иштейт, бирок эгерде сиз телефонуңузга биринчи жолу каттоо эсебин орнотуп жатсаңыз, анда кирүү, чыгуу керек, анан телефонуңуздун жөндөөлөрүндө конфигурацияланган билдирмелер пайда боло электе кайра кириңиз.

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

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

7 -кадам: тийүү жана лазердик коопсуздукту бүтүрүү

Аяктоочу Тийиштер жана Лазердик Коопсуздук
Аяктоочу Тийиштер жана Лазердик Коопсуздук
Аяктоочу Тийиштер жана Лазердик Коопсуздук
Аяктоочу Тийиштер жана Лазердик Коопсуздук
Аяктоочу Тийиштер жана Лазердик Коопсуздук
Аяктоочу Тийиштер жана Лазердик Коопсуздук

8 доллар болгонуна карабай, корпус утилитардык. Etsyден бир аз тыкылдагандан кийин, мен даяр продукттагы винил графикасын таптым (жана бул колдонмо барагында чагылдырылган). Улуу Британиядан жөнөтүлгөн, бул бир аз кымбат, бирок, албетте, татыктуу - жана сиз долбоорду кайталоону каалаган учурда экөөнү аласыз. Менин акыркы чыгармачылыгым гүлдөп жатканда, мен мышыктын көзүндөгү кичинекей "чуңкурларды" айландырдым, алар лазердик чекиттин жанында турган ачык кызыл жарык диодун карап жатышат. Капризге болгон табитиңизге жараша, сиз бул кошумча чакырымга барууну тандасаңыз да, каалабасаңыз да болот.

HTML флэш экранында iPhone'дун башкы экранына сөлөкөт кошуу үчүн код камтылган.

Акырында, мен мышыктар менен ойноо үчүн лазерди колдонуу тууралуу айтылган тынчсызданууларды четке какпашым керек. Эки негизги каршы пикир бар:

  • Лазер мышыктын көзүн сокур кылып же зыян келтириши мүмкүн
  • Лазердик чекит менен ойноо акыры мышыктарды канааттандырбайт, анткени алар аны эч качан кармап же "өлтүрө" алышпайт

Интервейлерде эки тема боюнча дагы көп нерселер бар, кээ бирлери маалыматтуу көрүнөт, кээ бирлери азыраак. Акыр -аягы, бул долбоордун же башка лазер оюнчугунун мышыгыңызга туура келери жөнүндө өзүңүз чечишиңиз керек. Мен эмне кылдым, акылга сыярлык жарык деңгээлде көрүүнү өтө оор кылбастан, лазерди мүмкүн болушунча күңүрт кылып, биринчи маселени чечүүгө аракет кылдым. Ошондой эле, аппаратты колдонгон мышыктын чекитке эмес, лазердин өзүн кароого эч кандай ыктымалдыгы жок экенин текшериңиз - айрыкча LaserKitty колдонууну кааласаңыз !! Авто же Пландаштырылган режимдерде. Pushbullet эскертме өзгөчөлүгүнүн бир максаты - ал байкоо камерасы менен бирге колдонулушу үчүн, сиз жокто котятыңыздын оюнун көрүүңүздү эскертет.

Экинчи каршы пикирде, мен пландаштырылган ойноо сеанстарынан кийин лазер кайтып келе турган "Үй позициясын" сактоо мүмкүнчүлүгүн киргиздим. Эгер сиз муну стационардык оюнчукка же мышыгыңыздын тамак идишине көрсөтсөңүз, ал кандайдыр бир чечимди берет деп үмүттөнөбүз. Бирок, мышыктар менен, ким билет?

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