Sadržaj:

Nadzornik Eric Nadahnuta LED kocka (Ljudi na Zemlji): 10 koraka (sa slikama)
Nadzornik Eric Nadahnuta LED kocka (Ljudi na Zemlji): 10 koraka (sa slikama)

Video: Nadzornik Eric Nadahnuta LED kocka (Ljudi na Zemlji): 10 koraka (sa slikama)

Video: Nadzornik Eric Nadahnuta LED kocka (Ljudi na Zemlji): 10 koraka (sa slikama)
Video: Часть 7. Аудиокнига «Джунгли» Эптона Синклера (главы 26–28) 2024, Studeni
Anonim
Nadzornik Eric Nadahnuta LED kocka (Ljudi na Zemlji)
Nadzornik Eric Nadahnuta LED kocka (Ljudi na Zemlji)
Nadzornik Eric Nadahnuta LED kocka (Ljudi na Zemlji)
Nadzornik Eric Nadahnuta LED kocka (Ljudi na Zemlji)
Nadzornik Eric Nadahnuta LED kocka (Ljudi na Zemlji)
Nadzornik Eric Nadahnuta LED kocka (Ljudi na Zemlji)

Tko ili što je nadzornik Eric - i zašto biste to izgradili.

Supervizor Eric je BOX ili Cube ili nešto iz TBS emisije "People of Earth".

Što je smiješna mala emisija o ljudima koje su oteli vanzemaljci - vanzemaljci su uglavnom idioti. Mislim da je početkom druge sezone leteća kocka po imenu Eric preuzela misiju vanzemaljaca - Poznat je kao Nadzornik Eric. Nije stvarno jasno je li on biće unutar kocke, AI, ili samo ono što je to. Eric ima svoju agendu, pa čak i ispiranje mozga član grupe za podršku otmicama, ali to je druga priča.

Vidio sam Erica i pomislio da je to nekako uredno - i bilo bi jako jednostavno napraviti ga - pa sam ga napravio.

Nažalost, nema puno podataka o njemu - pa moram ići s ovim, navijačem inspiriranim "Supervizorom Ericom" - Moj ne leti i nikada neće letjeti (prilično sam siguran da su to ionako bili samo specijalni efekti.)

Također ne znam koliko je velika - pretpostavljam da je kocka od 7 "s oko 3". Pokazalo se da je moja građa oko 5 "kocke, s oko 2" okom.

Za kontroler sam koristio WeMos D1 Mini sa LED WS2812 - to mi daje mogućnost promjene boje oka.

U emisiji sam do sada vidio tri oči različite boje - plavu koja mu se čini kao normalna boja, crvenu koja se pojavljuje kad nešto namjerava ili je ljut ili ljut i zelena kada skenira nešto.

Za jednu od skica koje sam napravio - imam njegove izraze lica, za drugu skicu koristim MQTT i dobivam boju veselja s twittera. Napravio sam i IFTTT applet koji mi omogućuje korištenje Google Home/Google Assistant da promijenim njegovo raspoloženje - koristeći dweet.io - O tome će biti više riječi u nastavku.

Korak 1: Potrebni alati i dijelovi…

Potrebni alati i dijelovi…
Potrebni alati i dijelovi…
Potrebni alati i dijelovi…
Potrebni alati i dijelovi…
Potrebni alati i dijelovi…
Potrebni alati i dijelovi…

Hardver za ovaj projekt vrlo je jednostavan - za elektroniku će biti potrebne neke osnovne vještine lemljenja.

1 komplet 44 mm staklena reflektorska čaša i fiksni okvir za LED objektive od 20W-100W vruće 2,60 USD

WS2812B RGB štit za WeMos D1 Mini 1,75 USD

WeMos D1 Mini ModeMCU 4M WiFi razvojna ploča ESP8266 3,40 USD

Treba nam kocka od 12 "(12,7 cm) - Debljina je oko 1/8". (oko 3,175 mm).

Isprva sam isprobao kartonsku kutiju od 7 , ali na kraju sam laserski izrezao MDF ploču. Datoteka dfx je uključena u moje spremište za github.

