Innehållsförteckning:
- Steg 1: Verktyg och delar behövs…
- Steg 2: Tidiga steg för att bygga…
- Steg 3: Laserskär kuben och måla
- Steg 4: Limma ihop kuben…
- Steg 5: Sätta linsen och elektroniken i hålet …
- Steg 6: Limma in ögat …
- Steg 7: D1 Mini -programmering
- Steg 8: MQTT -skisserna…
- Steg 9: Skisser från Google Home, IFTTT och Dweet.io …
- Steg 10: Sista tankarna och några fler bilder
Video: Supervisor Eric Inspired LED Cube (Earth of People): 10 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
Vem eller vad är handledare Eric - och varför skulle du bygga detta.
Handledare Eric är en BOX eller Cube eller något från TBS -serien "People of Earth".
Vilket är en rolig liten show om människor som kidnappas av utomjordingar - för det mesta är utomjordingarna ganska idioter. Jag tror att tidigt under säsong två tog en flygande kub vid namn Eric utomjordiska uppdraget - Han är känd som Supervisor Eric. Det är inte riktigt klart om han är en varelse inuti kuben, en A. I. eller bara vad det är. Eric har sin egen agenda och till och med hjärntvättar medlemmen i stödgruppen för bortförande, men det är en annan hel historia.
Jag såg Eric och tänkte, det är ganska snyggt - och det skulle vara väldigt enkelt att göra en - Så jag gjorde en.
Tyvärr finns det inte mycket information om honom - så jag måste gå med det här är en faninspirerad "Supervisor Eric" - Min flyger inte och kommer aldrig att flyga (jag är ganska säker på att det bara var specialeffekter i showen ändå.)
Jag vet inte heller riktigt hur stor den är - min gissning är ungefär 7 "kub med cirka 3" öga. Min konstruktion visade sig vara ca 5 "kub, med ungefär ett 2" öga.
Jag använde en WeMos D1 Mini för styrenheten, med en WS2812 LED - detta ger mig möjlighet att ändra ögonfärg.
I serien har jag sett tre ögon i olika färger hittills - blått som verkar vara hans normala färg, rött som visas när han är på något eller är arg eller arg och grön när han gör en skanning av något.
För en av de skisser jag gjorde - jag har hans uttryck, en annan skiss jag använder MQTT och får färgerna från färgen från twitter. Jag gjorde också en IFTTT -applet som låter mig använda Google Home/Google Assistant för att ändra sitt humör - med hjälp av dweet.io - Det kommer att finnas mer om detta nedan.
Steg 1: Verktyg och delar behövs…
Hårdvaran för detta projekt är mycket enkel - för elektroniken kommer några grundläggande lödkunskaper att behövas.
1 uppsättning 44mm glaslinsreflektorkopp och fast ram för 20W-100W LED-objektiv het $ 2,60
WS2812B RGB -sköld för WeMos D1 Mini $ 1,75
WeMos D1 Mini ModeMCU 4M WiFi Development Board ESP8266 $ 3,40
Vi behöver en 5 "(12,7 cm) kub - Tjockleken är cirka 1/8". (cirka 3.175 mm).
Jag provade en 7 kartong först, men slutade med att laserskärning av en MDF -skiva. Dfx -filen ingår i mitt github -arkiv.
Jag använde också lite silkespapper för att täcka WS2812 -skölden.
Shoppa runt lite, det kanske är de bästa priserna, eBay, Aliexpress och till och med Amazon har några av de bästa priserna.
Några andra saker du kan behöva -
Platt svart sprayfärg, trälim, sandpapper och liten fil.
Du behöver också några små träskruvar.
Några verktyg behövs - lödkolv, skruvmejsel, fil, nåltång.
Tillgång till en liten borrpress (eller liten borr), laserskärare eller cnc -maskin kommer att göra saker mycket enklare att slutföra detta projekt.
För makt
Min ursprungliga idé var att använda ett litet batteri - det passade inte, så jag slutade göra ett litet hål i ryggen och använde en gammal mobiltelefonladdare för ström.
Ett litet batteripaket (18650 kanske) kan fungera, D1 mini är en 3 volts styrenhet - så du måste titta på vilka stift du använder för ström. Det finns en regulator på USB -kontakten, så det är det överlägset enklaste sättet att driva den.
Steg 2: Tidiga steg för att bygga…
Jag tror att linsen används för bilar, kanske husbelysning. Jag är inte säker - det kommer dock ingen LED i den. Så en av de första sakerna jag gjorde var att se till att WS2812 -skölden ens skulle fungera med den - jag använde ett gummiband för att hålla ihop alla delar - det fungerade - men det var inte bra. Jag kunde köra lite testkod och producera några olika effekter.
Senare bestämde jag mig för att lägga till en spegel - jag gillar det, men i slutändan var det fortfarande inte riktigt vad jag letade efter, och det var svårt att hålla spegeln från att glida.
Som du också kan se vid ett tillfälle tänkte jag bara använda en kartonglåda - jag var verkligen inte nöjd med hur det här såg ut. det var inte rent, men det sa att jag verkligen behövde ha något laserskär.
Det mesta av det här var att jag bara insåg att min ursprungliga idé om att behöva något snitt var rätt!
Steg 3: Laserskär kuben och måla
Tack vare mina vänner på Rabbit Laser, USA - kunde jag klippa kuben. Det hela tog mindre än 5 minuter att göra. Jag tror att vi använde en 60 watts laser med 60% effekt, och jag tror att vi saktade ner den så att den kunde skära kanterna lite bättre.
Om du inte har vänner med laserskärare kan du försöka titta på utrymmen för tillverkare eller till och med offentliga bibliotek. Många har lasermaskiner. Biblioteken här runt tar bara betalt för använt material. Vissa bibliotek är helt gratis att använda om du tar med eget material. De är stora resurser för beslutsfattare på en budget. Att få lasertid är dock en annan historia, och ibland måste du stå på en väntelista.
För mig behövdes inte mycket för att rengöra grova kanter eller något liknande. Jag skulle nog kunna/borde ha slipat bitarna lite - men gjorde inte.
Jag gjorde en grovmontering för att se till att bitarna alla skulle passa. och lade ut en större kartongbit.
Jag numrerade insidan så att jag kunde sätta ihop kuben igen senare - Verkligheten är att 4 av bitarna är desamma och 2 är olika (upptill och nedtill) de 4 som är samma utgör sidorna - av dessa 4 en har ett 2 -tums hålskär i den för linsen. Jag tror att det var lättare att sätta ihop det efter att jag numrerat bitarna - det behövs inte 100%.
Jag vred på bitarna och applicerade ett lager platt svart färg på dem.
Jag upprepade målningen av bitarna tre gånger till, varje gång jag väntade på att pälsen skulle torka.
Steg 4: Limma ihop kuben…
Efter några timmar med att låta färgen torka - limmade jag botten och tre av sidorna ihop.
Jag använde inga klämmor för detta - och höll bara ihop bitarna för hand tills limet torkade tillräckligt för att hålla dem - det tog inte lång tid, kanske 5 eller 6 minuter. Det hade varit bättre att använda klämmor tror jag - men jag hade inte tillräckligt stor för det här projektet. Så det var skönt att veta att det fungerade att hålla det.
Jag tyckte att det var lättare att bara lägga lim på insidan av lådan vid sömmarna, jag använde mitt finger för att skjuta limmet dit det behövde vara.
Jag lade dessa delar åt sidan för att låta limet torka ….
Steg 5: Sätta linsen och elektroniken i hålet …
Medan jag väntade på att hälften av min kub skulle torka, Jag borrade några små hål i de fyra hörnstyckena på linsramen som inte hade hål. Varför kan du fråga - Hålen i ramen är stora, för stora egentligen. Jag behövde använda mycket små skruvar så att de inte skulle gå hela vägen genom träet (sticker inte ut från andra sidan). Så det var nästan lättare att bara göra mina egna hål. Ramen är ganska tunn metall och tog inte mycket att borra.
Det var också vid denna tidpunkt som jag böjde upp ett par av de större hålen - jag kommer att använda dessa för att hålla elektroniken mer eller mindre på plats.
Jag gick vidare och satte linsramen på plats. Och skruvade ner det med några väldigt små skruvar - så långt så gå.
Jag hittade ett par bröd/trådband och satte dem på ett av hålen som jag böjde upp. Jag satte LEN: erna i ramen och placerade bakstycket över LENSEN. Jag lade en liten bit silkespapper (som finns i en låda med ett par nya skor) på baksidan - och lägger WS2812 -kortet ovanpå det. Håll buntbandet på plats. Jag satte sedan D1 mini på WS2812.
Efter ett tag och mycket till min glädje arbetade WS2812 och silkespapper in i baksidan - WS2812 är egentligen bara lite liten för öppningen på baksidan, så det var ingen överraskning.
Vad som var en överraskning var hur bra det fick "ÖGON" att se ut med silkespapper inuti. Jag var riktigt nöjd med den överraskningen.
Jag lade det åt sidan och väntade på att mina andra bitar skulle torka - det tog inte lång tid, kanske en halvtimme, kanske en timme.
Steg 6: Limma in ögat …
Jag tog inga bilder på den här delen -(dåligt mig)
Hur som helst, efter att limmet var mest torrt satte jag framsidan (ögat) på plats (med elektroniken redan i den).
Eftersom alla sidor var på kartongen nu var det lite svårare att få in limet, men det var inte dåligt. Återigen använde jag mina fingrar för att få limet där jag ville ha det och sprida det över lederna.
Den här gången var jag tvungen att hålla den på plats ganska länge - jag är inte riktigt säker på varför, kanske har 10 eller 15 minuter limet satt tillräckligt för att sätta ner lådan och låta den sluta torka.
* Du kanske frågar om toppen
Så jag lämnade toppen av (och unglued) så att om jag behöver byta eller lägga till, eller lägga annan elektronik i lådan, kan jag göra det enkelt. Toppen lyfter bara av, och allt är vackert där.
En ny/bättre design kan vara för en gångjärns topp eller gångjärnssida, men jag är nöjd med hur kuben blev.
Steg 7: D1 Mini -programmering
Det finns några krav innan vi kan börja programmera D1 Mini.
Inget av dessa steg är svårt … men de måste göras.
Först måste vi installera ESP8266 -korten i Arduino Board Manager. Följ instruktionerna här:
Om du redan har installerat ESP8266 -korten kan du hoppa över det här steget.
Nu måste vi installera Adafruit_Neopixel -biblioteket
Förmodligen är det enklaste sättet att göra detta från bibliotekschefen i Arduino 1.6.5 och senare IDE: er
Öppna bibliotekshanteraren och skriv i sökblocket adafruit och neopixel.
Återigen, om du redan har gjort det kan du hoppa över det.
Ovanstående är gemensamt för de skisser jag har gjort för detta.
Beroende på vad eller hur du vill använda din "Eric" beror på vad som behöver installeras nu.
(Du bör förmodligen installera båda dessa bibliotek bara för, men ….)
Om du vill använda MQTT -versionen (den här versionen prenumererar på en MQTT -ström för cheerlights) - Det kommer att ändra färgen på WS2812 LED enligt Cheerlight. * Cheerlights är ett IoT -projekt skapat av Hans Scharler som låter människor ljus över hela världen synkronisera till en färg genom att twittra #cheerlights *
Jag har använt Cheerlights i ett antal av mina projekt. Tack vare MQTT -strömmen har projekten blivit enklare att göra.
För den här versionen behöver du PubSubClient -biblioteket.
Jag är ganska säker på att detta bibliotek också finns i bibliotekshanteraren.
Mina andra skisser använder IFTTT och Dweet.io - De är lite annorlunda i jag ber Google Home att ändra Erics humör eller lägen.
För att använda dweet-skisserna behöver du arduino-dweet.io-biblioteket-https://github.com/quentinpigne/arduino-dweet.io Det här är ett äldre bibliotek (2015), och finns nästan INTE i bibliotekschefen. Så du måste installera det manuellt. Det finns några sätt att göra detta - jag föredrar att ladda ner filerna, packa upp och byta namn på (ta bort -master), dra mappen till min biblioteksmapp. Du kan behöva starta om IDE på det här sättet.
Jag vet att det är många steg, och det finns ett enklare sätt - Från IDE kan du klicka på fliken Skiss, gå ner för att inkludera bibliotek och klicka på Lägg till. ZIP -bibliotek - hitta din nedladdade fil, och det borde vara det.
Jag vet inte varför jag aldrig riktigt gillade att installera sådana bibliotek - men det är enkelt.
Nu när du har de bibliotek som behövs kan vi programmera vår D1 mini.
Slutligen finns min kod här:
Steg 8: MQTT -skisserna…
Vad är MQTT? MQTT står för MQ Telemetry Transport. Det är ett publicera/prenumerera, extremt enkelt och lätt meddelandeprotokoll, utformat för begränsade enheter och låg bandbredd, hög latens eller opålitliga nätverk. Designprinciperna är att minimera nätverksbandbredd och enhetens resursbehov samtidigt som de försöker säkerställa tillförlitlighet och viss grad av leveranssäkerhet. Dessa principer visar sig också göra protokollet idealiskt för den framväxande "machine-to-machine" (M2M) eller "Internet of Things" -världen för anslutna enheter och för mobila applikationer där bandbredd och batterikraft är högst.
mqtt.org/faq
Så med andra ord prenumererar eller lyssnar min enhet på något som en annan enhet publicerar.
En kodbit som är praktisk att använda för MQTT är
uint32_t chipid = ESP.getChipId (); char clientid [25]; snprintf (clientid, 25, "EricBotAI-%08X", chipid);
Vad detta gör är att skapa ett unikt enhetsnamn för MQTT -mäklaren, den använder en del av ESP8266 MAC -adressen för att göra detta. Ett tag är detta 100% garanti för att vara unikt, så långt verkar det ha fungerat.
Annars är resten av koden ganska rak framåt, vi lyssnar efter en färg från MQTT -mäklaren, vi kontrollerar om det är en giltig färg - vi sätter neopixeln till den färgen och startar processen om igen.
För vad vi gör används en offentlig mäklare, och ingen typ av säkerhet - det här är bra för det vi gör, men kanske inte är bra för vissa projekt.
Det finns tre MQTT -skisser inkluderade, och de gör alla ungefär samma sak - den största skillnaden är hur de visar färgerna från Cheerlights.
Man visar färgen med snabb blinkning (se videon som publicerades tidigare) Det är nästan strobe -liknande (ericbotai_neopixel_mqtt) - jag använde samma typ av snabb blinkning för mina Halloween -projekt tidigare, och effekten är mycket bra (för dem) - Det är dock inte så bra för det här projektet.
Man visar bara färgen fast - och ändras bara (om den förlorar MQTT) eller om färgen har ändrats. (ericbotai_neopixel_mqtt_solid_color).
Förmodligen är min favorit av de tre Breathe Effect - det här tar färgen och dämpar den till ingenting, och långsamt tar den upp till full ljusstyrka, det är en snygg effekt som ser riktigt snygg ut inuti kuben.
(ericbotai_neopixel_mqtt_breathe_effect)
Alla tre är samma skiss med bara några ändringar för varje "effekt".
Steg 9: Skisser från Google Home, IFTTT och Dweet.io …
Så låt oss börja med att säga att dessa skisser inte är så stabila som jag skulle vilja att de skulle vara.
Och även du har inkluderat vakthundens tidsfunktioner och avkastningsfunktioner, jag får fortfarande slumpmässiga WDT -fel - det verkar vara när de sitter på en färg när som helst. Jag har verkligen inte haft för mycket tur med att antingen lägga till fler WDT -funktioner eller ta bort de jag har.
Med detta sagt var tanken att göra Eric lite mer interaktiv - Med hjälp av mitt Google Home/Google Assistant kan jag säga "Ok Google Eric Angry -läge" och få lysdioden att växla från vad som helst till rött.
Dweet.io är hur mitt meddelande överförs till Eric - om du inte vet vad Dweet.io är säker på att klicka på länken och kolla in det. Enkelt uttryckt är det en webb -API som enheter antingen kan publicera på eller lyssna på. Varje samtal har sitt eget enhetsnamn. Det är också gratis att använda, vilket är en stor bonus! Eftersom det är ett webbsamtal är det enkelt att konfigurera IFTTT för att använda det.
dweet.io/dweet/for/ericcube?mood={{TextFie…
Var {{TextField}} kommer att vara vad Google Home hörde.
Så om vi tar exemplet ovan "Ok Google Eric arg -läge" - Netsamtalet skulle se ut så här:
dweet.io/dweet/for/ericcube?mood=skräck
API -utmatningen skulle se ut så här JSON -sträng:
Arduino -skissen - får hela JSON -strängen - men tack vare en praktisk funktion som kallas "ta bort" kan vi bara ta bort det mesta av tiggeriet. Och sedan ta bort slutet ….. Det finns förmodligen ett bättre sätt att ta bort slutet, för det som slutade lyckas var att jag inte läste man -sidan tillräckligt nära för att "ta bort" och nu är allt trunkerat med 6 tecken. Så om du säger "normalt" läge - det blir "norma" - det här är bra, det spelar ingen roll - programvaran tar hand om det … men det är fortfarande inte rätt:-)
Så jag kan säga - "Eric angry mode" och detta kommer att lysa LED -RÖD, "Eric happy mode" eller "Eric normal mode" och lysdioden kommer att BLÅ, "Eric scanner -läge" och lysdioden blir GRÖN, och bara för skojs skull (Och för att Eric i ett avsnitt laddade och hans LED slocknade) "Eric laddningsläge" eller "Eric svart läge" och hans LED slocknar.
Och slutligen bara för skojs skull har vi "Eric party mode".
Det finns två skisser som använder Dweet.io båda skisserna är i stort sett desamma. Bara LED -effekterna är något annorlunda.
Jag är dock inte riktigt nöjd med någon av LED -effekterna (förutom kanske partyläget).
ericbotai_neopixel_pulse_effect_dweet använder mer eller mindre samma kod från andningseffektskissen - med lite olika tidpunkter (både på grund av ändringarna i skissen och WDT -funktionerna) - effekten är mindre andas och mer av en pulseffekt.
ericbotai_neopixel_solid_color_dweet är ganska mycket som det säger, det visar färgerna (fast) - festläge är disco -effekten.
Du kan lägga till eller ändra effekterna, kom bara ihåg att svaren bara är 6 tecken långa.
I båda skisserna - rad 64 är där du kan ändra "sak" -namnet, kom bara ihåg att också ändra webbsamtalet till samma "sak" - om vi alla använder samma namn kan vi alla ändra varandras "Eric"
Steg 10: Sista tankarna och några fler bilder
Här är några fler bilder från min byggnad som bara inte tycktes passa någonstans ….
En sak skulle jag vilja säga - jag slutade med att skära ett litet snäpp på baksidan av min kub och köra laddaren/sladden i det hacket för att få ström - överlag så försämrar det inte kuben - men hade Jag visste att jag skulle göra det, jag skulle gärna ha klippt ut det med laser.
Min bezel är också lite annorlunda - min bezel hamnade i linje med lådan - jag tycker inte att den ser dålig ut så här - och det är ett bra sätt att säga - jag blev inspirerad men inte en direkt kopia av "Eric"
Jag tänker lägga till en MP3 -spelare med några av "Erics" visdomsord …. det kanske inte händer så snabbt du - jag har inte hittat några inspelningar av "Eric" så jag måste göra min egen.
Slutligen, med användning av MQTT eller Dweet möjligheten att göra detta till ett skrivbordsaviseringssystem, (Som en färg för en tweet eller olika färger för vädret på morgonen, ect). Det borde inte vara för svårt att ta en del av baskoden och blanda den för att göra alla möjliga coola saker.
Och verkligen slutligen - jag kan se att jag kanske gör en HAL 9000 väggskärm med samma LENS och lite annorlunda programmering.
Rekommenderad:
Raspberry Pi DIY Smart Doorbell That Can Detect People, Cars, etc.: 5 steg
Raspberry Pi DIY Smart Doorbell That Can Detect People, Cars, Etc. Nest, eller en av de andra konkurrenterna) Jag byggde vår egen smarta dörr
E-Ink: Moon / ISS / People in Space : 6 steg
E-Ink: Moon / ISS / People in Space …: Jag hade en hallon och en e-Paper-hatt och jag ville använda den för att visa information om var ISS är eller hur många människor som befinner sig i rymden nu. .Jag sa att jag skulle se om det finns API: er på Internet för att hämta dessa data, och jag hittade dem. OK, gotcha !!!! Vänta
Magic Cube eller Micro-controller Cube: 7 steg (med bilder)
Magic Cube eller Micro-controller Cube: I den här instruktionsboken kommer jag att visa dig hur du gör en magisk kub från felaktig Micro-controller. Den här idén kommer från när jag har tagit Faulty ATmega2560 micro-controller från Arduino Mega 2560 och gjort en kub .Om Magic Cube -hårdvara har jag fabrikat som
Hur man bygger en People Counter med Raspberry Pi och Ubidots: 6 steg
Hur man bygger en folkräknare med Raspberry Pi och Ubidots: I detta enkla projekt använder vi en rörelsesensor för att upptäcka om ett objekt passerar framför vår Raspberry Pi. Sedan räknar vi hur många gånger det händer och skickar detta värde till Ubidots. Folkräknare är vanligtvis dyra enheter som används i
ICBob - en Bob Inspired Biped Robot: 10 steg (med bilder)
ICBob - en Bob Inspired Biped Robot: Vi är Teen Imagineering Club från Bridgeville Delaware Public Library. Vi gör coola projekt medan vi lär oss om elektronik, datorkodning, 3D -design och 3D -utskrift.Detta projekt är vår anpassning av BoB the BiPed en Arduino -baserad robot