Съдържание:

Супервайзор Ерик Вдъхновен LED куб (Хората на Земята): 10 стъпки (със снимки)
Супервайзор Ерик Вдъхновен LED куб (Хората на Земята): 10 стъпки (със снимки)

Видео: Супервайзор Ерик Вдъхновен LED куб (Хората на Земята): 10 стъпки (със снимки)

Видео: Супервайзор Ерик Вдъхновен LED куб (Хората на Земята): 10 стъпки (със снимки)
Видео: Книга 03 — Аудиокнига «Горбун из Нотр-Дама» Виктора Гюго (главы 1–2) 2024, Юли
Anonim
Supervisor Eric Inspired LED Cube (Хората на Земята)
Supervisor Eric Inspired LED Cube (Хората на Земята)
Супервайзор Ерик Вдъхновен LED куб (Хората на Земята)
Супервайзор Ерик Вдъхновен LED куб (Хората на Земята)
Супервайзор Ерик Вдъхновен LED куб (Хората на Земята)
Супервайзор Ерик Вдъхновен LED куб (Хората на Земята)

Кой или какво е супервизор Ерик - и защо бихте изградили това.

Супервайзорът Ерик е КУТИЯ или Куб или нещо от шоуто на TBS "Хората на Земята".

Което е смешно малко шоу за хора, отвлечени от извънземни - в по -голямата си част извънземните са почти идиоти. Мисля, че в началото на втори сезон летящ куб на име Ерик пое мисията на извънземните - Той е известен като надзорник Ерик. Не е съвсем ясно дали той е същество вътре в куба, AI или просто какво е то. Ерик има свой собствен дневен ред и дори промива мозъка член на групата за подкрепа на отвличанията, но това е друга цяла история.

Видях Ерик и си помислих, че това е доста добре - и би било много лесно да се направи такъв - затова го направих.

За съжаление няма много информация за него - така че трябва да отида с това, вдъхновен от фен "Supervisor Eric" - Моят не и никога няма да лети (сигурен съм, че това бяха само специални ефекти в шоуто.)

Също така не знам наистина колко е голям - предполагам, че е около 7 "куб с около 3" око. Моята конструкция се оказа около 5 "куб, с около 2" око.

Използвах WeMos D1 Mini за контролера, с LED WS2812 - това ми дава възможност да променя цвета на окото.

В шоуто съм виждал три очи с различен цвят досега - синьо, което изглежда е неговият нормален цвят, червено, което се появява, когато той е замислил нещо или е луд или ядосан, и зелено, когато извършва сканиране на нещо.

За една от скиците, които направих - имам израженията му, друга скица използвам MQTT и получавам цвета на осветлението от Twitter. Направих и аплет IFTTT, който ми позволява да използвам Google Home/Google Assistant, за да променя настроенията му - използвайки dweet.io - По -долу ще има повече информация за това.

Стъпка 1: Необходими инструменти и части…

Необходими инструменти и части…
Необходими инструменти и части…
Необходими инструменти и части…
Необходими инструменти и части…
Необходими инструменти и части…
Необходими инструменти и части…

Хардуерът за този проект е много прост - за електрониката ще са необходими някои основни умения за запояване.

1 комплект 44 мм стъклена рефлекторна чаша и фиксирана рамка за 20W-100W LED обектив Горещи $ 2,60

WS2812B RGB щит за WeMos D1 Mini $ 1,75

WeMos D1 Mini ModeMCU 4M WiFi Board за разработка ESP8266 $ 3,40

Нуждаем се от 5 "(12,7 см) куб - Дебелината е около 1/8". (около 3,175 мм).

Първоначално опитах 7 -инчова картонена кутия, но в крайна сметка лазерно изрязах някаква MDF плоча. Dfx файлът е включен в моето хранилище на github.

Използвах и малко салфетка за покриване на щита WS2812.

Пазарувайте малко, това може да са или да не са най -добрите цени, eBay, Aliexpress и дори Amazon имат някои от най -добрите цени.

Някои други неща, от които може да се нуждаете -

Плоска черна спрей боя, лепило за дърво, шкурка и малка пила.

Ще ви трябват и някои малки винтове за дърво.