Također sam upotrijebio papir za prekrivanje štita WS2812.

Kupujte malo, ovo su možda i ne najbolje cijene, eBay, Aliexpress, pa čak i Amazon imaju neke od najboljih cijena.

Neke druge stvari koje će vam možda trebati -

Ravna crna boja u spreju, ljepilo za drvo, brusni papir i mala turpija.

Također će vam trebati mali vijci za drvo.

Potrebni su neki alati - lemilica, odvijač, turpija, kliješta s iglastim nosem.

Pristup maloj bušilici (ili maloj bušilici), laserskom rezaču ili CNC stroju znatno će olakšati dovršetak ovog projekta.

Za Moć

Moja je prvotna ideja bila upotrijebiti malu bateriju - nije mi odgovarala pa sam na kraju napravio malu rupu na stražnjoj strani i za napajanje koristio stari punjač za mobitel.

Mala baterija (možda 18650) može raditi, D1 mini je 3 -voltni regulator - pa morate paziti koje iglice koristite za napajanje. Na USB priključku nalazi se regulator pa je to daleko najjednostavniji način napajanja.

Korak 2: Rani koraci do izgradnje…

Rani koraci do izgradnje…
Rani koraci do izgradnje…
Rani koraci do izgradnje…
Rani koraci do izgradnje…
Rani koraci do izgradnje…
Rani koraci do izgradnje…
Rani koraci do izgradnje…
Rani koraci do izgradnje…

Vjerujem da se Objektiv koristi za automobile, možda kućnu rasvjetu. Nisam siguran - dolazi s LED diodom. Tako da je jedna od prvih stvari koje sam učinio bio da osiguram da će štitnik WS2812 uopće raditi s njim - upotrijebio sam gumicu za držanje svih dijelova zajedno - radio je - ali nije bio sjajan. Uspio sam pokrenuti neki testni kod i proizvesti različite efekte.

Kasnije sam odlučio dodati ogledalo - sviđa mi se, ali na kraju ipak nije bilo baš ono što sam tražio, i bilo je teško spriječiti klizanje zrcala.

Kao što možete vidjeti i u jednom sam trenutku upravo namjeravao upotrijebiti kartonsku kutiju - stvarno nisam bio zadovoljan kako ovo izgleda. nije bio čist, ali je rekao da sam stvarno morao nešto laserski rezati.

Većinu toga sam tek shvatio da je moja prvotna ideja da mi treba nešto izrezati bila ispravna!

Korak 3: Lasersko izrežite kocku i obojite

Lasersko izrežite kocku i obojite!
Lasersko izrežite kocku i obojite!
Lasersko izrežite kocku i obojite!
Lasersko izrežite kocku i obojite!
Lasersko izrežite kocku i obojite!
Lasersko izrežite kocku i obojite!

Zahvaljujući mojim prijateljima u Rabbit Laseru, SAD - uspio sam izrezati kocku. Cijela stvar je trajala manje od 5 minuta. Vjerujem da smo koristili laser od 60 vata pri 60% snage i vjerujem da smo ga usporili kako bi mogao malo bolje rezati rubove.

Ako nemate prijatelja s laserskim rezačima, pokušajte pogledati prostore za izradu ili čak javne knjižnice. Mnogi imaju laserske strojeve. Knjižnice ovdje naplaćuju samo korišteni materijal. Neke knjižnice potpuno su besplatne za korištenje ako donosite vlastitu građu. Oni su velika sredstva za kreatore s ograničenim proračunom. Dobivanje laserskog vremena druga je priča, a ponekad morate biti na listi čekanja.

Za mene nije bilo potrebno mnogo u načinu čišćenja grubih rubova ili slično. Vjerojatno sam mogao/trebao malo brusiti komade - ali nisam.

Napravio sam grubu montažu kako bih se uvjerio da svi komadi odgovaraju. i izlagao im veći komad kartona.

