Obsah:
- Krok 1: Potřebné nástroje a součásti…
- Krok 2: Počáteční kroky ke stavbě…
- Krok 3: Laserové řezání kostky a malování
- Krok 4: Lepte kostku dohromady…
- Krok 5: Nasazení objektivu a elektroniky do otvoru…
- Krok 6: Lepidlo v oku…
- Krok 7: D1 Mini Programování
- Krok 8: Skici MQTT…
- Krok 9: Google Home, IFTTT a Dweet.io Skicches…
- Krok 10: Závěrečné myšlenky a několik dalších obrázků
Video: Vedoucí Eric Inspired LED Cube (People of Earth): 10 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
Kdo nebo co je supervizor Eric - a proč byste to stavěli.
Supervisor Eric je BOX nebo Cube nebo něco z pořadu TBS „People of Earth“.
Což je legrační malá show o lidech, kteří jsou uneseni mimozemšťany - z větší části jsou mimozemšťané do značné míry idioti. Myslím, že na začátku druhé sezóny převzala mimozemskou misi létající kostka jménem Eric - je známý jako supervizor Eric. Není úplně jasné, jestli je bytostí uvnitř krychle, A. I., nebo prostě čím to je. Eric má svou vlastní agendu a dokonce vymývá mozky členovi skupiny na podporu únosu, ale to je další celý příběh.
Viděl jsem Erica a myslel jsem si, že je to celkem úhledné - a bylo by opravdu jednoduché ho vytvořit - tak jsem si ho vytvořil.
Bohužel o něm není mnoho informací - takže musím jít s tím, že je to „supervizor Eric“inspirovaný fanouškem - ten můj ne a nikdy neletí (jsem si docela jistý, že to stejně byly v show jen speciální efekty.)
Také opravdu nevím, jak je velký - můj odhad je asi 7 "kostka s asi 3" okem. Ukázalo se, že moje stavba byla asi 5 “kostka, asi 2“oko.
Na ovladač jsem použil WeMos D1 Mini s LED WS2812 - to mi dává možnost změnit barvu oka.
V show jsem zatím viděl tři různě barevné oči - modré, které se jeví jako jeho normální barva, červené, které se objeví, když je na něčem naštvaný nebo naštvaný, a zelené, když předskenuje něco.
Pro jeden z náčrtků, které jsem vytvořil - mám jeho výrazy, další skicu používám MQTT a získávám barvu světlometů z twitteru. Také jsem vytvořil IFTTT applet, který mi umožňuje používat Google Home/Google Assistant ke změně jeho nálad - pomocí dweet.io - Více o tom bude níže.
Krok 1: Potřebné nástroje a součásti…
Hardware pro tento projekt je velmi jednoduchý - pro elektroniku budou zapotřebí některé základní pájecí schopnosti.
1 sada 44mm skleněné čočky s reflektorem a pevným rámečkem pro 20W-100W LED objektiv za 2,60 $
WS2812B RGB štít pro WeMos D1 Mini 1,75 $
WeMos D1 Mini ModeMCU 4M WiFi Development Board ESP8266 3,40 $
Potřebujeme kostku 5 (12,7 cm) - Tloušťka je asi 1/8 palce. (asi 3,175 mm).
Zkoušel jsem nejprve 7 kartonovou krabici, ale nakonec jsem laserem vyřezal desku MDF. Soubor dfx je součástí mého úložiště github.
Také jsem použil nějaký hedvábný papír na zakrytí štítu WS2812.
Nakupujte trochu, to mohou, ale nemusí být nejlepší ceny, eBay, Aliexpress a dokonce i Amazon mají jedny z nejlepších cen.
Některé další věci, které můžete potřebovat -
Plochá černá barva ve spreji, lepidlo na dřevo, brusný papír a malý pilník.
Budete také potřebovat nějaké malé šrouby do dřeva.
Potřebné nástroje - páječka, šroubovák, pilník, jehlové kleště.
Přístup k malému vrtacímu lisu (nebo malému vrtáku), laserové řezačce nebo cnc stroji značně usnadní dokončení tohoto projektu.
Pro sílu
Můj původní nápad byl použít malou baterii - nevešla se, takže jsem nakonec udělal malý otvor na zádech a použil jsem k napájení starou nabíječku mobilního telefonu.
Může fungovat malá baterie (možná 18650), D1 mini je 3voltový ovladač - takže musíte sledovat, které piny používáte k napájení. Na konektoru USB je regulátor, takže je to zdaleka nejjednodušší způsob, jak jej napájet.
Krok 2: Počáteční kroky ke stavbě…
Věřím, že objektiv se používá pro automobily, možná domácí osvětlení. Nejsem si jistý - přichází však bez LED. Jednou z prvních věcí, které jsem udělal, bylo zajistit, aby s ním štít WS2812 dokonce fungoval - použil jsem gumičku, abych držel všechny části pohromadě - fungovalo to - ale nebylo to skvělé. Byl jsem schopen spustit nějaký testovací kód a vytvořit několik různých efektů.
Později jsem se rozhodl přidat zrcátko - líbí se mi to, ale nakonec to stále nebylo úplně to, co jsem hledal, a bylo těžké zabránit tomu, aby zrcátko sklouzlo.
Jak můžete také v jednom okamžiku vidět, chtěl jsem použít kartonovou krabici - opravdu jsem nebyl spokojen s tím, jak to vypadalo. nebylo to čisté, ale říkalo to, že opravdu potřebuji něco vyřezat laserem.
Většinou jsem si právě uvědomil, že moje původní myšlenka, že potřebuji něco snížit, je správná!
Krok 3: Laserové řezání kostky a malování
Díky mým přátelům z Rabbit Laser, USA - jsem mohl získat kostku. Celé to trvalo méně než 5 minut. Věřím, že jsme používali 60 wattový laser na 60% výkonu, a věřím, že jsme to zpomalili, aby to mohlo o něco lépe oříznout okraje.
Pokud nemáte přátele s laserovými řezačkami, zkuste se podívat do výrobních prostor nebo dokonce do veřejných knihoven. Mnoho z nich má laserové stroje. Knihovny zde účtují pouze poplatek za použitý materiál. Některé knihovny jsou zcela zdarma k použití, pokud si přinesete vlastní materiál. Jsou to skvělé zdroje pro tvůrce s rozpočtem. Získání laserového času je další příběh a někdy musíte být na čekací listině.
Pro mě nebylo moc potřeba na čištění hrubých hran nebo něčeho podobného. Pravděpodobně jsem mohl/měl jsem kousky trochu obrousit - ale ne.
Provedl jsem hrubé osazení, abych se ujistil, že všechny díly budou pasovat. a rozložil jim větší kus lepenky.
Vnitřky jsem očísloval, takže jsem mohl dát kostku zpět dohromady později - realita je taková, že 4 dílky jsou stejné a 2 různé (nahoře a dole), 4 stejné tvoří strany - z těchto 4 v jednom je pro objektiv vyříznut 2palcový otvor. Věřím, že po očíslování kusů bylo jednodušší dát to dohromady - to není 100% potřeba.
Obrátil jsem kousky a nanesl na ně vrstvu ploché černé barvy.
Opakoval jsem malování kousků ještě třikrát, pokaždé jsem čekal, než kabát uschne.
Krok 4: Lepte kostku dohromady…
Po několika hodinách nechat barvu zaschnout - slepil jsem dno a tři strany dohromady.
Nepoužil jsem k tomu žádné svorky - a držel jsem kousky pohromadě rukou, dokud lepidlo dostatečně nevyschlo, aby je udrželo - netrvalo to dlouho, možná 5 nebo 6 minut. Myslím, že by bylo lepší použít svorky - ale pro tento projekt jsem neměl dost velké. Bylo tedy příjemné vědět, že to držení funguje.
Přišlo mi jednodušší jednoduše nalepit lepidlo na vnitřní stranu krabice ve švech, prstem jsem zatlačil lepidlo tam, kde bylo potřeba.
Tyto části jsem odložil, aby lepidlo zaschlo …
Krok 5: Nasazení objektivu a elektroniky do otvoru…
Zatímco jsem čekal, až polovina mé kostky uschne, Vyvrtal jsem několik malých otvorů do čtyř rohových částí rámečku objektivu, které neměly otvory. Proč byste se mohli ptát - Otvory v obrubě jsou velké, opravdu příliš velké. Potřeboval jsem použít velmi malé šrouby, aby nešly celou cestou přes dřevo (nevystrkovaly se z druhé strany). Takže bylo téměř jednodušší udělat si vlastní díry. Rámeček je docela tenký kov a vrtání moc nezabralo.
V tu chvíli jsem také ohnul několik větších otvorů - pomocí nich budu držet elektroniku víceméně na místě.
Šel jsem dopředu a nasadil rámeček objektivu na místo. A zašrouboval to několika velmi malými šrouby - zatím jděte.
Našel jsem pár chlebových/drátěných kravat a dal je na jeden z otvorů, které jsem ohnul. Vložil jsem LENy do obruby a umístil zadní kryt přes LENS. Na zadní kryt jsem umístil malý kousek hedvábného papíru (nalezený v krabici, ve které byly nové boty) - a na to jsem položil desku WS2812. Pomocí drátěných pásků jej držte na místě. Poté jsem dal D1 mini na WS2812.
Po chvíli a k mému potěšení se WS2812 a hedvábný papír dostaly do zadního krytu - WS2812 je opravdu jen trochu malý pro otvor na zadním krytu, takže to nebylo překvapení.
Překvapením bylo, jak dobře vypadal „OČI“s hedvábným papírem uvnitř. Z toho překvapení jsem měl opravdu radost.
Odložil jsem to a čekal, až ostatní moje kusy uschnou - netrvalo to dlouho, možná půl hodiny, možná hodinu.
Krok 6: Lepidlo v oku…
Tuto část jsem nevyfotil -(Bad me)
Každopádně, když bylo lepidlo většinou suché, nasadil jsem přední část (oko) na místo (s elektronikou, která už v něm byla).
Protože teď byly všechny strany na krabici, bylo trochu těžší dostat se do lepidla, ale nebylo to špatné. Opět jsem pomocí prstů dostal lepidlo tam, kam jsem chtěl, a rozetřel ho přes spoje.
Tentokrát jsem to musel držet na místě o něco déle - nejsem si jistý, proč asi 10 nebo 15 minut lepidlo dostatečně zaschlo, aby krabici odložilo a nechalo schnout.
* Možná se ptáte na vrchol
Nechal jsem tedy vrchní část (a nelepenou), takže kdybych potřeboval změnit nebo přidat nebo dát do krabice jinou elektroniku, mohl bych to udělat snadno. Vrchol se zvedne a všechno je tam hezké.
Nový/lepší design může být pro odklápěcí horní nebo sklopnou stranu, ale já jsem spokojený s tím, jak kostka dopadla.
Krok 7: D1 Mini Programování
Než budeme moci začít programovat D1 Mini, existuje několik požadavků.
Žádný z těchto kroků není těžký … ale je třeba je udělat.
Nejprve musíme nainstalovat desky ESP8266 do Správce desek Arduino. Postupujte podle pokynů zde:
Pokud jste již nainstalovali desky ESP8266, můžete tento krok přeskočit.
Nyní musíme nainstalovat knihovnu Adafruit_Neopixel
Asi nejjednodušší způsob, jak to udělat, je od správce knihovny v IDE Arduino 1.6.5 a novějších
Otevřete správce knihovny a do vyhledávacího bloku zadejte adafruit a neopixel.
Opět platí, že pokud to chcete, můžete to přeskočit.
Výše uvedené je společné pro náčrty, které jsem k tomu vytvořil.
V závislosti na tom, co nebo jak chcete použít „Erica“, bude záviset na tom, co je třeba nainstalovat nyní.
(Pravděpodobně byste měli nainstalovat obě tyto knihovny jen proto, ale ….)
Pokud chcete použít verzi MQTT (Tato verze se přihlašuje ke streamu MQTT v rozjasňovači) - Změní barvu LED WS2812 podle Cheerlight. * Cheerlights jsou projekt IoT vytvořený Hansem Scharlerem, který umožňuje lidem na celém světě synchronizovat do jedné barvy tweetováním #cheerlights *
Cheerlights jsem použil v řadě svých projektů. Díky streamu MQTT se projekty snadněji vytvářejí.
Pro tuto verzi potřebujete knihovnu PubSubClient.
Jsem si docela jistý, že tato knihovna je také ve správci knihovny.
Moje další skici používají IFTTT a Dweet.io - Jsou trochu jiné, když žádám domovskou stránku Google, aby změnila Ericovy nálady nebo režimy.
K použití dweet skic potřebujete knihovnu arduino-dweet.io-https://github.com/quentinpigne/arduino-dweet.io Toto je starší knihovna (2015) a téměř určitě NENÍ ve správci knihovny. Musíte jej tedy nainstalovat ručně. Existuje několik způsobů, jak to udělat - dávám přednost stahování souborů, rozbalení a přejmenování (odstranění -master), přetažení složky do složky mých knihoven. Možná budete muset restartovat IDE tímto způsobem.
Vím, že je to spousta kroků, a existuje jednodušší způsob - z IDE můžete kliknout na kartu Skica, jít dolů a zahrnout knihovnu a kliknout na Přidat knihovnu. ZIP - najděte svůj stažený soubor, a to by mělo být.
Nevím, proč se mi nikdy nelíbilo instalovat takové knihovny - ale je to jednoduché.
Nyní, když máte potřebné knihovny, můžeme naprogramovat naši D1 mini.
Nakonec můj kód najdete zde:
Krok 8: Skici MQTT…
Co je MQTT? MQTT je zkratka pro MQ Telemetry Transport. Jedná se o extrémně jednoduchý a lehký protokol pro zasílání zpráv publikování/přihlášení k odběru, navržený pro omezená zařízení a sítě s nízkou šířkou pásma, vysokou latencí nebo nespolehlivými sítěmi. Principy návrhu jsou minimalizovat požadavky na šířku pásma sítě a prostředky zařízení a současně se snažit zajistit spolehlivost a určitý stupeň zajištění dodávky. Díky těmto zásadám je také protokol ideální pro vznikající svět připojených zařízení „stroj na stroj“(M2M) nebo „internet věcí“a pro mobilní aplikace, kde je šířka pásma a kapacita baterie na prvním místě.
mqtt.org/faq
Jinými slovy, moje zařízení se přihlásí k odběru nebo poslouchá něco, co jiné zařízení publikuje.
Jeden kus kódu, který je vhodné použít pro MQTT, je
uint32_t chipid = ESP.getChipId (); char clientid [25]; snprintf (clientid, 25, "EricBotAI-%08X", chipid);
Co to dělá, je vytvořit jedinečný název zařízení pro brokera MQTT, k tomu používá část MAC adresy ESP8266. Zatímco je to 100% záruka, že bude jedinečný, zatím se zdá, že fungoval.
Jinak je zbytek kódu docela přímočarý, posloucháme barvu od brokera MQTT, zkontrolujeme, zda je to platná barva - nastavíme neopixel na tuto barvu a začneme proces znovu.
K tomu, co děláme, se používá veřejný makléř a žádný typ zabezpečení - to je v pořádku pro to, co děláme, ale nemusí být dobré pro některé projekty.
Zahrnuty jsou tři skici MQTT a všechny dělají téměř totéž - největší rozdíl je v tom, jak zobrazují barvy z Cheerlights.
Jeden zobrazuje barvu rychlým blikáním (viz video zveřejněné dříve) Je to téměř stroboskopické (ericbotai_neopixel_mqtt) - v minulosti jsem pro své halloweenské projekty použil stejný typ rychlého blikání a efekt je velmi dobrý (pro ty) - pro tento projekt to však není tak dobré.
Jeden pouze zobrazí plnou barvu - a pouze se změní (pokud ztratí MQTT) nebo pokud se barva změní. (ericbotai_neopixel_mqtt_solid_color).
Pravděpodobně mám ze všech tří nejraději Breathe Effect - ten vezme barvu a ztlumí ji k ničemu a pomalu ji uvede do plného jasu, je to úhledný efekt, který uvnitř kostky vypadá opravdu pěkně.
(ericbotai_neopixel_mqtt_breathe_effect)
Všechny tři jsou stejný náčrt s několika změnami pro každý „efekt“.
Krok 9: Google Home, IFTTT a Dweet.io Skicches…
Nejprve tedy začněme tím, že tyto náčrty nejsou tak stabilní, jak bych chtěl.
A i když jsem zahrnul časové funkce hlídacího psa a funkce výnosu, stále se mi zobrazují náhodné chyby WDT - zdá se, že když sedí na jedné barvě kdykoli. Opravdu jsem neměl příliš štěstí ani na přidání dalších funkcí WDT, ani na odstranění těch, které mám.
Jak již bylo řečeno, myšlenkou bylo, aby byl Eric trochu interaktivnější - pomocí funkce Moje domovská stránka Google/Google Assistant mohu říci „Ok Google Eric Angry mode“a nechat LED diodu přepnout z čehokoli na červenou.
Dweet.io je způsob, jakým je moje zpráva přenášena Ericovi - pokud nevíte, co je Dweet.io, klikněte na odkaz a podívejte se. Jednoduše řečeno, je to webové rozhraní API, které mohou zařízení publikovat nebo poslouchat. Každý hovor má svůj vlastní název zařízení. Je také zdarma k použití, což je velký bonus! Jelikož se jedná o webový hovor, je snadné nastavit IFTTT tak, aby jej používal.
dweet.io/dweet/for/ericcube?mood={{TextFie…
Kde bude {{TextField}}, co Google Home slyšel.
Pokud tedy vezmeme výše uvedený příklad „Ok, Google, naštvaný režim“- webový hovor by vypadal takto:
dweet.io/dweet/for/ericcube?mood=angry
Výstup API by vypadal jako tento řetězec JSON:
Skica Arduino - získá celý řetězec JSON - ale díky šikovné funkci nazvané „odebrat“jsme schopni většinu žebrání jednoduše odstranit. A pak odstraňte konec ….. Pravděpodobně existuje lepší způsob, jak odstranit konec, protože to, co skončilo šťastně, bylo, že jsem si nepřečetl stránku manuálu dostatečně blízko k „odstranění“a nyní je vše zkráceno na 6 znaků. Pokud tedy řeknete „normální“režim - stane se „norma“- to je v pořádku, na tom nezáleží - software se o to postará … ale stále to není správné:-)
Mohu tedy říci - „režim Eric naštvaný“a tím se LED rozsvítí ČERVENĚ, „režim Eric šťastný“nebo „normální režim Eric“a kontrolka LED bude MODRÁ, „režim skeneru Eric“a kontrolka LED bude ZELENÁ a prostě pro zábavu (A protože v jedné epizodě se Eric nabíjel a jeho LED zhasla) „Eric nabíjecí režim“nebo „Eric černý režim“a jeho LED zhasne.
A nakonec jen pro zábavu tu máme „režim Eric party“.
Existují dva náčrty, které používají Dweet.io, oba náčrty jsou téměř stejné. Jen efekty LED se mírně liší.
Nejsem však spokojen ani s jedním LED efektem (s výjimkou možná režimu party).
ericbotai_neopixel_pulse_effect_dweet používá víceméně stejný kód z náčrtu efektu dýchání - s mírně odlišným časováním (jak kvůli změnám náčrtu, tak funkcím WDT) - účinek je menší dýchání a více pulzní efekt.
ericbotai_neopixel_solid_color_dweet je do značné míry, jak se říká, zobrazuje barvy (plné) - režim party je disco efekt.
Efekty můžete přidávat nebo měnit, pamatujte, že odpovědi jsou dlouhé pouze 6 znaků.
V obou skicách - řádek 64 je místo, kde můžete změnit název „věci“, ale nezapomeňte také změnit webové volání na stejnou „věc“- pokud všichni používáme stejné jméno, můžeme si navzájem navzájem měnit „Eric“
Krok 10: Závěrečné myšlenky a několik dalších obrázků
Zde je několik dalších obrázků z mé stavby, které se nezdály vhodné nikde …
Jednu věc bych chtěl říci - nakonec jsem vyřízl malý zářez ze zadní části své krychle a spustil nabíječku/kabel v tomto zářezu pro napájení - celkově to kostce neubírá - ale měl jsem Věděl jsem, že se chystám udělat, že bych byl rád, kdyby to bylo vyříznuto laserem.
Moje luneta je také trochu jiná - moje luneta skončila v jedné rovině s krabicí - nemyslím si, že to vypadá špatně - a je to dobrý způsob, jak to říci - inspirovala jsem se, ale nebyla to přímá kopie „Erica“
Mám v plánu přidat MP3 přehrávač s některými „Ericovými“slovy moudrosti…. To se vám nemusí stát příliš rychle - nenašel jsem žádné nahrávky „Erica“, takže si budu muset vytvořit vlastní.
Konečně, s využitím MQTT nebo Dweet možnost vytvořit z toho systém upozornění na ploše (jako barva pro tweet nebo různé barvy pro počasí ráno atd.) Nemělo by být příliš těžké vzít nějaký základní kód a smíchat jej, aby vznikly všechny skvělé věci.
A opravdu konečně - vidím, že možná vyrábím nástěnný displej HAL 9000 pomocí stejného objektivu a mírně odlišného programování.
Doporučuje:
E-Ink: Moon / ISS / People in Space : 6 kroků
E-Ink: Moon / ISS / People in Space …: Měl jsem HAT Raspberry a e-Paper a chtěl jsem pomocí nich ukázat informace jako kde je ISS nebo kolik lidí je nyní ve vesmíru .. .Prohlásil jsem, že se podívám, jestli na internetu existují API k získání těchto dat, a našel jsem je. OK, rozumím !!!! Počkejte
Jefferson-Inspired Daily Clock: Quarantine Edition: 5 kroků
Jefferson-Inspired Daily Clock: Quarantine Edition: V době publikování jsem byl třiatřicet dní uvězněn v karanténě související s COVID-19. Začínám přicházet bez lepku z normálního času - každý den vypadá jako ten poslední, s malým vlivem na mou paměť. Stručně řečeno, nemohu ev
Harvest Drawers - NASA Growing Beyond Earth Vstup do soutěže: 5 kroků (s obrázky)
Harvest Drawers - NASA Growing Beyond Earth Soutěž Vstup: Shrnutí: Na palubě mezinárodní vesmírné stanice nemají astronauti příliš prostoru pro pěstování jídla. Tato hydroponická zahrada je navržena tak, aby fungovala efektivně s využitím minimálního prostoru pro sklizeň 30 rostlin v rotačním plánu v nulové gravitaci
Lazy Clock for Lazy People!: 5 kroků
Líné hodiny pro líné lidi !: Za teplého a slunečného sobotního rána ležíte v posteli a sníte o všech sladkých věcech na světě. Najednou budík začne křičet, probodávat váš mozek a přinutit vás probudit se. Natáhnete ruku, abyste našli tlačítko odložení
Vedoucí robot s funkcí rozpoznávání hlasu: 7 kroků (s obrázky)
Vedoucí robot s funkcí rozpoznávání hlasu: Guiding Robot je mobilní robot, kterého jsme vytvořili, abychom vedli návštěvníky do různých oddělení v našem univerzitním kampusu. Dokázali jsme vyslovit několik předdefinovaných prohlášení a pohybovat se vpřed a vzad podle vstupního hlasu. Na naší škole máme t