Необходими са някои инструменти - поялник, отвертка, пила, клещи за иглени носове.

Достъпът до малка преса за свредло (или малка бормашина), лазерна резачка или cnc машина ще направи нещата много по -лесни за завършване на този проект.

За мощност

Първоначалната ми идея беше да използвам малка батерия - тя не се побираше, така че в крайна сметка направих малка дупка отзад и използвах старо зарядно за мобилен телефон за захранване.

Малка батерия (може би 18650) може да работи, D1 mini е 3 -волтов контролер - така че трябва да следите кои щифтове използвате за захранване. На USB конектора има регулатор, така че това е най -лесният начин за захранване.

Стъпка 2: Ранни стъпки към изграждането…

Ранни стъпки към изграждането …
Ранни стъпки към изграждането …
Ранни стъпки към изграждането …
Ранни стъпки към изграждането …
Ранни стъпки към изграждането …
Ранни стъпки към изграждането …
Ранни стъпки към изграждането …
Ранни стъпки към изграждането …

Вярвам, че обективът се използва за автомобили, може би домашно осветление. Не съм сигурен - той идва без LED в него. Така че едно от първите неща, които направих, беше да се уверя, че щитът WS2812 дори ще работи с него - използвах гумена лента, за да държа всички части заедно - тя работи - но не беше страхотно. Успях да изпълня някакъв тест код и да произведа различни ефекти.

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

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

По -голямата част от това аз тъкмо осъзнавах, че първоначалната ми идея да се нуждая от нещо изрязване е правилна!

Стъпка 3: Лазерно изрязване на куба и боядисване

Лазерно изрязване на куба и боядисване!
Лазерно изрязване на куба и боядисване!
Лазерно изрязване на куба и боядисване!
Лазерно изрязване на куба и боядисване!
Лазерно изрязване на куба и боядисване!
Лазерно изрязване на куба и боядисване!

Благодарение на приятелите ми в Rabbit Laser, САЩ - успях да изрежа кубчето. Цялата работа отне по -малко от 5 минути. Вярвам, че използвахме 60 ватов лазер на 60% мощност и вярвам, че го забавихме, за да може да отреже ръбовете малко по -добре.

Ако нямате приятели с лазерни фрези, опитайте да разгледате пространствата за производители или дори обществените библиотеки. Много от тях имат лазерни машини. Тук библиотеките таксуват само използвания материал. Някои библиотеки са напълно безплатни за използване, ако носите свои собствени материали. Те са чудесни ресурси за създателите на бюджет. Получаването на лазерно време е друга история и понякога трябва да сте в списък с чакащи.

За мен не беше необходимо много в начина на почистване на груби ръбове или нещо подобно. Вероятно бих могъл/трябваше да шлайфам парчетата малко - но не го направих.

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

Номерирах вътрешностите, за да мога да сглобя куба по -късно - реалността е, че 4 от парчетата са еднакви, а 2 са различни (отгоре и отдолу) 4 -те еднакви съставят страните - от тези 4 единият има 2 -инчов отвор за обектива. Вярвам, че беше по -лесно да го сглобя, след като номерирах парчетата - това не е 100% необходимо.

Обърнах парчетата и ги нанесох с плоска черна боя.

Повторих боядисването на парчетата още три пъти, всеки път, когато чаках палтото да изсъхне.

Стъпка 4: Залепете куба заедно …

Залепете кубчето заедно …
Залепете кубчето заедно …
Залепете кубчето заедно …
Залепете кубчето заедно …
Залепете кубчето заедно …
Залепете кубчето заедно …
Залепете кубчето заедно …
Залепете кубчето заедно …

След няколко часа оставяне на боята да изсъхне - залепих дъното и трите страни.

Не използвах никакви скоби за това - и просто държах парчетата заедно на ръка, докато лепилото изсъхне достатъчно, за да ги задържи - не отне много време, може би 5 или 6 минути. Според мен би било по -добре да използвам скоби - но нямах достатъчно големи за този проект. Така че беше приятно да знам, че задържането му работи.

Стана ми по -лесно просто да лепя лепило от вътрешната страна на кутията по шевовете, използвах пръста си, за да избутам лепилото там, където е необходимо.