Numerirao sam unutrašnjost pa sam kasnije mogao ponovno sastaviti kocku - stvarnost je da su 4 komada jednaka, a 2 različita (gornji i donji), 4 koja čine iste - ove 4 jedan ima izrezanu rupu od 2 inča za objektiv. Vjerujem da je bilo lakše sastaviti to nakon što sam numerirao komade - to nije 100% potrebno.

Preokrenula sam komade i na njih nanijela sloj ravne crne boje.

Ponovio sam slikanje komada još tri puta, svaki put kad sam čekao da se kaput osuši.

Korak 4: Zalijepite kocku zajedno…

Zalijepite kocku zajedno …
Zalijepite kocku zajedno …
Zalijepite kocku zajedno …
Zalijepite kocku zajedno …
Zalijepite kocku zajedno …
Zalijepite kocku zajedno …
Zalijepite kocku zajedno …
Zalijepite kocku zajedno …

Nakon nekoliko sati puštanja boje da se osuši - zalijepila sam dno i tri strane zajedno.

Nisam koristio nikakve stezaljke za to - i samo sam držao komade zajedno dok se ljepilo nije dovoljno osušilo da ih drži - nije trebalo dugo, možda 5 ili 6 minuta. Mislim da bi bilo bolje koristiti stezaljke - ali nisam imao dovoljno velike za ovaj projekt. Bilo je lijepo znati da je držanje uspjelo.

Bilo mi je lakše samo položiti ljepilo na unutarnju stranu kutije po šavovima, prstom sam gurnuo ljepilo tamo gdje je trebalo.

Odložio sam ove dijelove da se ljepilo osuši ….

Korak 5: Stavljanje objektiva i elektronike u rupu…

Stavljanje objektiva i elektronike u rupu…
Stavljanje objektiva i elektronike u rupu…
Stavljanje objektiva i elektronike u rupu…
Stavljanje objektiva i elektronike u rupu…
Stavljanje objektiva i elektronike u rupu…
Stavljanje objektiva i elektronike u rupu…

Dok sam čekao da se polovica moje kocke osuši, Izbušio sam neke male rupe u četiri kutna dijela okvira leće koji nisu imali rupe. Zašto biste se mogli zapitati - Rupe na okvirima su velike, zaista prevelike. Morao sam koristiti vrlo male vijke kako ne bi prošli do kraja kroz drvo (ne vire s druge strane). Tako je bilo gotovo lakše napraviti vlastite rupe. Okvir je prilično tanak metal i nije mu bilo potrebno mnogo bušenja.

Također sam u ovom trenutku savio nekoliko većih rupa - koristit ću ih za držanje elektronike manje -više na mjestu.

Nastavio sam i stavio okvir leće na mjesto. I zašrafio ga nekim vrlo malim vijcima - zasad.

Našao sam nekoliko veza za kruh/žicu i stavio ih na jednu od rupa koje sam savio. Stavio sam objektiv u okvir i stavio stražnji poklopac preko objektiva. Stavio sam mali komad papirnatog papira (nađen u kutiji u kojoj je bio novi par cipela) na stražnju koricu - i stavio ploču WS2812 na to. Da biste ga držali na mjestu pomoću žičanih vezica. Zatim sam stavio D1 mini na WS2812.

Nakon nekog vremena i na moje veliko zadovoljstvo, WS2812 i papirnati papir ušli su u stražnju koricu - WS2812 je zaista samo mali za otvor na stražnjoj strani, pa nije bilo iznenađenje.

Iznenadilo je koliko je dobro izgledalo "OKO" s papirnatim papirom unutra. Zaista sam bio sretan s tim iznenađenjem.

Odložio sam ovo i čekao da se drugi moji komadi osuše - nije trebalo dugo, možda pola sata, možda sat vremena.

Korak 6: Ljepilo u oči…

Image
Image
Ljepilo u oku…
Ljepilo u oku…
Ljepilo u oku…
Ljepilo u oku…

Nisam snimio ovaj dio -(Loše od mene)

U svakom slučaju, nakon što se ljepilo uglavnom osušilo, stavio sam prednji dio (oko) na mjesto (s elektronikom već u sebi).

