Sommario:
- Passaggio 1: strumenti e parti necessarie…
- Fase 2: Primi passi per costruire…
- Passaggio 3: taglia al laser il cubo e dipingi
- Passaggio 4: incolla il cubo insieme…
- Passaggio 5: mettere l'obiettivo e l'elettronica nel buco…
- Passaggio 6: colla negli occhi…
- Passaggio 7: D1 Mini Programmazione
- Passaggio 8: gli schizzi MQTT…
- Passaggio 9: Google Home, IFTTT e Dweet.io Sketches…
- Passaggio 10: considerazioni finali e qualche altra foto
Video: Cubo LED ispirato da Eric Supervisor (People of Earth): 10 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Chi o cosa è il supervisore Eric - e perché dovresti costruire questo.
Il supervisore Eric è un BOX o Cube o qualcosa dello spettacolo TBS "People of Earth".
Che è un piccolo spettacolo divertente sulle persone che vengono rapite dagli alieni - per la maggior parte gli alieni sono praticamente degli idioti. Penso che all'inizio della seconda stagione, un cubo volante di nome Eric abbia assunto la missione aliena - È conosciuto come Supervisor Eric. Non è molto chiaro se sia un essere all'interno del cubo, un'intelligenza artificiale o semplicemente cosa sia. Eric ha i suoi piani e fa persino il lavaggio del cervello a un membro del gruppo di supporto per i rapimenti, ma questa è tutta un'altra storia.
Ho visto Eric e ho pensato, è abbastanza carino - e sarebbe davvero semplice crearne uno - così ne ho fatto uno.
Sfortunatamente non ci sono molte informazioni su di lui - quindi devo andare con questo è un "Supervisore Eric" ispirato dai fan - Il mio non vola e non volerà mai (sono abbastanza sicuro che fossero solo effetti speciali nello spettacolo comunque.)
Inoltre non so davvero quanto sia grande - la mia ipotesi è di circa 7 "cubo con un occhio di circa 3". La mia build si è rivelata un cubo di circa 5 pollici, con un occhio di circa 2 pollici.
Ho usato un WeMos D1 Mini per il controller, con un LED WS2812 - questo mi dà la possibilità di cambiare il colore dell'occhio.
Nello spettacolo ho visto tre occhi di colore diverso finora: blu che sembra essere il suo colore normale, rosso che appare quando ha in mente qualcosa o è arrabbiato o arrabbiato, e verde quando sta eseguendo una scansione di qualcosa.
Per uno degli schizzi che ho fatto - ho le sue espressioni, un altro schizzo sto usando MQTT e ottengo il colore delle cheerlights da Twitter. Ho anche creato un'applet IFTTT che mi consente di utilizzare Google Home/Google Assistant per cambiare i suoi stati d'animo - utilizzando dweet.io - Di seguito ne parleremo di più.
Passaggio 1: strumenti e parti necessarie…
L'hardware per questo progetto è molto semplice: per l'elettronica saranno necessarie alcune abilità di saldatura di base.
1 set riflettore con lente in vetro da 44 mm e telaio fisso per obiettivo LED da 20 W-100 W caldo $ 2,60
Scudo RGB WS2812B per WeMos D1 Mini $ 1,75
WeMos D1 Mini ModeMCU Scheda di sviluppo WiFi 4M ESP8266 $ 3,40
Abbiamo bisogno di un cubo da 5" (12,7 cm) - Lo spessore è di circa 1/8". (circa 3,175 mm).
All'inizio ho provato una scatola di cartone da 7 , ma ho finito per tagliare al laser una scheda MDF. Il file dfx è incluso nel mio repository github.
Ho anche usato della carta velina per coprire lo scudo WS2812.
Fai un po' di shopping, questi possono o meno essere i prezzi migliori, eBay, Aliexpress e persino Amazon hanno alcuni dei prezzi migliori.
Alcune altre cose di cui potresti aver bisogno -
Vernice spray nera piatta, colla per legno, carta vetrata e piccola lima.
Avrai anche bisogno di alcune piccole viti per legno.
Alcuni strumenti necessari: saldatore, cacciavite, lima, pinze ad ago.
L'accesso a un piccolo trapano a colonna (o un piccolo trapano), un laser cutter o una macchina cnc renderà le cose molto più facili per completare questo progetto.
Per il potere
La mia idea originale era di usare un piccolo pacco batteria - non si adattava, quindi ho finito per fare un piccolo foro nella parte posteriore e ho usato un vecchio caricabatterie per cellulare per l'alimentazione.
Un piccolo pacco batteria (18650 forse) potrebbe funzionare, il D1 mini è un controller da 3 volt, quindi è necessario guardare quali pin si utilizzano per l'alimentazione. C'è un regolatore sul connettore USB, quindi questo è di gran lunga il modo più semplice per alimentarlo.
Fase 2: Primi passi per costruire…
Credo che l'obiettivo sia usato per le auto, forse per l'illuminazione domestica. Non ne sono sicuro, tuttavia viene fornito senza LED. Quindi una delle prime cose che ho fatto è stata assicurarmi che lo scudo WS2812 funzionasse anche con esso - ho usato un elastico per tenere insieme tutte le parti - ha funzionato - ma non è stato eccezionale. Sono stato in grado di eseguire del codice di prova e produrre alcuni effetti diversi.
Più tardi, ho deciso di aggiungere uno specchio: mi piace, ma alla fine non era ancora quello che stavo cercando ed era difficile impedire allo specchio di scivolare.
Come puoi vedere anche a un certo punto stavo per usare una scatola di cartone - non ero davvero contento di come appariva. non era pulito, ma diceva che avevo davvero bisogno di tagliare qualcosa al laser.
La maggior parte di questo ero solo che mi rendevo conto che la mia idea originale di aver bisogno di qualcosa di tagliato era giusta!
Passaggio 3: taglia al laser il cubo e dipingi
Grazie ai miei amici di Rabbit Laser, USA, sono riuscito a tagliare il cubo. L'intera operazione ha richiesto meno di 5 minuti. Credo che stavamo usando un laser da 60 watt al 60% di potenza, e credo che l'abbiamo rallentato in modo che potesse tagliare un po' meglio i bordi.
Se non hai amici con i laser cutter, prova a guardare gli spazi dei produttori o anche le biblioteche pubbliche. Molti hanno macchine laser, le biblioteche qui intorno fanno pagare solo il materiale utilizzato. Alcune librerie sono completamente gratuite se porti il tuo materiale. Sono ottime risorse per i produttori con un budget limitato. Ottenere il tempo del laser è un'altra storia, ea volte devi essere in lista d'attesa.
Per me non era necessario molto per pulire i bordi irregolari o qualcosa del genere. Probabilmente avrei potuto/avrei dovuto levigare un po' i pezzi, ma non l'ho fatto.
Ho fatto un montaggio approssimativo, per assicurarmi che i pezzi si adattassero tutti. e disponili su un pezzo di cartone più grande.
Ho numerato le parti interne, in modo da poter rimontare il cubo in seguito - La realtà è che 4 pezzi sono uguali e 2 sono diversi (sopra e sotto) i 4 uguali formano i lati - di questi 4 uno ha un foro da 2 pollici tagliato per l'obiettivo. Credo che sia stato più facile metterlo insieme dopo aver numerato i pezzi - questo non è necessario al 100%.
Ho capovolto i pezzi e ho applicato uno strato di vernice nera piatta su di essi.
Ho ripetuto di dipingere i pezzi altre tre volte, ogni volta che ho aspettato che il cappotto si asciugasse.
Passaggio 4: incolla il cubo insieme…
Dopo alcune ore di asciugatura della vernice, ho incollato il fondo e tre dei lati insieme.
Non ho usato alcun morsetto per questo - e ho semplicemente tenuto insieme i pezzi a mano finché la colla non si è asciugata abbastanza da tenerli - non ci è voluto molto, forse 5 o 6 minuti. Sarebbe stato meglio usare i morsetti, penso, ma non ne avevo abbastanza grandi per questo progetto. Quindi è stato bello sapere che tenerlo ha funzionato.
Ho trovato più facile stendere la colla all'interno della scatola in corrispondenza delle cuciture, ho usato il dito per spingere la colla dove doveva essere.
Ho messo da parte queste parti per far asciugare la colla…..
Passaggio 5: mettere l'obiettivo e l'elettronica nel buco…
Mentre aspettavo che metà del mio cubo si asciugasse, Ho praticato alcuni piccoli fori, nei quattro pezzi angolari della cornice dell'obiettivo che non avevano fori. Perché potresti chiedere: i fori nella cornice sono grandi, davvero troppo grandi. Avevo bisogno di usare viti molto piccole in modo che non andassero fino in fondo al legno (non sporgessero dall'altro lato). Quindi era quasi più facile fare i miei buchi. La lunetta è di metallo piuttosto sottile e non ci è voluto molto per forarla.
È stato anche a questo punto che ho piegato un paio dei fori più grandi - li userò per tenere l'elettronica più o meno in posizione.
Sono andato avanti e ho messo la cornice dell'obiettivo in posizione. E l'ho avvitato con alcune viti molto piccole - così lontano.
Ho trovato un paio di fascette per pane/filo e le ho messe su uno dei fori che avevo piegato. Ho inserito le lenti nella cornice e ho posizionato la cover posteriore sopra le lenti. Ho messo un piccolo pezzo di carta velina (trovato in una scatola che conteneva un nuovo paio di scarpe) sul retro della copertina - e sopra ho messo la scheda WS2812. Usando le fascette per tenerlo in posizione. Ho quindi messo il D1 mini sul WS2812.
Dopo un po' e con mio grande piacere, il WS2812 e la carta velina si sono fatti strada nella copertina posteriore - Il WS2812 è davvero solo un po' piccolo per l'apertura sul coperchio posteriore, quindi non è stata una sorpresa.
La sorpresa è stata quanto bene ha reso l'aspetto "EYE" con la carta velina all'interno. Ero davvero felice di quella sorpresa.
L'ho messo da parte e ho aspettato che gli altri miei pezzi si asciugassero - non ci è voluto molto, forse mezz'ora, forse un'ora.
Passaggio 6: colla negli occhi…
Non ho fatto nessuna foto di questa parte --(Bad me)
Ad ogni modo, dopo che la colla si è per lo più asciutta, ho messo la parte anteriore (occhio) in posizione (con l'elettronica già inserita).
Dato che ora erano tutti i lati della scatola, era un po' più difficile far entrare la colla, ma non era male. Ancora una volta, ho usato le dita per ottenere la colla dove volevo e l'ho stesa sulle giunture.
Questa volta ho dovuto tenerlo in posizione un po' più a lungo - non sono sicuro del perché, forse ho avuto 10 o 15 minuti che la colla si fosse fissata abbastanza per posare la scatola e lasciarla asciugare.
* Potresti chiedere della parte superiore
Quindi ho lasciato la parte superiore (e scollata) in modo che se avessi bisogno di cambiare o aggiungere o mettere elettronica diversa nella scatola, potrei farlo facilmente. La parte superiore si solleva e tutto è carino lì.
Un nuovo/migliore design potrebbe essere per una parte superiore incernierata o incernierata, ma sono contento di come è venuto fuori il cubo.
Passaggio 7: D1 Mini Programmazione
Ci sono alcuni requisiti prima di poter iniziare a programmare il D1 Mini.
Nessuno di questi passaggi è difficile… ma devono essere eseguiti.
Per prima cosa dobbiamo installare le schede ESP8266 in Arduino Board Manager. Per questo segui le istruzioni che trovi qui:
Se hai già installato le schede ESP8266, puoi saltare questo passaggio.
Ora dobbiamo installare la libreria Adafruit_Neopixel
Probabilmente il modo più semplice per farlo è dal gestore della libreria negli IDE di Arduino 1.6.5 e successivi
Apri il gestore della libreria e nel blocco di ricerca digita adafruit e neopixel.
Di nuovo, se lo hai già fatto, puoi saltarlo.
Quanto sopra è comune agli schizzi che ho fatto per questo.
A seconda di cosa o come vuoi usare il tuo "Eric" dipenderà da cosa deve essere installato ora.
(Probabilmente dovresti installare entrambe queste librerie solo perché, ma….)
Se si desidera utilizzare la versione MQTT (questa versione si abbona a un flusso MQTT di cheerlights) - Cambierà il colore del LED WS2812 in base a Cheerlight. * Cheerlights è un progetto IoT creato da Hans Scharler che consente alle luci delle persone di tutto il mondo di sincronizzarsi con un colore twittando #cheerlights *
Ho usato Cheerlights in diversi miei progetti, grazie allo stream MQTT i progetti sono diventati più facili da realizzare.
Per questa versione è necessaria la libreria PubSubClient.
Sono abbastanza sicuro che questa libreria sia anche nel gestore della libreria.
Gli altri miei schizzi usano IFTTT e Dweet.io - Sono un po' diversi in quanto sto chiedendo a Google Home di cambiare gli stati d'animo o le modalità di Eric.
Per utilizzare gli schizzi dweet è necessaria la libreria arduino-dweet.io - https://github.com/quentinpigne/arduino-dweet.io Questa è una libreria precedente (2015) e quasi certamente NON È nel gestore della libreria. Quindi devi installarlo manualmente. Ci sono un paio di modi per farlo: io preferisco, scaricare i file, decomprimere e rinominare (rimuovendo il -master), trascinando la cartella nella cartella delle mie librerie. Potrebbe essere necessario riavviare l'IDE in questo modo.
So che ci sono molti passaggi e c'è un modo più semplice: dall'IDE puoi fare clic sulla scheda Schizzo, andare in basso per includere la libreria e fare clic su Aggiungi libreria. ZIP - trova il file scaricato e dovrebbe essere quello.
Non so perché non mi è mai piaciuto installare librerie del genere, ma è semplice.
Ora che hai le librerie necessarie, possiamo programmare il nostro D1 mini.
Finalmente il mio codice può essere trovato qui:
Passaggio 8: gli schizzi MQTT…
Cos'è MQTT? MQTT sta per MQ Telemetry Transport. È un protocollo di messaggistica di pubblicazione/sottoscrizione, estremamente semplice e leggero, progettato per dispositivi vincolati e reti a bassa larghezza di banda, alta latenza o inaffidabili. I principi di progettazione consistono nel ridurre al minimo la larghezza di banda della rete e i requisiti delle risorse del dispositivo, cercando anche di garantire l'affidabilità e un certo grado di garanzia di consegna. Questi principi si rivelano anche per rendere il protocollo ideale per l'emergente mondo "machine-to-machine" (M2M) o "Internet of Things" dei dispositivi connessi e per le applicazioni mobili in cui la larghezza di banda e la potenza della batteria sono un vantaggio.
mqtt.org/faq
Quindi, in altre parole, il mio dispositivo si iscrive o ascolta qualcosa che un altro dispositivo pubblica.
Un pezzo di codice utile da usare per MQTT è
uint32_t chipid=ESP.getChipId(); char clientid[25]; snprintf(clientid, 25, "EricBotAI-%08X", chipid);
Ciò che fa è creare un nome di dispositivo univoco per il broker MQTT, utilizza parte dell'indirizzo MAC ESP8266 per farlo. Per un po 'questo è garantito al 100% per essere unico, finora sembra aver funzionato.
Altrimenti il resto del codice è piuttosto semplice, ascoltiamo un colore dal broker MQTT, controlliamo per vedere se è un colore valido - impostiamo il neopixel su quel colore e ricominciamo il processo.
Per quello che stiamo facendo viene utilizzato un broker pubblico e nessun tipo di sicurezza - questo va bene per quello che stiamo facendo, ma potrebbe non essere buono per alcuni progetti.
Sono inclusi tre schizzi MQTT e fanno tutti più o meno la stessa cosa: la differenza più grande è il modo in cui mostrano i colori di Cheerlights.
Uno mostra il colore con un lampeggio rapido (vedi il video postato in precedenza) È quasi stroboscopico (ericbotai_neopixel_mqtt) - Ho usato questo stesso tipo di lampeggio rapido per i miei progetti di Halloween in passato, e l'effetto è molto buono (per quelli) - non è così buono per questo progetto tuttavia.
Uno mostra solo il colore solido e cambia solo (se perde MQTT) o se il colore è cambiato. (ericbotai_neopixel_mqtt_solid_color).
Probabilmente il mio preferito dei tre è l'effetto Breathe: questo prende il colore e lo attenua a zero, e lentamente lo porta alla massima luminosità, è un effetto pulito che sembra davvero bello all'interno del cubo.
(ericbotai_neopixel_mqtt_breathe_effect)
Tutti e tre sono lo stesso schizzo con poche modifiche per ogni "effetto".
Passaggio 9: Google Home, IFTTT e Dweet.io Sketches…
Quindi, prima di tutto, iniziamo dicendo che questi schizzi non sono così stabili come vorrei che fossero.
E anche se ho incluso le funzioni del tempo di watch dog e le funzioni di resa, sto ancora ricevendo errori WDT casuali - sembra che sia quando si siedono su un colore per qualsiasi momento. Non ho davvero avuto molta fortuna con l'aggiunta di più funzioni WDT o la rimozione di quelle che ho.
Detto questo, l'idea era di rendere Eric un po' più interattivo: utilizzando My Google Home/Google Assistant posso dire "Ok Google Eric Modalità arrabbiata" e far passare il LED da qualunque cosa a rosso.
Dweet.io è il modo in cui il mio messaggio viene portato a Eric: se non sai cos'è Dweet.io, assicurati di fare clic sul link e controllalo. In termini semplici, è un'API Web che i dispositivi possono pubblicare o ascoltare. Ogni chiamata ha il proprio nome del dispositivo. È anche gratuito, il che è un grande vantaggio! Poiché si tratta di una chiamata Web, è facile configurare IFTTT per utilizzarlo.
dweet.io/dweet/for/ericcube?mood={{TextFie…
Dove sarà {{TextField}} ciò che Google Home ha sentito.
Quindi, se prendi l'esempio sopra "Ok Google Eric arrabbiato mode" - La chiamata web sarebbe simile a:
dweet.io/dweet/for/ericcube?mood=angry
L'output dell'API sarà simile a questa stringa JSON:
Lo sketch Arduino - ottiene l'intera stringa JSON - ma grazie a una comoda funzione chiamata "rimuovi" siamo in grado di rimuovere solo la maggior parte dell'elemosina. E poi rimuovere la fine….. Probabilmente c'è un modo migliore per rimuovere la fine, perché quello che è successo è che non ho letto la pagina man abbastanza vicina per "rimuovere" e ora tutto è troncato a 6 caratteri. Quindi se dici modalità "normale" - diventa "norma" - va bene, non ha molta importanza - il software se ne occupa … ma non è ancora giusto:-)
Quindi posso dire: "Modalità Eric arrabbiato" e questo farà diventare il LED ROSSO, "Modalità Eric felice" o "Modalità normale Eric" e il LED sarà BLU, "Modalità scanner Eric" e il LED diventerà VERDE, e solo per divertimento (e perché in un episodio, Eric si è caricato e il suo LED si è spento) "Eric charge mode" o "Eric black mode" e il suo LED si spegnerà.
E infine, solo per divertimento, abbiamo "Eric party mode".
Ci sono due schizzi che usano Dweet.io entrambi gli schizzi sono praticamente gli stessi. Solo gli effetti LED sono leggermente diversi.
Tuttavia, non sono molto soddisfatto di entrambi gli effetti LED (tranne forse per la modalità party).
ericbotai_neopixel_pulse_effect_dweet utilizza più o meno lo stesso codice dello schizzo dell'effetto respiro - con tempi leggermente diversi (sia a causa delle modifiche allo schizzo che alle funzioni WDT) - l'effetto è meno respiro e più di un effetto a impulsi.
ericbotai_neopixel_solid_color_dweet è più o meno come si suol dire, mostra i colori (solidi) - la modalità party è l'effetto discoteca.
Puoi aggiungere o modificare gli effetti, ricorda solo che le risposte sono lunghe solo 6 caratteri.
In entrambi gli schizzi - la riga 64 è dove puoi cambiare il nome della "cosa", ricorda solo di cambiare anche la chiamata web con la stessa "cosa" - se usiamo tutti lo stesso nome, possiamo cambiarci tutti "Eric"
Passaggio 10: considerazioni finali e qualche altra foto
Ecco alcune altre immagini della mia build che non sembravano adattarsi da nessuna parte…..
Una cosa che vorrei dire - ho finito per tagliare una piccola tacca dal retro del mio cubo, e ho fatto passare il caricabatterie/cavo in quella tacca per l'alimentazione - tutto sommato non toglie nulla al cubo - ma aveva Sapevo che stavo per farlo mi sarebbe piaciuto averlo tagliato al laser.
Anche la mia lunetta è un po' diversa - la mia lunetta è finita a filo con la scatola - non penso che stia male in questo modo - ed è un buon modo per dire - sono stato ispirato ma non una copia diretta di "Eric"
Ho intenzione di aggiungere un lettore MP3 con alcune delle parole di saggezza di "Eric" …. che potrebbe non accadere molto rapidamente tu - non ho trovato alcuna registrazione di "Eric" quindi dovrò farne di mie.
Infine, con l'uso di MQTT o Dweet la possibilità di renderlo un sistema di notifica desktop, (come un colore per un tweet, o colori diversi per il tempo al mattino, ecc.). Non dovrebbe essere troppo difficile prendere parte del codice di base e mescolarlo per creare tutti i tipi di cose interessanti.
E davvero finalmente - posso vedere forse realizzare un display da parete HAL 9000 usando lo stesso LENS e una programmazione leggermente diversa.
Consigliato:
Cubo magico o cubo con microcontrollore: 7 passaggi (con immagini)
Cubo magico o cubo microcontrollore: in questo Instructables, ti mostrerò come creare un cubo magico da un microcontrollore difettoso. Questa idea è venuta da quando ho preso il microcontrollore ATmega2560 difettoso da Arduino Mega 2560 e ho creato un cubo .Riguardo all'hardware Magic Cube, ho fatto come
Il timer "Fai di più", ispirato a Casey Neistat: 4 passaggi (con immagini)
Il timer "Fai di più", ispirato da Casey Neistat: l'estate, la bella stagione in cui accadono le cose. Ma a volte tendiamo a dimenticare il tempo. Quindi, per ricordarci il tempo rimasto, ho progettato questo timer guidato da arduino fai-da-te "Fai di più" di Casey Neistat che può essere programmato per visualizzare il tempo rimasto da qualsiasi anche
Arduino - Led rotante sul movimento - Articolo indossabile (ispirato a Chronal Accelerator Tracer Overwatch): 7 passaggi (con immagini)
Arduino - Rotating Led on Movement - Wearable Item (ispirato a Chronal Accelerator Tracer Overwatch): questo istruibile ti aiuterà a collegare un accelerometro e un anello LED Neopixel. Fornirò il codice per leggere l'accelerometro e ottenere questo effetto con il tuo neopixel animazione. Per questo progetto ho usato l'anello Neopixel Adafruit a 24 bit e l'MP
Altoparlante ispirato a Piet Mondrian: 6 passaggi (con immagini)
Piet Mondrian Inspired Speaker: Per questo progetto, sto realizzando un altoparlante Bluetooth portatile con le dimensioni di 10 cm per 10 cm. Sto realizzando questo altoparlante con diversi colori di acrilico da 3 mm. Il cubo avrà due altoparlanti, avrà un sistema operativo Bluetooth facile da usare, quindi è
Wii ispirato a Super Mario Bros con base USB: 5 passaggi (con immagini)
Wii ispirato a Super Mario Bros con base USB: in questo tutorial ti mostrerò come ho personalizzato la mia Wii con un tema Super Mario Bros, ma soprattutto come aggiungere un caricabatterie e una porta USB alla base e alla console. ATTENZIONE: non sono responsabile se rovini la tua Wii, annullerai la garanzia se