Оставих тези части настрана, за да оставя лепилото да изсъхне ….

Стъпка 5: Поставяне на обектива и електрониката в отвора…

Поставяне на обектива и електрониката в отвора…
Поставяне на обектива и електрониката в отвора…
Поставяне на обектива и електрониката в отвора…
Поставяне на обектива и електрониката в отвора…
Поставяне на обектива и електрониката в отвора…
Поставяне на обектива и електрониката в отвора…

Докато чаках половината от куба ми да изсъхне, Пробих няколко малки дупки в четирите ъглови части на рамката на обектива, които нямаха дупки. Защо може да попитате - Дупките, които са в рамката, са големи, наистина твърде големи. Трябваше да използвам много малки винтове, за да не стигнат докрай през дървото (да не излизат от другата страна). Така че беше почти по -лесно да си направя собствени дупки. Рамката е доста тънък метал и не отнема много за пробиване.

Също така в този момент огънах няколко по -големи дупки - ще ги използвам, за да държа електрониката горе -долу на място.

Продължих напред и поставих рамката на обектива на място. И го завинтих с много малки винтове - дотук.

Намерих няколко връзки за хляб/тел и ги сложих на една от дупките, които огънах. Поставих обективите в рамката и поставих задния капак върху обектива. Поставих малко парче салфетка (намерена в кутия, в която имаше нов чифт обувки) на задната корица - и сложих дъската WS2812 върху нея. Използвайки телените връзки, за да го задържите на място. След това сложих D1 mini на WS2812.

След известно време и за мое голямо удоволствие, WS2812 и салфетка пробиха път в задната корица - WS2812 наистина е само малко за отвора на задната корица, така че не беше изненада.

Изненадата беше колко добре направи „ОКОто“да изглежда с хартия вътре. Наистина се зарадвах на тази изненада.

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

Стъпка 6: Лепило в окото …

Image
Image
Лепило в окото…
Лепило в окото…
Лепило в окото…
Лепило в окото…

Не направих никакви снимки на тази част -(Лошо аз)

Както и да е, след като лепилото изсъхне предимно, поставих предната част (окото) на място (с електрониката вече в нея).

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

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

* Може би питате за върха

Затова оставих горната част (и незалепена), така че ако трябва да променя или добавя, или да поставя различна електроника в кутията, бих могъл да го направя лесно. Горната част просто се издига и всичко е красиво там.

Нов/по -добър дизайн може да бъде за шарнирен връх или шарнирна страна, но съм доволен от начина, по който се оказа кубът.

Стъпка 7: D1 Mini програмиране

D1 Мини програмиране
D1 Мини програмиране
D1 Мини програмиране
D1 Мини програмиране
D1 Мини програмиране
D1 Мини програмиране
D1 Мини програмиране
D1 Мини програмиране

Има няколко изисквания, преди да можем да започнем да програмираме D1 Mini.

Нито една от тези стъпки не е трудна … но трябва да се направи.

Първо трябва да инсталираме платките ESP8266 в Arduino Board Manager. За това следвайте инструкциите, намерени тук:

Ако вече сте инсталирали платките ESP8266, можете да пропуснете тази стъпка.

Сега трябва да инсталираме библиотеката Adafruit_Neopixel

Вероятно най -лесният начин да направите това е от библиотечния мениджър в Arduino 1.6.5 и по -нови IDE

Отворете мениджъра на библиотеката и в блока за търсене въведете adafruit и neopixel.

Отново, ако сте готови да направите това, можете да го пропуснете.

Горното е общо за скиците, които съм направил за това.

В зависимост от това как или как искате да използвате вашия "Eric" ще зависи от това какво трябва да бъде инсталирано сега.

(Вероятно трябва да инсталирате и двете библиотеки само защото, но …)

Ако искате да използвате версията MQTT (Тази версия се абонира за поток MQTT на cheerlights) - Това ще промени цвета на светодиода WS2812 според Cheerlight. * Cheerlights е проект на IoT, създаден от Ханс Шарлер, който позволява на хората светлини по целия свят да се синхронизират с един цвят чрез туитване #cheerlights *