Budući da su sve strane sada na kutiji, bilo je malo teže ulijepiti ljepilo, ali nije bilo loše. Opet sam prstima uzela ljepilo gdje sam htjela i razmazala po spojevima.

Ovaj put sam ga morao držati na mjestu dosta duže - nisam siguran zašto, možda je 10 ili 15 minuta ljepilo postavilo dovoljno da odloži kutiju i pusti da se osuši.

* Možda se pitate o vrhu

Zato sam ostavio gornji dio (i nezalijepljen) kako bih, ako trebam promijeniti ili dodao ili stavio drugu elektroniku u kutiju, to učinio lako. Vrh se samo podiže i tamo je sve lijepo.

Novi/bolji dizajn mogao bi biti za gornji dio sa šarkama ili zakriljenu stranu, ali zadovoljan sam načinom na koji je kocka ispala.

Korak 7: D1 Mini programiranje

D1 Mini programiranje
D1 Mini programiranje
D1 Mini programiranje
D1 Mini programiranje
D1 Mini programiranje
D1 Mini programiranje
D1 Mini programiranje
D1 Mini programiranje

Prije početka programiranja D1 Mini postoji nekoliko zahtjeva.

Nijedan od ovih koraka nije težak … ali ih je potrebno učiniti.

Prvo moramo instalirati ploče ESP8266 u Arduino Board Manager. Za to slijedite upute koje se nalaze ovdje:

Ako ste već instalirali ploče ESP8266, ovaj korak možete preskočiti.

Sada moramo instalirati biblioteku Adafruit_Neopixel

Vjerojatno je to najjednostavniji način od upravitelja knjižnice u Arduinu 1.6.5 i novijim IDE -ovima

Otvorite upravitelja knjižnice i u blok za pretraživanje upišite adafruit i neopixel.

Opet, ako ste spremni, učinite to, možete to preskočiti.

Gore navedeno zajedničko je skicama koje sam za to napravio.

Ovisno o tome kako ili kako želite koristiti svoj "Eric" ovisit će o tome što se sada mora instalirati.

(Vjerojatno biste trebali instalirati obje ove knjižnice samo zato, ali …)

Ako želite koristiti verziju MQTT (ova verzija pretplaćuje se na MQTT stream s navijačkim svjetlima) - Promijenit će boju LED WS2812 prema Cheerlight. * Cheerlights su IoT projekt koji je stvorio Hans Scharler i omogućuje ljudima svjetla diljem svijeta da se sinkroniziraju u jednu boju tweetanjem #cheerlights *

Koristio sam Cheerlights u brojnim svojim projektima. Zahvaljujući MQTT streamu, projekte je bilo lakše napraviti.

Za ovu verziju potrebna vam je biblioteka PubSubClient.

Prilično sam siguran da je ova knjižnica također u upravitelju knjižnice.

Moje druge skice koriste IFTTT i Dweet.io - Malo su drugačije u tome što tražim od Google Homea da promijeni Eric's Moods or Modes.

Za korištenje skica dweet potrebna vam je biblioteka arduino-dweet.io-https://github.com/quentinpigne/arduino-dweet.io Ovo je starija knjižnica (2015.) i gotovo sigurno NIJE u upravitelju knjižnice. Zato ga morate instalirati ručno. Postoji nekoliko načina za to - preferiram preuzimanje datoteka, raspakiranje i preimenovanje (uklanjanje -mastera), povlačenje mape u mapu moje knjižnice. Možda ćete morati ponovno pokrenuti IDE na ovaj način.

Znam da je to puno koraka, a postoji i jednostavniji način - iz IDE -a možete kliknuti karticu Sketch, spustiti se na uključiti knjižnicu i kliknuti Dodaj. ZIP knjižnicu - pronaći svoju preuzetu datoteku i to bi trebalo biti to.

Ne znam zašto nikad nisam volio instalirati takve knjižnice - ali jednostavno je.

Sada kada imate potrebne knjižnice, možemo programirati naš D1 mini.

Konačno se moj kôd može pronaći ovdje:

Korak 8: MQTT skice…

Skice MQTT -a…
Skice MQTT -a…
Skice MQTT -a…
Skice MQTT -a…
Skice MQTT -a…
Skice MQTT -a…

Što je MQTT? MQTT znači MQ telemetrijski transport. To je izuzetno jednostavan i lagan protokol razmjene poruka za objavljivanje/pretplatu, dizajniran za ograničene uređaje i mreže niske propusnosti, velike latencije ili nepouzdane. Načela dizajna su minimiziranje propusnosti mreže i zahtjeva resursa uređaja, a istovremeno se nastoji osigurati pouzdanost i određeni stupanj sigurnosti isporuke. Pokazalo se da ti principi također čine protokol idealnim za svijet povezanih uređaja "stroj za stroj" (M2M) ili "Internet stvari", te za mobilne aplikacije gdje su propusnost i snaga baterije na prvom mjestu.

mqtt.org/faq

Drugim riječima, moj uređaj se pretplaćuje ili sluša nešto što drugi uređaj objavljuje.

Jedan dio koda koji je zgodan za korištenje za MQTT je

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

Ovo čini jedinstveni naziv uređaja za brokera MQTT, koji za to koristi dio ESP8266 MAC adrese. Neko vrijeme ovo je 100% jamstvo da će biti jedinstveno, do sada se činilo da je djelovalo.

Inače je ostatak koda prilično jasan, slušamo boju od posrednika MQTT, provjeravamo je li to valjana boja - postavljamo neopixel na tu boju i započinjemo postupak iznova.

Za ono što radimo koristi se javni posrednik, a nema vrste sigurnosti - to je u redu za ono što radimo, ali možda nije dobro za neke projekte.

Uključene su tri skice MQTT -a i sve rade približno istu stvar - najveća razlika je u načinu na koji prikazuju boje iz programa Cheerlights.

Jedan prikazuje boju s brzim treptanjem (pogledajte video objavljen ranije) Gotovo je stroboskopsko (ericbotai_neopixel_mqtt) - Istu istu vrstu brzog treptanja koristio sam u prošlosti za svoje projekte za Noć vještica, a učinak je vrlo dobar (Za one) - to ipak nije tako dobro za ovaj projekt.

Jednostavno se prikazuje boja puna - i samo se mijenja (ako izgubi MQTT) ili ako se boja promijenila. (ericbotai_neopixel_mqtt_solid_color).

Vjerojatno mi je od ova tri najdraži Breathe Effect - ovo uzima boju i zatamnjuje je na ništa, te je polako dovodi do pune svjetline, to je uredan efekt koji izgleda jako lijepo unutar kocke.

(ericbotai_neopixel_mqtt_breathe_effect)

Sve tri su iste skice sa samo nekoliko izmjena za svaki "efekt".

Korak 9: Google Home, IFTTT i Dweet.io skice…

Image
Image
Završne misli i još nekoliko slika!
Završne misli i još nekoliko slika!

Dakle, za početak, počnimo rekavši da ove skice nisu toliko stabilne koliko bih želio da budu.

Čak sam i ja uključio vremenske funkcije pasa čuvara i funkcije prinosa, i dalje dobivam slučajne WDT greške - čini se da su kad sjede na jednoj boji bilo koje vrijeme. Zaista nisam imao previše sreće ni s dodavanjem više funkcija WDT -a niti uklanjanjem onih koje imam.

S obzirom na to, ideja je bila učiniti Erica malo interaktivnijim - Korištenjem Moje Google početne stranice/Google asistenta mogu reći "Ok Google Eric Angry mode" i LED će iz bilo čega postati crveno.

Dweet.io je način na koji se moja poruka prenosi Ericu - ako ne znate što je Dweet.io, svakako kliknite vezu i provjerite je. Jednostavno rečeno, to je web API koji uređaji mogu objavljivati ili slušati. Svaki poziv ima svoj naziv uređaja. Također je besplatna za korištenje, što je veliki bonus! Budući da se radi o web pozivu, IFTTT je jednostavno postaviti za korištenje.

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

Gdje će {{TextField}} biti ono što je Google Home čuo.

Dakle, ako uzmete gornji primjer "Ok Google Eric ljutiti način rada" - Web poziv bi izgledao ovako:

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

API izlaz bi izgledao ovako: JSON niz:

Arduino skica - dobiva cijeli niz JSON - ali zahvaljujući zgodnoj funkciji koja se zove "remove" možemo ukloniti većinu prosjačenja. A zatim uklonite završetak ….. Vjerojatno postoji bolji način za uklanjanje kraja, jer ono što se na kraju dogodilo je da nisam pročitao man stranicu dovoljno blizu za "uklanjanje" i sada je sve skraćeno na 6 znakova. Dakle, ako kažete "normalan" način rada - postaje "normalan" - to je u redu, nije važno - softver se brine za to …, ali još uvijek nije u redu:-)

Tako da mogu reći - "Eric ljubi način rada" i ovo će LED diodu okrenuti CRVENO, "Eric happy mode" ili "Eric normalni način", a LED će biti PLAVA, "Način skeniranja Eric", a LED će postati ZELENA, i samo radi zabave (I zato što se u jednoj epizodi Eric ipak napunio i LED mu se ugasio) "Eric charge mode" ili "Eric black mode" i njegova LED dioda će se ugasiti.

I na kraju samo za zabavu imamo "Eric party mode".

Postoje dvije skice koje koriste Dweet.io obje skice su prilično iste. Samo su LED efekti nešto drugačiji.

Nisam baš zadovoljan niti jednim LED efektom (osim možda u načinu rada za zabavu).

ericbotai_neopixel_pulse_effect_dweet koristi manje -više isti kod iz skice efekta disanja - s malo drugačijim vremenskim rasporedom (i zbog promjena na skici, i zbog funkcija WDT -a) - učinak je manje disanja i više pulsnog učinka.

ericbotai_neopixel_solid_color_dweet je otprilike ono što se kaže, prikazuje boje (jednobojne) - party način je disko efekt.

Možete dodati ili promijeniti efekte, samo zapamtite da su odgovori dugački samo 6 znakova.

U obje skice - redak 64 je mjesto gdje možete promijeniti naziv "stvari", samo zapamtite da također promijenite web poziv u istu "stvar" - ako svi koristimo isti naziv, svi možemo mijenjati jedni druge "Eric"

Korak 10: Završne misli i još nekoliko slika

Završne misli i još nekoliko slika!
Završne misli i još nekoliko slika!
Završne misli i još nekoliko slika!
Završne misli i još nekoliko slika!
Završne misli i još nekoliko slika!
Završne misli i još nekoliko slika!

Evo još nekoliko slika iz moje građe koje jednostavno nisu izgledale nikamo …

Jednu bih stvar htio reći - na kraju sam izrezao mali zarez na stražnjoj strani kocke i pokrenuo punjač/kabel u tom zarezu za napajanje - sve to ne umanjuje kocku - ali imao sam Znao sam da ću to učiniti i volio bih da ga laserski izrežu.

Moj okvir je također malo drugačiji - okvir mi je završio u ravnini s kutijom - mislim da ne izgleda ovako loše - i to je dobar način da kažem - bio sam inspiriran, ali ne izravna kopija "Eric"

Planiram dodati MP3 player s nekim "Ericovim" riječima mudrosti … to se možda neće dogoditi vrlo brzo ti - nisam pronašao nijednu snimku "Eric" pa ću morati napraviti svoj.

Konačno, upotrebom MQTT -a ili Dweet -a postoji mogućnost da ovo postane sustav obavijesti na radnoj površini, (poput boje za tweet ili različitih boja za vrijeme ujutro, itd.). Ne bi trebalo biti previše teško uzeti neki osnovni kôd i pomiješati ga kako biste napravili sve vrste kul stvari.

I zaista Konačno - mogu vidjeti da je moguće napraviti zidni zaslon HAL 9000 koristeći isti objektiv i malo drugačije programiranje.

Preporučeni: