Cuprins:

Supervizor Eric Inspired LED Cube (Oamenii Pământului): 10 pași (cu imagini)
Supervizor Eric Inspired LED Cube (Oamenii Pământului): 10 pași (cu imagini)

Video: Supervizor Eric Inspired LED Cube (Oamenii Pământului): 10 pași (cu imagini)

Video: Supervizor Eric Inspired LED Cube (Oamenii Pământului): 10 pași (cu imagini)
Video: Elon Musk Laughs at the Idea of Getting a PhD... and Explains How to Actually Be Useful! 2024, Iulie
Anonim
Supervizor Eric Inspired LED Cube (Oamenii Pământului)
Supervizor Eric Inspired LED Cube (Oamenii Pământului)
Supervizor Eric Inspired LED Cube (Oamenii Pământului)
Supervizor Eric Inspired LED Cube (Oamenii Pământului)
Supervizor Eric Inspired LED Cube (Oamenii Pământului)
Supervizor Eric Inspired LED Cube (Oamenii Pământului)

Cine sau ce este supervizorul Eric - și de ce ați construi acest lucru.

Supervizorul Eric este un BOX sau Cube sau ceva din emisiunea TBS „People of Earth”.

Care este un mic spectacol amuzant despre oameni care sunt răpiți de extratereștri - în cea mai mare parte extratereștrii sunt cam idioți. Cred că la începutul sezonului doi, un cub zburător pe nume Eric a preluat misiunea extraterestră - El este cunoscut sub numele de Supervizor Eric. Nu este foarte clar dacă el este o ființă din interiorul cubului, un A. I., sau doar ce este. Eric are propria sa agendă și chiar spală creierul membru al grupului de sprijin pentru răpire, dar aceasta este o altă poveste.

L-am văzut pe Eric și m-am gândit că este cam îngrijit - și ar fi foarte simplu să creezi unul - Așa că am făcut unul.

Din păcate, nu există o mulțime de informații despre el - așa că trebuie să merg cu acest lucru, inspirat de un fan "Supervisor Eric" - Al meu nu zboară și nu va zbura niciodată (sunt destul de sigur că oricum au fost doar efecte speciale în spectacol.)

De asemenea, nu știu cât de mare este - presupun că este de aproximativ 7 "cub cu aproximativ 3" ochi. Construcția mea sa dovedit a fi de aproximativ 5 "cub, cu aproximativ 2" ochi.

Am folosit un controler WeMos D1 Mini, cu LED WS2812 - acest lucru îmi oferă posibilitatea de a schimba culoarea ochiului.

În emisiune am văzut până acum trei ochi de culoare diferită - Albastru, care pare a fi culoarea sa normală, roșu care apare atunci când este la înălțime sau este supărat sau supărat și verde atunci când face o scanare a ceva.

Pentru una dintre schițele pe care le-am făcut - am expresiile sale, o altă schiță pe care o folosesc MQTT și obțin culoarea cheerlights din twitter. De asemenea, am creat un applet IFTTT care îmi permite să folosesc Google Home / Asistentul Google pentru a-i schimba starea de spirit - folosind dweet.io - Mai jos vor fi mai multe despre acest lucru.

Pasul 1: Instrumente și piese necesare …

Unelte și piese necesare …
Unelte și piese necesare …
Unelte și piese necesare …
Unelte și piese necesare …
Unelte și piese necesare …
Unelte și piese necesare …

Hardware-ul pentru acest proiect este foarte simplu - pentru electronice vor fi necesare câteva abilități de lipire de bază.

1 set Cupă reflector lentilă de sticlă de 44 mm și cadru fix pentru lentile LED 20W-100W fierbinți 2,60 USD

WS2812B RGB Shield pentru WeMos D1 Mini 1,75 USD

WeMos D1 Mini ModeMCU 4M Placă de dezvoltare WiFi ESP8266 3,40 USD

Avem nevoie de un cub de 5 "(12,7cm) - Grosimea este de aproximativ 1/8". (aproximativ 3,175 mm).

Am încercat la început o cutie de carton de 7 , dar am ajuns să tai cu laser o placă MDF. Fișierul dfx este inclus în depozitul meu github.

De asemenea, am folosit niște hârtie de țesut pentru a acoperi scutul WS2812.