Използвал съм Cheerlights в редица мои проекти. Благодарение на потока MQTT проектите станаха по -лесни за правене.

За тази версия се нуждаете от библиотеката PubSubClient.

Сигурен съм, че тази библиотека е и в мениджъра на библиотеката.

Другите ми скици използват IFTTT и Dweet.io - Те са малко по -различни в това, че моля Google Home да промени настроенията или режимите на Ерик.

За да използвате сладки скици, имате нужда от библиотеката arduino-dweet.io-https://github.com/quentinpigne/arduino-dweet.io Това е по-стара библиотека (2015 г.) и почти сигурно НЕ е в мениджъра на библиотеката. Така че трябва да го инсталирате ръчно. Има няколко начина да направите това - предпочитам, изтегляне на файлове, разархивиране и преименуване (премахване на -master), плъзгане на папката в папката на моите библиотеки. Може да се наложи да рестартирате IDE по този начин.

Знам, че това са много стъпки и има по -прост начин - От IDE можете да щракнете върху раздела Sketch, да слезете да включите библиотеката и да кликнете върху Добавяне на. ZIP библиотека - намерете изтегления от вас файл и това трябва да е всичко.

Не знам защо никога не съм обичал да инсталирам такива библиотеки - но е просто.

Сега, когато имате необходимите библиотеки, можем да програмираме нашия D1 mini.

Най -накрая моят код може да бъде намерен тук:

Стъпка 8: Скици на MQTT…

Скиците на MQTT…
Скиците на MQTT…
Скиците на MQTT…
Скиците на MQTT…
Скиците на MQTT…
Скиците на MQTT…

Какво е MQTT? MQTT означава MQ телеметричен транспорт. Това е изключително прост и лек протокол за съобщения за публикуване/абониране, предназначен за ограничени устройства и ниска честотна лента, с висока латентност или ненадеждни мрежи. Принципите на проектиране са да се сведат до минимум мрежовата честотна лента и изискванията за ресурси на устройството, като същевременно се опитва да се гарантира надеждност и известна степен на сигурност на доставката. Оказва се, че тези принципи правят протокола идеален за възникващия свят на свързани машини „машина към машина“(M2M) или „Интернет на нещата“, както и за мобилни приложения, където честотната лента и захранването на батерията са на първо място.

mqtt.org/faq

С други думи, моето устройство се абонира или слуша нещо, което друго устройство публикува.

Едно парче код, което е удобно за използване за MQTT, е

uint32_t chipid = ESP.getChipId (); char clientid [25]; snprintf (clientid, 25, "EricBotAI-%08X", чипид);

Това, което прави, е да направи уникално име на устройство за MQTT брокера, той използва част от ESP8266 MAC адреса, за да направи това. Известно време това е 100% гаранция, че е уникална, досега изглежда е работила.

В противен случай останалата част от кода е доста ясна, слушаме за цвят от брокера на MQTT, проверяваме дали това е валиден цвят - задаваме неопиксела на този цвят и започваме процеса отначало.

За това, което правим, се използва публичен брокер и няма никакъв вид сигурност - това е добре за това, което правим, но може да не е добро за някои проекти.

Включени са три скици на MQTT и всички те правят почти едно и също нещо - най -голямата разлика е в това как показват цветовете от Cheerlights.

Единият показва цвета с бързо мигане (вижте видеото, публикувано по -рано) Това е почти стробоскоп (ericbotai_neopixel_mqtt) - използвал съм същия този тип бързо мигане за моите проекти за Хелоуин в миналото и ефектът е много добър (за тези) - това обаче не е толкова добро за този проект.

Човек просто показва плътен цвят - и се променя само (ако загуби MQTT) или ако цветът се е променил. (ericbotai_neopixel_mqtt_solid_color).

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

(ericbotai_neopixel_mqtt_breathe_effect)

И трите са една и съща скица с само няколко промени за всеки "ефект".

Стъпка 9: Google Home, IFTTT и Dweet.io скици…

Image
Image
Последни мисли и още няколко снимки!
Последни мисли и още няколко снимки!

Така че първо, нека започнем с това, че тези скици не са толкова стабилни, колкото бих искал да бъдат.

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

Като се има предвид това, идеята беше да направим Ерик малко по -интерактивен - Използвайки началната страница на Google/Google Асистент, мога да кажа „Ok Google Eric Angry mode“и LED да превключва от каквото и да е в червено.

Dweet.io е начинът, по който съобщението ми се пренася на Ерик - ако не знаете какво е Dweet.io, не забравяйте да кликнете върху връзката и да го проверите. С прости думи това е уеб API, който устройствата могат или да публикуват, или да слушат. Всяко обаждане има собствено име на устройството. Той също е безплатен за използване, което е голям бонус! Тъй като това е уеб обаждане, лесно е да настроите IFTTT, за да го използвате.

dweet.io/dweet/for/ericcube?mood={{TextFie…

Където {{TextField}} ще бъде това, което Google Home е чул.

Така че, ако вземете горния пример „Ok Google Eric angry mode“- Уеб обаждането ще изглежда така:

dweet.io/dweet/for/ericcube?mood=angry

API изходът ще изглежда така: JSON низ:

Скицата на Arduino - получава целия JSON низ - но благодарение на удобна функция, наречена "премахване", ние можем просто да премахнем повечето от просещите. И след това премахнете края ….. Вероятно има по -добър начин да премахнете края, защото това, което в крайна сметка се случи, беше, че не прочетох страницата с информация достатъчно близо за "премахване" и сега всичко е отрязано на 6 знака. Така че, ако кажете "нормален" режим - той става "нормален" - това е добре, няма особено значение - софтуерът се грижи за това …, но все още не е правилно:-)

Така че мога да кажа - „режим на яд на Ерик“и това ще превърне светодиода в ЧЕРВЕНО, „режим на щастие на Ерик“или „нормален режим на Ерик“и светодиодът ще бъде СИН, „режим на скенер на Ерик“и светодиодът ще стане ЗЕЛЕН, и просто за забавление (И понеже в един епизод Ерик се зарежда и светодиодът му изгасва) „Режим на зареждане на Ерик“или „Режим на Ерик в черно“и светодиодът му ще изгасне.

И накрая само за забавление имаме „режим на парти на Ерик“.

Има две скици, които използват Dweet.io и двете скици са почти еднакви. Само светодиодните ефекти са малко по -различни.

Не съм истински доволен от нито един LED ефект обаче (с изключение може би на парти режим).

ericbotai_neopixel_pulse_effect_dweet използва горе -долу един и същ код от скицата на ефекта на дишане - с малко по -различни времена (както поради промените в скицата, така и функциите WDT) - ефектът е по -малко дишане и по -скоро импулсен ефект.

ericbotai_neopixel_solid_color_dweet е почти както се казва, показва цветовете (плътни) - парти режимът е ефектът на дискотеката.

Можете да добавяте или променяте ефектите, но не забравяйте, че отговорите са само с 6 знака.

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

Стъпка 10: Последни мисли и още няколко снимки

Последни мисли и още няколко снимки!
Последни мисли и още няколко снимки!
Последни мисли и още няколко снимки!
Последни мисли и още няколко снимки!
Последни мисли и още няколко снимки!
Последни мисли и още няколко снимки!

Ето още няколко снимки от моята конструкция, които просто не се вписват никъде …….

Едно нещо, което бих искал да кажа - в крайна сметка изрязах малка прореза от задната страна на куба си и пуснах зарядното/кабела в този прорез за захранване - над всичко това не пречи на куба - но имах Знаех, че ще направя това, което бих искал да го изрежат лазерно.

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

Планирам да добавя MP3 плейър с някои от думите на мъдростта на "Ерик" … това може да не се случи много бързо ти - не съм намерил никакви записи на "Ерик", така че ще трябва да си направя сам.

И накрая, с използването на MQTT или Dweet възможността да направите това настолна система за уведомяване, (като цвят за туит или различни цветове за времето сутрин, и т.н.). Не трябва да е твърде трудно да вземете част от базовия код и да го смесите, за да направите всякакви готини неща.

И наистина Най -накрая - виждам може би да направя HAL 9000 стенен дисплей, използващ същата тази обектива и малко по -различно програмиране.

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