Съдържание:

LaserKitty !!: 7 стъпки (със снимки)
LaserKitty !!: 7 стъпки (със снимки)

Видео: LaserKitty !!: 7 стъпки (със снимки)

Видео: LaserKitty !!: 7 стъпки (със снимки)
Видео: В чем секрет здоровья китайцев. Китай. Мир наизнанку 11 сезон 7 серия 2024, Октомври
Anonim
Image
Image
Вземете си нещата
Вземете си нещата

Всеобщо призната истина е, че една котка, притежаваща късмет, трябва да се нуждае от лазерна играчка. Както при самотните господа, които нямат бъдещи съпруги, трябва да се спазват някои предпазни мерки. Но нима това не е вярно за нещо, което наистина си заслужава?

Ако имате притеснения относно домашните любимци и безопасността на лазера, преминете към края на тази инструкция, преди да коментирате. Ако имате притеснения относно бъдеща съпруга или дори настояща, вероятно трябва да потърсите другаде.

Сега можете да посетите местния магазин за домашни любимци и да закупите лазерна показалка и може би дори някаква измислица, която добавя елементарна автоматизация. Ще спестите малко пари и ще можете да ги върнете, ако не работи. Или можете сами да изградите нещо. Вече има много примери, но ето моят принос към канона. То включва:

  • Пълен контрол на смартфона
  • Ръчни, автоматични и планирани режими
  • Персонализиран интерфейс на приложението
  • Системно състояние, синхронизирано между множество уеб клиенти
  • Състоянието на системата се отразява на LaserKitty !! себе си
  • Конфигурируеми ограничения на обхвата на накланяне и накланяне
  • Конфигурируеми продължителност и честота на сесията
  • Конфигурируеми прозорци за игра
  • Страница за настройка с бърз поглед към текущите настройки
  • NTP синхронизация по време
  • WiFi мениджър за лесна настройка в нови мрежи
  • Генератор на тонове за възпроизвеждане на мисията Невъзможна мисия преди всяка игрална сесия: вашата котка може или не може да оцени иронията.
  • Pushbullet известия до всичките ви устройства, когато започне нова сесия за възпроизвеждане
  • Конфигурируема начална позиция, така че времето за игра завършва в купа за храна или неподвижна играчка
  • Всички настройки, съхранени в EEPROM, така че да не се загубят при прекъсване на захранването
  • И още много! Е, не наистина, това е всичко.

Стъпка 1: Вземете си нещата

Ето какво използвах:

  • Мини монтаж и накланяне. Това със сигурност не е най -евтиното, което можете да намерите и се нуждае от някои промени за нашите цели. Избрах го, защото изглежда малко по -хладно от изгодните мазета от пластмаса. Като неочакван бонус, дизайнът му позволява много лесен начин за монтиране на лазера. Той идва с няколко микро серво, но горещо ви препоръчвам да купите куп допълнителни такива за подмяна. Ще ви трябва поне едно допълнително серво (счупеното е добре).
  • Заграждение. Боли ме да платя 8 долара за пластмасова кутия и определено бихте могли да намерите нещо подходящо за по -малко. Нещо за размера на свързания корпус обаче е приблизително правилно.
  • База за разработка, базирана на ESP8266. Използвах NodeMCU. Не е преувеличение да се каже, че обичам тези неща. Лесен за използване в Arduino IDE и много флаш памет за вашите уеб страници. Също евтино и според моя опит много трудно за пържене.
  • Мини лазер. Десет за 6 долара, включително Amazon Prime. Шегуваш ли се?? Сега просто трябва да разбера какво да правя с останалите девет.
  • Пасивен зумер за тоновете.
  • Двуканално реле. Използвам ги за включване и изключване на сервомоторите и лазерите. Може да успеете да премахнете този компонент, както ще обясня по -късно.
  • 5VDC захранване. Надяваме се, че ще имате един от тези, които се намират от някоя отдавна забравена мания, но ако не и нещо евтино и весело, което може да произведе около 1A от 5VDC, е това, от което се нуждаете.
  • Различни консумативи като резистори, светодиоди, свързващ проводник, термосвиване, спойка, горещо лепило. Обичайното. Използвах и жак за барел за входящото захранване от 5VDC от моята срамно голяма колекция от унищожени отхвърлящи се дъски на Arduino.
  • Не на последно място, но в никакъв случай не на последно място, винилова стикер за този причудлив завършек.