Faceți cumpărături puțin, acestea pot fi sau nu cele mai bune prețuri, eBay, Aliexpress și chiar Amazon au unele dintre cele mai bune prețuri.

Alte lucruri de care s-ar putea să aveți nevoie -

Vopsea pulverizată neagră, lipici pentru lemn, hârtie de nisip și fișier mic.

De asemenea, veți avea nevoie de niște șuruburi mici pentru lemn.

Unele instrumente necesare - lipitor, șurubelniță, pila, clește pentru nas.

Accesul la o presă de găurit mică (sau burghie mică), tăietor cu laser sau mașină cnc va face lucrurile mult mai ușoare pentru a finaliza acest proiect.

Pentru putere

Ideea mea inițială era să folosesc o baterie mică - nu se potrivea, așa că am ajuns să fac o mică gaură în spate și am folosit un încărcător vechi de telefon mobil pentru alimentare.

Un acumulator mic (poate 18650) poate funcționa, D1 mini este un controler de 3 volți - deci trebuie să urmăriți ce pini folosiți pentru alimentare. Există un regulator pe conectorul USB, astfel încât acesta este de departe cel mai simplu mod de a-l alimenta.

Pasul 2: Pași timpurii pentru construirea …

Primii pași către construirea …
Primii pași către construirea …
Primii pași către construirea …
Primii pași către construirea …
Primii pași către construirea …
Primii pași către construirea …
Pașii timpurii pentru construirea …
Pașii timpurii pentru construirea …

Cred că obiectivul este folosit pentru mașini, poate iluminarea casei. Nu sunt sigur - totuși nu are LED-uri. Deci, unul dintre primele lucruri pe care le-am făcut a fost să mă asigur că scutul WS2812 va funcționa chiar și cu el - am folosit o bandă de cauciuc pentru a ține toate părțile împreună - a funcționat - dar nu a fost grozav. Am reușit să rulez un cod de test și să produc efecte diferite.

Mai târziu, am decis să adaug o oglindă - îmi place, dar în cele din urmă încă nu era chiar ceea ce căutam și a fost greu să împiedic alunecarea oglinzii.

După cum puteți vedea, la un moment dat, pur și simplu aveam să folosesc o cutie de carton - nu eram într-adevăr mulțumit de aspectul acesta. nu era curat, dar spunea că într-adevăr trebuie să am ceva tăiat cu laser.

Cea mai mare parte din asta tocmai îmi dădeam seama că ideea mea inițială de a avea nevoie de ceva tăiat era corectă!

Pasul 3: Decupați cu laser cubul și vopsiți

Tăiați cubul cu laser și vopsiți!
Tăiați cubul cu laser și vopsiți!
Tăiați cubul cu laser și vopsiți!
Tăiați cubul cu laser și vopsiți!
Tăiați cubul cu laser și vopsiți!
Tăiați cubul cu laser și vopsiți!

Mulțumită prietenilor mei de la Rabbit Laser, SUA - am putut să tai cubul. Întregul lucru a durat mai puțin de 5 minute. Cred că foloseam un laser de 60 de wați la o putere de 60% și cred că l-am încetinit pentru a putea tăia marginile un pic mai bine.

Dacă nu aveți prieteni cu tăietori cu laser, încercați să căutați spații pentru producători sau chiar biblioteci publice. Mulți au mașini cu laser, bibliotecile din jur percep doar pentru materialul folosit. Unele biblioteci sunt complet gratuite de utilizat dacă vă aduceți propriul material. Acestea sunt resurse excelente pentru producătorii cu buget. Cu toate acestea, obținerea timpului cu laser este o altă poveste și, uneori, trebuie să fii pe o listă de așteptare.

Pentru mine nu era nevoie de mult în ceea ce privește curățarea marginilor aspre sau ceva de genul acesta. Probabil aș fi putut / ar fi trebuit să șlefuiesc puțin piesele - dar nu.

Am făcut o potrivire aspră, pentru a mă asigura că toate piesele se potrivesc. și le-a întins o bucată de carton mai mare.