Така че, да. Търсите около 50 долара. Бихте могли да го направите за по -малко, но котето ви не заслужава ли най -доброто?

Стъпка 2: Инструменти и ресурси

Инструменти и ресурси
Инструменти и ресурси

Тук няма нищо особено от страна на инструментите. Просто приличен поялник, мултицет, бормашина и основни ръчни инструменти. Захранването с пейка е хубаво за експериментиране с лазера, но не е от съществено значение.

Този проект наистина използва възможностите на ESP8266 и по -специално на NodeMCU. Ако тепърва започвате с ESP8266, не открих по-добър ресурс на едно гише от това нещо. Освен това, всичко е свързано с Googling, за да намерите отговори на проблемите, които възникнаха по пътя.

Стъпка 3: Подгответе кутията

Подгответе кутията
Подгответе кутията
Подгответе кутията
Подгответе кутията

Както може би вече споменах, плащането на 8 долара за пластмасов корпус изглежда скандално. Още по -лошото е да прецакате нещата, като поставите дупка на грешното място. Така че, преди да имате на ваше разположение кутията със свредлото и/или каквото и да е друго устройство за хаос на ваше разположение, помислете за грешките, които направих.

  • Първо, трябва да помислите къде ще се поберат всички неща. Добрата новина е, че заграждението, което предлагам, има много място, дори и с много разхвърляното окабеляване, което виждате тук. Може дори да успеете да се измъкнете с по -малка кутия, особено ако премахнете релетата.
  • Най -важното е къде ще монтирате панела и наклоните в капака. Първият ми опит е показан тук. Мислех, че артистично ще го поставя извън центъра и малко назад за стабилност. Лоша идея! Имате нужда от монтажа възможно най -близо до страната на капака, така че самото заграждение да не пречи на гредата при високи ъгли на наклон. Също така, мисля, че идеалното подреждане би било монтирането на пан лазера перпендикулярно на късата страна, а не, както направих, на дългата страна. Направих го по друг начин поради чисто естетически причини, въпреки че има малко повече потенциал за намеса.
  • Както можете да видите, NodeMCU е монтиран на Perfboard и лесно може да бъде позициониран така, че неговият micro USB конектор да е достъпен от слот отстрани или отзад. Това ще улесни актуализацията на софтуера (няма нужда да сваляте капака). Първоначалната ми идея беше да използвам OTA библиотеката за актуализации и ще видите, че моят код включва тази функционалност, въпреки че е коментиран. Проблемът беше, че генераторът на тонове и OTA нямаше да свирят добре заедно (NodeMCU многократно ще се нулира по средата на песента). Този проблем вероятно е поправим, но никога не съм успявал да актуализирам SPIFFS, освен чрез USB, така че достъпът до USB конектора би бил хубав. Докато разбрах всичко това, бях монтирал NodeMCU на Perfboard по начин, който означаваше, че изваждането на конектора от кутията не е възможно без много фафове. О, добре.
  • Ако трябваше да направя проекта отново, щях да подравня RGB светодиода с червения светодиод „включване“. (Целта на RGB LED е да покаже в какъв режим е LaserKitty !! без да се налага да гледате приложението.)

Единствената леко сложна част от действителното правене на дупките е правоъгълната за серво. Използвах бормашина и пила. Както можете да видите от първия ми опит е трудно да се направи точно квадратен (или правоъгълен, предполагам). Но когато серво е монтирано, не можете да видите това.

Ще трябва да направите още три дупки, които трябва да бъдат поставени в задната част на кутията и да се използват за жака за захранване, зумера и входната точка за серво серво и лазерно окабеляване. Всички тези дупки могат да бъдат кръгли и не представляват затруднения да се направят само с бормашина.

Либералното използване на горещо лепило обезопасява всичко на място (с изключение на серво серво, което е прикрепено към капака с помощта на монтажните щифтове на серво).

Стъпка 4: Монтажът на панорамиране и накланяне

Панелът за накланяне и накланяне
Панелът за накланяне и накланяне
Пан и наклон монтаж
Пан и наклон монтаж
Пан и наклон монтаж
Пан и наклон монтаж
Пан и наклон монтаж
Пан и наклон монтаж

Когато получих монтаж на панорама и накланяне, си помислих, че съм направил още една голяма грешка. Сглобени според инструкциите, той всъщност изобщо не е механизъм за накланяне и накланяне, а по -скоро дизайн с накланяне и усукване - подходящ за предназначението му като рамо на робот. Въпреки това, момент на спокойно размишление ми позволи да видя, че всъщност може да бъде сглобен по различен начин, за да постигна желания резултат. Още по -добре, първоначалното местоположение на "twist" серво може да се използва като стойка за лазера.

Ако разгледате завършения монтаж на тези снимки, ще разберете идеята. Ще останете с малък метален блок, който не е необходим в този дизайн.

Блясъкът на вдъхновение, който имах, беше да използвам първоначалното местоположение на второто серво за монтиране на лазера. Още по -добре, ако обезглавите серво серво и пробиете монтажа на шлицевото рамо, това е идеалното място за монтиране на лазера! Само не подценявайте усилията, необходими за разделянето на сервоместата. Има малко месо за тези малки побойници!

След сглобяване и инсталиране в кутията, И ПРЕДИ ДА ПРИЛАГНЕТЕ МОЩНОСТТА, уверете се, че тя ще се разпростира почти на 180 градуса по лицето на корпуса. По някакъв начин, след като го инсталирах веднъж успешно, поставих обратно монтажа на тавата, така че главите на болтовете на основата да са свързани към повдигнатия бит на сервото, където е предназначено рамото да бъде монтирано. Резултатът беше, че сервото веднага свали предавките си. От друга страна, сега имам още един сервоусилвател, който да използвам като лазерен монтаж.

Стъпка 5: Свържете го

Свържете го
Свържете го

Надяваме се, че скицата на Fritzing изяснява нещата. Някои точки за допълнително изясняване:

  • Както бе обсъдено по -късно, исках да направя лазера възможно най -слаб, като същевременно запазя достатъчно яркост, за да го направя полезен при всички, с изключение на най -ярката вътрешна светлина. С малко експериментиране се спрях да го захранвам от 3.3VDC щифт на Node MCU, като добавих 22 ома резистор последователно за добра мярка. С тази настройка той извлича около 10mA, така че на теория може да се захранва директно от GPIO щифт, но открих, че е твърде слаб, дори без резистора.
  • Лазерът има много ограничена способност да променя фокуса (колимация?), Която използвах, за да направя точката по -голяма и по този начин да разсея лазерната енергия
  • Първата ми мисъл беше да включа и изключвам сервомоторите с транзистор, но това накара сървърите да полудеят. Сигурен съм, че има добра причина за това, но тъй като вече имах някои релета под ръка, взех лесния изход и напълно изолирах захранването на сервомоторите. И тъй като релетата имаха два канала, мислех, че бих могъл да превключвам и лазера по този начин (лилавите проводници са управляващият сигнал от MCU). Харесва ми и механичното щракване, което това решение произвежда. Можете обаче да решите друго. Не е показано, но релетата се захранват директно от 5VDC захранване - NodeMCU може просто да е могъл да захранва директно двуканално реле, но няма причина да рискува. Ако сте използвали тези релета, преди да разберете, че това изисква премахване на джъмпера между JD-VCC и VCC.
  • RGB LED има 220 Ohm ограничаващи тока резистори в червено и зелено и 100 Ohm в синьо. Червеният светодиод за включване има 450 ома резистор, тъй като се захранва от 5VDC, а не от 3.3VDC. Това са само основни стойности, за да получите много яркост и разумно дълголетие.
  • Звукът е доста силен. Може да искате да добавите резистор към сигналната линия, за да намалите силата на звука. Тоновете могат да бъдат напълно изключени чрез софтуера, но нещо между тях може да е хубаво.

Стъпка 6: Кодът

Кодът
Кодът
Кодът
Кодът
Кодът
Кодът
Кодът
Кодът

Въпреки доста продължителното обяснение на хардуерната страна, 90% от усилията тук бяха вложени в кода. Щеше да е повече, но "заимствах" от тук страхотен код за движението на лазера в автоматичен режим. Няма смисъл да преоткриваме колелото. Всъщност може да решите да следвате този проект, а не този, или да смесите и съчетаете аспектите и на двата. Разбира се, харесва ми идеята да направя някои от компонентите с 3-D принтер, но нямам такъв.

Моят код (намерен на GitHub тук) е в три основни части. Има самата скица на Arduino, HTML файлове с куп Javascript за съдържанието на приложението и свързани CSS файлове за оформяне. Използвах този проект, за да науча малко повече за всички тези програмни елементи, започвайки от много ниска база, особено от страна на интерфейса на приложението. Опитах се да подредя кода малко, но основният ми фокус беше просто да накарам нещата да работят. Кодът използва Websockets за двупосочна комуникация между NodeMCU сървъра и свързаните клиенти.

Кодът на Arduino се коментира широко, така че се надяваме, че ще бъдете лесни за следване. След като го изтеглите от GitHub, залепете цялата партида в папка, качете скицата във вашия MCU, след което качете съдържанието на подпапката "данни" в SPIFFS.

Всъщност, надраскайте това. Ако искате да използвате функцията за известия Pushbullet, първо ще ви е необходим маркер за достъп до API, достъпен от тук. Той влиза в ред 88 на кода на Arduino. Pushbullet работи добре, но ако създавате акаунт на телефона си за първи път, може да откриете, че трябва да влезете, да излезете, след това да влезете отново, преди известията да започнат да се показват, както е конфигурирано в настройките на телефона ви.

Има три уеб страници-начален екран, действителният интерфейс на приложението и страница за настройка. Разделянето на съдържанието по този начин прави използването на интерфейса много по-подобно на приложение, особено поради обширните опции за конфигуриране (екранната снимка улавя само част от тези опции).

Една странност да накарам NodeMCU да обслужва множество страници беше, че трябваше да поставя всички файлове с изображения в папката с данни директно - просто не можех да го накарам да работи, ако бяха поставени в подпапки. Включих всички изображения, които използвах, в хранилището на GitHub, така че да работи нестандартно, но несъмнено ще искате да ги замените със свои.

Стъпка 7: Довършителни работи и лазерна безопасност

Довършителни работи и лазерна безопасност
Довършителни работи и лазерна безопасност
Довършителни работи и лазерна безопасност
Довършителни работи и лазерна безопасност
Довършителни работи и лазерна безопасност
Довършителни работи и лазерна безопасност

Въпреки впечатляващата цена от 8 долара, заграждението е доста утилитарно. След малко разтърсване из Etsy открих виниловата графика, която виждате на крайния продукт (и която се отразява на страницата с приложението). Изпратено от Великобритания беше малко скъпо, но определено си заслужава - и получавате две, в случай че искате да повторите проекта. Докато последният ми артистичен разцвет, завъртях малките „трапчинки“в очите на котката, така че те гледат яркочервения светодиод за захранване, който представлява лазерната точка. В зависимост от апетита ви за прищявка, можете или не можете да изберете тази допълнителна миля.

HTML файлът на началния екран включва код за добавяне на икона към началния екран на вашия iPhone.

И накрая, не бива да пренебрегвам изразените притеснения относно използването на лазер за игра с котки. Има две основни възражения:

  • Лазерът може да заслепи или повреди очите на котката
  • Играта с лазерна точка в крайна сметка е незадоволителна за котките, защото те никога не могат да я хванат или „убият“

В преплитането има много мръсотия и по двете теми, някои привидно информирани, други по -малко. В крайна сметка трябва да вземете собствени решения дали този проект или друга лазерна играчка е подходящ за вашата котка. Това, което направих, беше да се опитам да разреша първия проблем, като направих лазера възможно най -слаб, без да затруднявам виждането му при разумни нива на осветеност. Също така се уверете, че всяка котка, използваща устройството, няма склонност да се взира в самия лазер, а не в точката - особено ако възнамерявате да използвате LaserKitty !! в автоматичен или планиран режим. Една от целите на функцията за уведомяване Pushbullet е тя да се използва заедно с камера за наблюдение, така че да ви напомня да гледате как котето ви играе, докато сте далеч.

Що се отнася до второто възражение, аз включих възможността да запазя "Начална позиция", към която лазерът ще се върне след планирани сесии за игра. Ако настроите това да сочи към неподвижна играчка или купата за храна на вашето коте, да се надяваме, че ще осигури някаква резолюция. Въпреки че, с котки, кой наистина знае?

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