Am numerotat interiorul, așa că aș putea pune cubul la loc mai târziu - Realitatea este că 4 dintre piese sunt aceleași și 2 sunt diferite (sus și jos) cele 4 care sunt aceleași formează laturile - din aceste 4 unul are o gaură de 2 inchețate pentru obiectiv. Cred că a fost mai ușor să-l strâng după ce am numerotat piesele - acest lucru nu este 100% necesar.

Am răsturnat bucățile și le-am aplicat un strat de vopsea neagră.

Am repetat pictura pieselor de încă trei ori, de fiecare dată când am așteptat haina înainte să se usuce.

Pasul 4: lipiți cubul împreună …

Lipiți cubul împreună …
Lipiți cubul împreună …
Lipiți cubul împreună …
Lipiți cubul împreună …
Lipiți cubul împreună …
Lipiți cubul împreună …
Lipiți cubul împreună …
Lipiți cubul împreună …

După câteva ore de lăsat vopseaua să se usuce - am lipit fundul și trei dintre părți împreună.

Nu am folosit cleme pentru acest lucru - și am ținut piesele împreună cu mâna până când lipiciul s-a uscat suficient pentru a le ține - nu a durat mult, poate 5 sau 6 minute. Cred că ar fi fost mai bine să folosesc cleme, dar nu am avut suficient de mare pentru acest proiect. Deci, a fost plăcut să știu că deținerea a funcționat.

Mi s-a părut mai ușor să așez lipici pe interiorul cutiei la cusături, mi-am folosit degetul pentru a împinge lipiciul acolo unde trebuia să fie.

Am lăsat aceste părți deoparte pentru a lăsa lipiciul să se usuce …..

Pasul 5: Punerea obiectivului și a componentelor electronice în gaură…

Punerea obiectivului și a componentelor electronice în gaură…
Punerea obiectivului și a componentelor electronice în gaură…
Punerea obiectivului și a componentelor electronice în gaură…
Punerea obiectivului și a componentelor electronice în gaură…
Punerea obiectivului și a componentelor electronice în gaură…
Punerea obiectivului și a componentelor electronice în gaură…

În timp ce așteptam să se usuce jumătate din cub, Am forat câteva găuri mici, în cele patru bucăți de colț ale cadrului obiectivului care nu aveau găuri. De ce s-ar putea să întrebați - Găurile care sunt în cadru sunt mari, într-adevăr prea mari. Trebuia să folosesc șuruburi foarte mici, astfel încât să nu meargă până la capăt, totuși din lemn (fără să se scufunde din cealaltă parte). Așadar, a fost aproape mai ușor să-mi fac propriile găuri. Rama este din metal destul de subțire și nu a necesitat prea mult pentru a găuri.

De asemenea, în acest moment am îndoit câteva găuri mai mari - le voi folosi pentru a menține electronicele mai mult sau mai puțin la locul lor.

Am mers înainte și am pus rama obiectivului la locul său. Și l-am înșurubat cu niște șuruburi foarte mici - până acum.

Am găsit câteva legături de pâine / sârmă și le-am pus pe una dintre găurile pe care le-am aplecat. Am pus LEN-urile în cadru și am așezat capacul din spate peste LENS. Am așezat o bucată mică de hârtie de șervețel (găsită într-o cutie care avea o pereche nouă de pantofi) pe capacul din spate - și am pus placa WS2812 deasupra. Folosind legăturile de sârmă, pentru a-l ține în poziție. Am pus apoi D1 mini pe WS2812.

După un timp și mult spre plăcerea mea, WS2812 și hârtia de șervețel au intrat în capacul din spate - WS2812 este într-adevăr puțin mic pentru deschiderea de pe capacul din spate, deci nu a fost o surpriză.

Ceea ce a fost o surpriză a fost cât de bine a făcut să arate „OCHIUL” cu hârtia de șervețel înăuntru. Am fost foarte fericit cu acea surpriză.

Am lăsat asta deoparte și am așteptat să se usuce celelalte bucăți ale mele - nu a durat mult, poate o jumătate de oră, poate o oră.

Pasul 6: lipici în ochi …

Image
Image
Lipici în ochi …
Lipici în ochi …
Lipici în ochi …
Lipici în ochi …

Nu am făcut nicio poză cu această parte - (Bad me)

Oricum, după ce lipiciul a fost în cea mai mare parte uscat, am pus partea din față (ochiul) în poziție (cu electronica deja în ea).

Din moment ce toate laturile erau pe cutie acum, a fost puțin mai greu să introduci adezivul, dar nu a fost rău. Din nou, mi-am folosit degetele pentru a obține adezivul acolo unde am dorit-o și l-am întins peste articulații.

De data aceasta a trebuit să-l țin destul de mult timp în loc - nu sunt sigur de ce, poate să aibă 10 sau 15 minute adezivul suficient pentru a lăsa cutia și a-l lăsa să se usuce.

* S-ar putea să întrebați despre partea de sus

Așa că am lăsat partea de sus (și lipită), astfel încât, dacă trebuie să schimb sau să adaug, sau să pun diferite electronice în cutie, aș putea să o fac ușor. Vârful se ridică și totul este frumos acolo.

Un design nou / mai bun ar putea fi pentru un vârf articulat sau o parte articulată, dar sunt mulțumit de felul în care a ieșit cubul.

Pasul 7: Mini programare D1

Mini programare D1
Mini programare D1
Mini programare D1
Mini programare D1
Mini programare D1
Mini programare D1
Mini programare D1
Mini programare D1

Există câteva cerințe înainte să putem începe să programăm D1 Mini.

Niciunul dintre acești pași nu este greu … dar trebuie făcut.

În primul rând, trebuie să instalăm plăcile ESP8266 în Arduino Board Manager. Pentru aceasta, urmați instrucțiunile găsite aici:

Dacă ați instalat deja plăcile ESP8266, puteți sări peste acest pas.

Acum trebuie să instalăm biblioteca Adafruit_Neopixel

Probabil cel mai simplu mod de a face acest lucru este de la managerul de bibliotecă din Arduino 1.6.5 și mai târziu IDE-uri

Deschideți managerul de bibliotecă și în blocul de căutare tastați adafruit și neopixel.

Din nou, dacă sunteți gata să faceți acest lucru, puteți sări peste asta.

Cele de mai sus sunt comune schițelor pe care le-am făcut pentru aceasta.

În funcție de ce sau cum doriți să utilizați „Eric”, va depinde de ceea ce trebuie instalat acum.

(Probabil ar trebui să instalați ambele biblioteci doar pentru că, dar …)

Dacă doriți să utilizați versiunea MQTT (Această versiune se abonează la un flux MQTT cheerlights) - Va schimba culoarea LED-ului WS2812 în funcție de Cheerlight. * Cheerlights este un proiect IoT creat de Hans Scharler care permite oamenilor lumini din întreaga lume să se sincronizeze cu o singură culoare prin tweeting #cheerlights *

Am folosit Cheerlights în mai multe dintre proiectele mele. Datorită fluxului MQTT, proiectele au devenit mai ușor de realizat.

Pentru această versiune aveți nevoie de biblioteca PubSubClient.

Sunt destul de sigur că această bibliotecă se află și în managerul de bibliotecă.

Celelalte schițe ale mele folosesc IFTTT și Dweet.io - Acestea sunt puțin diferite deoarece cer Google Home să schimbe Modurile sau Modurile lui Eric.

Pentru a utiliza schițele trebuie să aveți nevoie de biblioteca arduino-dweet.io - https://github.com/quentinpigne/arduino-dweet.io Aceasta este o bibliotecă mai veche (2015) și aproape sigur NU ESTE în managerul bibliotecii. Deci, trebuie să-l instalați manual. Există câteva modalități de a face acest lucru - prefer, descărcarea fișierelor, dezarhivarea și redenumirea (eliminarea -master), tragerea folderului în folderul bibliotecilor mele. Este posibil să trebuiască să reporniți IDE în acest fel.

Știu că sunt mulți pași și există o modalitate mai simplă - Din IDE puteți face clic pe fila Sketch, coborâți pentru a include biblioteca și faceți clic pe Adăugați bibliotecă. ZIP - găsiți fișierul descărcat și acesta ar trebui să fie.

Nu știu de ce nu mi-a plăcut niciodată să instalez astfel de biblioteci - dar este simplu.

Acum, că aveți bibliotecile necesare, putem programa programul nostru D1 mini.

În cele din urmă, codul meu poate fi găsit aici:

Pasul 8: Schițele MQTT…

Schițele MQTT…
Schițele MQTT…
Schițele MQTT…
Schițele MQTT…
Schițele MQTT…
Schițele MQTT…

Ce este MQTT? MQTT înseamnă MQ Telemetry Transport. Este un protocol de mesagerie de publicare / abonare, extrem de simplu și ușor, conceput pentru dispozitive restricționate și rețele cu lățime de bandă redusă, latență ridicată sau nesigure. Principiile de proiectare sunt de a minimiza lățimea de bandă a rețelei și cerințele de resurse ale dispozitivului, încercând totodată să asigure fiabilitatea și un anumit grad de asigurare a livrării. Aceste principii se dovedesc a face, de asemenea, protocolul ideal al lumii emergente „de la mașină la mașină” (M2M) sau „Internetul obiectelor” al dispozitivelor conectate și pentru aplicațiile mobile în care lățimea de bandă și puterea bateriei sunt la un nivel superior.

mqtt.org/faq

Cu alte cuvinte, dispozitivul meu se abonează sau ascultă ceva ce publică un alt dispozitiv.

O bucată de cod la îndemână pentru MQTT este

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

Ceea ce face este să facă un nume de dispozitiv unic pentru brokerul MQTT, acesta folosește o parte din adresa MAC ESP8266 pentru a face acest lucru. În timp ce acest lucru este 100% garanție a fi unic, până acum pare să fi funcționat.

În caz contrar, restul codului este destul de simplu, ascultăm o culoare de la brokerul MQTT, verificăm dacă este o culoare validă - setăm neopixelul la acea culoare și începem procesul din nou.

Pentru ceea ce facem, se folosește un broker public și nu există niciun tip de securitate - este bine pentru ceea ce facem, dar s-ar putea să nu fie bun pentru unele proiecte.

Există trei schițe MQTT incluse și toate fac aproape același lucru - cea mai mare diferență este modul în care afișează culorile din Cheerlights.

Unul afișează culoarea cu clipire rapidă (vezi videoclipul postat mai devreme) Este aproape stroboscopic ca (ericbotai_neopixel_mqtt) - Am folosit același tip de clipire rapidă pentru proiectele mele de Halloween din trecut, iar efectul este foarte bun (Pentru aceia) - Cu toate acestea, nu este atât de bun pentru acest proiect.

Se afișează doar culoarea solidă și se schimbă numai (dacă pierde MQTT) sau dacă culoarea s-a schimbat. (ericbotai_neopixel_mqtt_solid_color).

Probabil că preferatul meu dintre cele trei este Efectul de respirație - aceasta ia culoarea și o estompează în nimic și o aduce încet la luminozitate maximă, este un efect îngrijit care arată foarte frumos în interiorul cubului.

(ericbotai_neopixel_mqtt_breathe_effect)

Toate cele trei sunt aceeași schiță, cu doar câteva modificări pentru fiecare „efect”.

Pasul 9: Google Home, IFTTT și Sketches Dweet.io…

Image
Image
Gânduri finale și câteva alte imagini!
Gânduri finale și câteva alte imagini!

Deci, mai întâi, să începem prin a spune că aceste schițe nu sunt la fel de stabile pe cât aș vrea să fie.

Și chiar dacă am inclus funcțiile de timp ale câinelui de pază și funcțiile de randament, totuși primesc erori WDT aleatorii - se pare că atunci când stau pe o singură culoare pentru orice moment. Nu am avut prea mult noroc fie cu adăugarea mai multor funcții WDT, fie cu eliminarea celor pe care le am.

Acestea fiind spuse, ideea a fost să-l fac pe Eric un pic mai interactiv - Folosind My Google Home / Google Assistant, pot să spun „Ok Google Eric Angry mode” și să am LED-ul de la orice la roșu.

Dweet.io este modul în care mesajul meu este transmis către Eric - dacă nu știți ce este Dweet.io, asigurați-vă că dați clic pe link și verificați-l. În termeni simpli, este un API web pe care dispozitivele îl pot publica sau asculta. Fiecare apel are propriul nume de dispozitiv. De asemenea, este gratuit, care este un mare bonus! Deoarece este un apel web, este ușor să configurați IFTTT pentru al utiliza.

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

Unde {{TextField}} va fi ceea ce a auzit Google Home.

Așadar, dacă luăm exemplul de mai sus „Ok Google Eric mode furios” - Apelul web ar arăta astfel:

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

Ieșirea API ar arăta ca acest șir JSON:

Schița Arduino - obține întregul șir JSON - dar datorită unei funcții la îndemână numită „eliminați”, putem elimina doar cea mai mare parte a cerșetoriei. Și apoi eliminați finalul … Probabil că există o modalitate mai bună de a elimina finalul, pentru că ceea ce a ajuns să fie fericit a fost că nu am citit pagina de manual suficient de aproape pentru a „elimina” și acum totul este trunchiat la 6 caractere. Deci, dacă spui modul „normal” - devine „normă” - este bine, nu contează cu adevărat - software-ul se ocupă de el … dar tot nu este corect:-)

Așa că pot spune - „modul Eric angry” și acest lucru va transforma LED-ul în ROȘU, „modul Eric happy” sau „Eric normal mode”, iar LED-ul va fi ALBASTRU, „Eric scaner mode” și LED-ul va deveni VERZ, și doar pentru distracție (Și pentru că într-un episod, Eric a încărcat și LED-ul său s-a stins) „Eric charge mode” sau „Eric black mode” și LED-ul său se va stinge.

Și, în sfârșit, doar pentru distracție, avem „modul de petrecere Eric”.

Există două schițe care utilizează Dweet.io ambele schițe sunt cam la fel. Doar efectele LED sunt ușor diferite.

Cu toate acestea, nu sunt mulțumit de niciun efect LED (cu excepția modului de petrecere).

ericbotai_neopixel_pulse_effect_dweet folosește mai mult sau mai puțin același cod din schița efectului respirație - cu temporizări ușor diferite (atât din cauza modificărilor schitei, cât și a funcțiilor WDT) - efectul este mai puțin respirație și mai mult un efect de impuls.

ericbotai_neopixel_solid_color_dweet este cam așa cum se spune, afișează culorile (solide) - modul petrecere este efectul disco.

Puteți adăuga sau modifica efectele, amintiți-vă că răspunsurile au doar 6 caractere.

În ambele schițe - linia 64 este locul în care puteți schimba numele „lucru”, nu uitați să schimbați și apelul web cu același „lucru” - dacă folosim cu toții același nume, putem schimba cu toții „Eric”

Pasul 10: Gânduri finale și câteva imagini în plus

Gânduri finale și câteva alte imagini!
Gânduri finale și câteva alte imagini!
Gânduri finale și câteva alte imagini!
Gânduri finale și câteva alte imagini!
Gânduri finale și câteva alte imagini!
Gânduri finale și câteva alte imagini!

Iată câteva alte imagini din versiunea mea care pur și simplu nu păreau să se potrivească nicăieri …..

Un lucru aș vrea să spun - am sfârșit prin a tăia o mică crestătură din partea din spate a cubului meu și am rulat încărcătorul / cablul în acea crestătură pentru putere - peste toate, acesta nu scade cubul - dar a avut Știam că voi face asta, aș fi vrut să-l decupez cu laser.

Rama mea este, de asemenea, puțin diferită - rama mea a ajuns să fie la același nivel cu cutia - nu cred că arată așa rău - și este o modalitate bună de a spune - am fost inspirat, dar nu o copie directă a „Eric”

Plănuiesc să adaug un MP3 player cu câteva dintre cuvintele de înțelepciune ale lui "Eric … care s-ar putea să nu se întâmple foarte repede tu - nu am găsit nicio înregistrare a lui" Eric ", așa că va trebui să le fac propriile mele.

În cele din urmă, cu utilizarea MQTT sau Dweet, posibilitatea de a face acest lucru un sistem de notificare desktop, (cum ar fi o culoare pentru un tweet sau diferite culori pentru vremea de dimineață, ect). Nu ar trebui să fie prea greu să luați o parte din codul de bază și să-l amestecați pentru a face tot felul de lucruri interesante.

Și, într-adevăr, în sfârșit - pot vedea realizarea unui afișaj de perete HAL 9000 folosind același LENS și o programare ușor diferită.

Recomandat: