INHOUDSOPGAWE:
- Stap 1: Gereedskap en onderdele benodig …
- Stap 2: Vroeë stappe om te bou …
- Stap 3: Sny die kubus met laser en verf
- Stap 4: Plak die kubus saam …
- Stap 5: Plaas die lens en elektronika in die gat …
- Stap 6: Plak die oog vas …
- Stap 7: D1 Mini -programmering
- Stap 8: Die MQTT -sketse …
- Stap 9: Google Home, IFTTT en Dweet.io Sketse …
- Stap 10: Laaste gedagtes en nog 'n paar foto's
Video: Supervisor Eric Inspired LED Cube (People of Earth): 10 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
Wie of wat is toesighouer Eric - en waarom sou u dit bou?
Supervisor Eric is 'n BOX of Cube of iets uit die TBS -program "People of Earth".
Dit is 'n snaakse vertoning oor mense wat deur vreemdelinge ontvoer word - die vreemdelinge is meestal idiote. Ek dink vroeg in seisoen twee het 'n vlieënde kubus met die naam Eric die uitheemse sending oorgeneem - Hy staan bekend as Supervisor Eric. Dit is nie duidelik of hy 'n wese binne die kubus is nie, 'n AI, of wat dit is nie. Eric het sy eie agenda en breinspoel selfs lid van die ontvoeringsondersteuningsgroep, maar dit is 'n ander verhaal.
Ek het Eric gesien en gedink: dit is baie netjies - en dit sou baie eenvoudig wees om een te maak - so ek het een gemaak.
Ongelukkig is daar nie veel inligting oor hom nie - so ek moet saamgaan met 'n waaier geïnspireerde "Supervisor Eric" - Myne vlieg en sal nooit vlieg nie (ek is redelik seker dat dit in elk geval net spesiale effekte was).)
Ek weet ook nie regtig hoe groot dit is nie - my raaiskoot is ongeveer 7 "kubus met ongeveer 3" oog. My bouvorm was ongeveer 5 cm groot, met 'n oog van ongeveer 2 cm.
Ek het 'n WeMos D1 Mini vir die kontroleerder gebruik, met 'n WS2812 LED - dit gee my die vermoë om die kleur van die oog te verander.
In die vertoning het ek tot dusver drie oë van verskillende kleure gesien - Blou wat blykbaar sy normale kleur is, rooi wat verskyn as hy iets bederf of kwaad of kwaad is, en groen as hy 'n skandering van iets doen.
Vir een van die sketse wat ek gemaak het - ek het sy uitdrukkings, 'n ander skets wat ek met MQTT gebruik en die cheerlights van Twitter kry. Ek het ook 'n IFTTT -applet gemaak waarmee ek Google Home/Google Assistant kan gebruik om sy buie te verander - met behulp van dweet.io - Hieroor sal meer hieroor verskyn.
Stap 1: Gereedskap en onderdele benodig …
Die hardeware vir hierdie projek is baie eenvoudig - vir elektronika is basiese soldeervaardighede nodig.
1 stel 44 mm glaslensreflektorbeker en vaste raam vir 20W-100W LED-lens warm $ 2,60
WS2812B RGB -skild vir WeMos D1 Mini $ 1,75
WeMos D1 Mini ModeMCU 4M WiFi Development Board ESP8266 $ 3,40
Ons benodig 'n kubus van 12 cm (5 cm) - die dikte is ongeveer 1/8 duim. (ongeveer 3.175 mm).
Ek het eers 'n kartondoos van 7 probeer, maar uiteindelik het ek 'n MDF -bord met laser gesny. Die dfx -lêer is ingesluit in my github -bewaarplek.
Ek het ook sneespapier gebruik om die WS2812 -skild te bedek.
Koop 'n bietjie, dit is al dan nie die beste pryse nie, eBay, Aliexpress en selfs Amazon het van die beste pryse.
'N Paar ander dinge wat jy dalk nodig het -
Plat swart spuitverf, houtgom, sandpapier en klein vyltjie.
U benodig ook 'n paar houtskroewe.
'N Paar gereedskap nodig - soldeerbout, skroewedraaier, vyl, naaldtang.
Toegang tot 'n klein boorpers (of klein boor), lasersnyer of cnc -masjien sal dinge baie makliker maak om hierdie projek te voltooi.
Vir krag
My oorspronklike idee was om 'n klein battery te gebruik - dit pas nie, so ek het uiteindelik 'n gaatjie in die agterkant gemaak en 'n ou selfoonlaaier vir krag gebruik.
'N Klein battery (miskien 18650) kan werk, die D1 mini is 'n 3 volt -kontroleerder - dus moet u kyk watter penne u vir krag gebruik. Daar is 'n reguleerder op die USB -aansluiting, dus dit is verreweg die maklikste manier om dit aan te skakel.
Stap 2: Vroeë stappe om te bou …
Ek glo die Lens word gebruik vir motors, miskien beligting vir huise. Ek is nie seker nie, maar daar is geen LED in nie. Een van die eerste dinge wat ek gedoen het, was om seker te maak dat die WS2812 -skild selfs daarmee sou werk - ek het 'n rekkie gebruik om al die dele bymekaar te hou - dit werk - maar dit was nie goed nie. Ek kon 'n toetskode uitvoer en verskillende effekte lewer.
Later het ek besluit om 'n spieël by te voeg - ek hou daarvan, maar uiteindelik was dit nog steeds nie presies wat ek soek nie, en dit was moeilik om te voorkom dat die spieël skuif.
Soos u ook op 'n stadium kan sien, gaan ek net 'n kartondoos gebruik - ek was regtig nie tevrede met hoe dit lyk nie. dit was nie skoon nie, maar dit het wel gesê dat ek regtig 'n lasersnit moes doen.
Die meeste hiervan was dat ek net besef het dat my oorspronklike idee om iets te sny reg was!
Stap 3: Sny die kubus met laser en verf
Dankie aan my vriende by Rabbit Laser, VSA - ek kon die kubus sny. Die hele ding het minder as 5 minute geneem om te doen. Ek glo dat ons 'n 60 watt laser met 60% krag gebruik het, en ek glo dat ons dit vertraag het sodat dit die rande 'n bietjie beter kon sny.
As u nie vriende met lasersnyers het nie, kyk dan na die vervaardigerruimtes of selfs openbare biblioteke. Baie het lasermasjiene. Die biblioteke hier in die omgewing betaal slegs materiaal wat gebruik word. Sommige biblioteke is heeltemal gratis om te gebruik as u u eie materiaal saambring. Dit is uitstekende hulpbronne vir makelaars met 'n begroting. Dit is egter 'n ander storie om lasertyd te kry, en soms moet u op 'n waglys wees.
Vir my was daar nie veel nodig om ruwe rande of iets dergeliks skoon te maak nie. Ek kon die stukke waarskynlik 'n bietjie geskuur het - maar het nie.
Ek het 'n growwe pasmaat gedoen om seker te maak dat die stukke almal pas. en lê 'n groter stuk karton daaruit.
Ek het die binnekant genommer, sodat ek die kubus later weer bymekaar kon sit - die werklikheid is dat 4 van die stukke dieselfde is en 2 verskillende (bo en onder) die 4 wat dieselfde is aan die kante - van hierdie 4 een het 'n 2 -inch gat in die lens. Ek glo dit was makliker om dit aanmekaar te sit nadat ek die stukke genommer het - dit is nie 100% nodig nie.
Ek het die stukke omgedraai en 'n laag plat swart verf daarop aangebring.
Ek herhaal die stukke nog drie keer, elke keer as ek wag totdat die jas droog is.
Stap 4: Plak die kubus saam …
Na 'n paar uur nadat ek die verf laat droog is, het ek die onderkant en drie van die kante aan mekaar vasgeplak.
Ek het geen klampe hiervoor gebruik nie - en ek het die stukke net met die hand bymekaar gehou totdat die gom genoeg droog was om dit vas te hou - dit duur nie lank nie, miskien 5 of 6 minute. Dit sou beter gewees het om klampe te gebruik, maar ek het nie groot genoeg vir hierdie projek nie. Dit was dus lekker om te weet dat die hou daarvan gewerk het.
Ek het dit makliker gevind om net gom aan die binnekant van die boks aan die nate te lê; ek het met my vinger die gom gestoot waar dit moes wees.
Ek sit hierdie dele eenkant om die gom te laat droog word ….
Stap 5: Plaas die lens en elektronika in die gat …
Terwyl ek wag dat die helfte van my kubus droog word, Ek het 'n paar klein gaatjies geboor in die vier hoekstukke van die lensrand wat nie gate gehad het nie. Waarom u sou vra - Die gate in die ring is groot, regtig te groot. Ek moes baie klein skroewe gebruik, sodat hulle nie heeltemal deur die hout sou gaan nie (steek nie aan die ander kant nie). Dit was dus amper makliker om net my eie gate te maak. Die ring is redelik dun metaal en het nie veel nodig gehad om te boor nie.
Dit was ook op hierdie punt dat ek 'n paar van die groter gate gebuig het - ek sal dit gebruik om die elektronika min of meer op hul plek te hou.
Ek het vorentoe gegaan en die lensring aangebring. En het dit met 'n paar baie klein skroewe vasgedraai - tot dusver.
Ek het 'n paar brood-/draadbande gevind en dit op een van die gate wat ek gebuig het, gesit. Ek sit die LEN's in die ring en plaas die agterblad oor die LENS. Ek het 'n klein stukkie sneespapier (gevind in 'n boks met 'n nuwe paar skoene) op die agterblad geplaas - en die WS2812 -bord bo -op dit gesit. Hou dit vas met die draadbinders. Ek sit toe die D1 mini op die WS2812.
Na 'n rukkie en tot my plesier het die WS2812 en sneespapier die agterblad binnegedring - die WS2812 is eintlik net 'n bietjie klein vir die opening op die agterblad, so dit was geen verrassing nie.
Wat 'n verrassing was, was hoe goed dit die "OOG" laat lyk het met die sneespapier binne. Ek was regtig bly met die verrassing.
Ek het dit eenkant gesit en gewag dat my ander stukke droog word - dit het nie lank geneem nie, miskien 'n halfuur, miskien 'n uur.
Stap 6: Plak die oog vas …
Ek het geen foto's van hierdie deel geneem nie -(Bad me)
In elk geval, nadat die gom meestal droog was, het ek die voorkant (oog) op sy plek gesit (met die elektronika reeds daarin).
Aangesien al die kante op die boks nou was, was dit 'n bietjie moeiliker om die gom daarin te kry, maar dit was nie erg nie. Ek het weer my vingers gebruik om die gom te kry waar ek dit wou hê, en dit oor die gewrigte versprei.
Hierdie keer moes ek dit nog 'n bietjie langer hou - ek weet nie hoekom nie, miskien het die gom 10 of 15 minute lank genoeg gesit om die boks neer te sit en te laat droog word.
* U vra moontlik oor die top
Dus het ek die bokant weggelaat (en ongesluierd) sodat ek dit maklik kon doen as ek ander elektronika in die boks moes byvoeg, of ander elektronika in die boks moes plaas. Die bokant lig net af, en alles is mooi daar.
'N Nuwe/beter ontwerp is moontlik vir 'n skarnierende bokant of skarnierkant, maar ek is tevrede met die manier waarop die kubus uitgedraai het.
Stap 7: D1 Mini -programmering
Daar is 'n paar vereistes voordat ons die D1 Mini kan begin programmeer.
Nie een van hierdie stappe is moeilik nie, maar dit moet gedoen word.
In die eerste plek moet ons die ESP8266 -borde in die Arduino Board Manager installeer. Volg die instruksies hier:
As u reeds die ESP8266 -borde geïnstalleer het, kan u hierdie stap oorslaan.
Nou moet ons die Adafruit_Neopixel -biblioteek installeer
Waarskynlik die maklikste manier om dit te doen, is van die biblioteekbestuurder in die Arduino 1.6.5 en later IDE's
Maak die biblioteekbestuurder oop, en tik in die soekblok adafruit en neopixel.
Weereens, as u dit alreeds gedoen het, kan u dit oorslaan.
Bogenoemde is algemeen vir die sketse wat ek hiervoor gemaak het.
Afhangende van wat u 'Eric' wil gebruik, hang af van wat nou geïnstalleer moet word.
(U moet waarskynlik albei hierdie biblioteke installeer net omdat, maar …)
As u die MQTT -weergawe wil gebruik (hierdie weergawe teken op 'n cheerleader MQTT -stroom) - dit verander die kleur van die WS2812 LED volgens die Cheerlight. * Cheerlights is 'n IoT -projek wat deur Hans Scharler geskep is, waarmee mense se ligte oor die hele wêreld met een kleur kan sinchroniseer deur #cheerlights te tweet *
Ek het Cheerlights in 'n aantal van my projekte gebruik, danksy die MQTT -stroom is dit makliker om die projekte te maak.
Vir hierdie weergawe benodig u die PubSubClient -biblioteek.
Ek is redelik seker dat hierdie biblioteek ook in die biblioteekbestuurder is.
My ander sketse gebruik IFTTT en Dweet.io - hulle verskil effens, ek vra Google Home om Eric's Moods of Modes te verander.
Om die dweet-sketse te gebruik, benodig u die biblioteek arduino-dweet.io-https://github.com/quentinpigne/arduino-dweet.io Dit is 'n ouer biblioteek (2015), en is byna beslis NIE in die biblioteekbestuurder nie. U moet dit dus handmatig installeer. Daar is twee maniere om dit te doen - ek verkies om die lêers af te laai, die rits af te laai en die naam te hernoem (die -master te verwyder), en die gids na my biblioteek -gids te sleep. Miskien moet u die IDE op hierdie manier herlaai.
Ek weet dat dit baie stappe is, en daar is 'n eenvoudiger manier - vanaf die IDE kan u op die Skets -oortjie klik, na die biblioteek gaan en op Add. ZIP -biblioteek voeg - vind u afgelaaide lêer, en dit behoort dit te wees.
Ek weet nie hoekom ek nooit so graag biblioteke geïnstalleer het nie - maar dit is eenvoudig.
Noudat u die nodige biblioteke het, kan ons ons D1 mini programmeer.
Uiteindelik kan u my kode hier vind:
Stap 8: Die MQTT -sketse …
Wat is MQTT? MQTT staan vir MQ Telemetry Transport. Dit is 'n baie eenvoudige en ligte boodskapprotokol vir publiseer/inteken, ontwerp vir beperkte toestelle en lae bandwydte, hoë vertraging of onbetroubare netwerke. Die ontwerpbeginsels is om netwerkbandwydte en vereistes vir apparaatbronne tot 'n minimum te beperk, terwyl dit ook probeer om betroubaarheid en 'n mate van versekering van aflewering te verseker. Hierdie beginsels maak ook die protokol ideaal vir die opkomende 'masjien-tot-masjien' (M2M) of 'Internet of Things' wêreld van gekoppelde toestelle, en vir mobiele toepassings waar bandwydte en batterykrag hoog is.
mqtt.org/faq
Met ander woorde, my toestel teken in of luister na iets wat 'n ander toestel publiseer.
Een stuk kode wat handig is om vir MQTT te gebruik, is
uint32_t chipid = ESP.getChipId (); char clientid [25]; snprintf (clientid, 25, "EricBotAI-%08X", chipid);
Wat dit doen, is om 'n unieke toestelnaam vir die MQTT -makelaar te maak; dit gebruik 'n deel van die ESP8266 MAC -adres om dit te doen. Dit is 'n rukkie 'n 100% waarborg dat dit uniek is, maar dit lyk asof dit tot dusver gewerk het.
Andersins is die res van die kode redelik eenvoudig, ons luister na 'n kleur van die MQTT -makelaar, ons kyk of dit 'n geldige kleur is - ons stel die neopixel in op die kleur en begin die proses weer.
Vir wat ons doen, word 'n openbare makelaar gebruik, en geen tipe sekuriteit nie - dit is goed vir wat ons doen, maar dit is miskien nie goed vir sommige projekte nie.
Daar is drie MQTT -sketse ingesluit, en hulle doen almal dieselfde: die grootste verskil is hoe hulle die kleure van Cheerlights vertoon.
Die een vertoon die kleur met 'n vinnige flikker (sien die video wat vroeër geplaas is) Dit lyk amper soos (ericbotai_neopixel_mqtt) - ek het in die verlede dieselfde soort vinnige flikkering gebruik vir my Halloween -projekte, en die effek is baie goed (vir diegene) - Dit is egter nie so goed vir hierdie projek nie.
'N Mens vertoon net die kleur soliede - en verander slegs (as dit MQTT verloor) of as die kleur verander het. (ericbotai_neopixel_mqtt_solid_color).
Waarskynlik my gunsteling van die drie is die asemhalingseffek - dit neem die kleur en verduister dit, en bring dit stadig tot volle helderheid, dit is 'n netjiese effek wat baie mooi in die kubus lyk.
(ericbotai_neopixel_mqtt_breathe_effect)
Al drie is dieselfde skets met slegs 'n paar veranderinge vir elke 'effek'.
Stap 9: Google Home, IFTTT en Dweet.io Sketse …
Laat ons eers sê dat hierdie sketse nie so stabiel is as wat ek sou wou hê nie.
En selfs al het ek die waghond se tydsfunksies en opbrengsfunksies ingesluit, ek kry steeds ewekansige WDT -foute - dit lyk asof dit te eniger tyd op een kleur sit. Ek het regtig nie te veel geluk gehad met die toevoeging van meer WDT -funksies of die verwydering van die wat ek wel het nie.
Dit gesê, die idee was om Eric 'n bietjie meer interaktief te maak - met behulp van My Google Home/Google Assistant kan ek 'Ok Google Eric Angry mode' sê en die LED laat verander van wat ook al na rooi.
Dweet.io is hoe my boodskap aan Eric oorgedra word - as u nie weet wat Dweet.io is nie, klik dan op die skakel en kyk daarna. In eenvoudige terme is dit 'n web -api waarna toestelle kan publiseer of daarna kan luister. Elke oproep het sy eie toestelnaam. Dit is ook gratis om te gebruik, wat 'n groot bonus is! Aangesien dit 'n weboproep is, is dit maklik om IFTTT op te stel om dit te gebruik.
dweet.io/dweet/for/ericcube?mood={{TextFie…
Waar {{TextField}} gaan wees, wat Google Home gehoor het.
As ons dus die voorbeeld hierbo neem: "Ok Google Eric angry mode" - die weboproep sal soos volg lyk:
dweet.io/dweet/for/ericcube?mood=angry
Die API -uitset sal soos hierdie JSON -string lyk:
Die Arduino -skets - kry die hele JSON -string - maar danksy 'n handige funksie genaamd 'verwyder' kan ons die meeste bedelaars net verwyder. En verwyder dan die einde….. Daar is waarskynlik 'n beter manier om die einde te verwyder, want wat uiteindelik gebeur het, was dat ek nie die manblad naby genoeg gelees het vir 'verwyder' nie en nou word alles met 6 karakters afgekap. As u dus 'normale' modus sê - dit word 'norma' - dit is goed, dit maak nie regtig saak nie - die sagteware sorg daarvoor … maar dit is steeds nie reg nie:-)
Ek kan dus sê: 'Eric angry mode', en dit sal die LED ROOI, 'Eric happy mode' of 'Eric normal mode' verander, en die LED sal BLAUW wees, 'Eric scanner mode' en die LED sal GROEN word, en net vir die plesier (en omdat Eric in 'n episode laai en sy LED uitgaan) "Eric laai modus" of "Eric swart modus" en sy LED gaan uit.
En uiteindelik, net vir die plesier, het ons 'Eric party mode'.
Daar is twee sketse wat Dweet.io gebruik, albei sketse is amper dieselfde. Net die LED -effekte verskil effens.
Ek is egter nie regtig tevrede met die LED -effek nie (behalwe miskien in die partytjie -modus).
ericbotai_neopixel_pulse_effect_dweet gebruik min of meer dieselfde kode uit die asemhalingseffekskets - met effens verskillende tydsberekeninge (beide as gevolg van die veranderings aan die skets en die WDT -funksies) - die effek is minder asemhaling en meer 'n polseffek.
ericbotai_neopixel_solid_color_dweet is amper soos dit sê, dit vertoon die kleure (soliede) - partytjie -modus is die disco -effek.
U kan die effekte byvoeg of verander, onthou dat die antwoorde slegs 6 karakters lank is.
In beide sketse - reël 64 is waar u die 'ding' naam kan verander, onthou net om die weboproep ook na dieselfde 'ding' te verander - as ons almal dieselfde naam gebruik, kan ons almal 'Eric' verander
Stap 10: Laaste gedagtes en nog 'n paar foto's
Hier is nog 'n paar foto's van my gebou wat skynbaar nêrens pas nie ….
Een ding wat ek graag wil sê - ek het uiteindelik 'n klein kerf uit die agterkant van my kubus gesny en die laaier/koord in die kerf ingedruk om krag te kry - dit doen egter nie afbreuk aan die kubus nie - maar Ek het geweet ek gaan dit doen, ek sou dit graag met laser wou laat uitsny.
My ring is ook 'n bietjie anders - my ring het uiteindelik teen die boks gelê - ek dink nie dit lyk so nie - en dit is 'n goeie manier om te sê - ek was geïnspireer, maar nie 'n direkte kopie van 'Eric' nie
Ek is van plan om 'n MP3 -speler by te voeg met 'n paar "Eric's" wysheidswoorde …. dit gebeur miskien nie baie vinnig nie - ek het geen opnames van "Eric" gevind nie, so ek sal my eie moet maak.
Ten slotte, met die gebruik van MQTT of Dweet, is die moontlikheid om dit 'n lessenaar -kennisgewingstelsel te maak, (soos 'n kleur vir 'n tweet, of verskillende kleure vir die weer in die oggend, ens.). Dit moet nie te moeilik wees om 'n deel van die basiskode te neem en dit te meng om allerhande lekker dinge te maak nie.
En regtig uiteindelik - ek kan sien dat ek 'n HAL 9000 -muurskerm met dieselfde LENS en effens ander programme kan maak.
Aanbeveel:
E-Ink: Moon / ISS / People in Space : 6 stappe
E-ink: maan / ISS / mense in die ruimte …: ek het 'n framboos en 'n e-papier hoed gehad en ek wou dit gebruik om inligting te wys soos waar die ISS is of hoeveel mense nou in die ruimte is .. .Ek het gesê om te kyk of daar API's op die internet is om die data te kry, en ek het dit gevind. OK, gotcha !!!! Wag
LED Sound Reactive Infinity Cube End Table: 6 stappe (met foto's)
LED Sound Reactive Infinity Cube End Table: Wow! Sjoe! Wat 'n cool effek! - Dit is 'n paar van die dinge wat u sal hoor wanneer u die gids voltooi het. 'N Ongelooflike buigende, pragtige, hipnotiese, klankreaktiewe oneindige kubus, 'n beskeie gevorderde soldeerprojek, dit het my ongeveer 12 mense geneem
Magic Cube of Micro-controller Cube: 7 stappe (met foto's)
Magic Cube of Micro-controller Cube: In hierdie instruksies sal ek jou wys hoe om 'n Magic-kubus te maak van 'n foutiewe Micro-controller. Hierdie idee kom van wanneer ek Faulty ATmega2560-mikrobeheerder van Arduino Mega 2560 geneem het en 'n kubus gemaak het .Met Magic Cube -hardeware het ek 'n vervaardiging as
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino - Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter - Rc Helikopter - Rc -vliegtuig met Arduino: 5 stappe (met foto's)
Draadlose afstandsbediening met 2,4 GHz NRF24L01 -module met Arduino | Nrf24l01 4 -kanaals / 6 -kanaals sender -ontvanger voor quadcopter | Rc Helikopter | Rc -vliegtuig met Arduino: om 'n Rc -motor te bestuur | Quadcopter | Drone | RC -vliegtuig | RC -boot, ons het altyd 'n ontvanger en sender nodig, veronderstel dat ons vir RC QUADCOPTER 'n 6 -kanaals sender en ontvanger nodig het en dat die tipe TX en RX te duur is, so ons maak een op ons
Hoe om 'n rekenaar met maklike stappe en foto's uitmekaar te haal: 13 stappe (met foto's)
Hoe om 'n rekenaar uitmekaar te haal met eenvoudige stappe en foto's: dit is 'n instruksie oor hoe om 'n rekenaar uitmekaar te haal. Die meeste basiese komponente is modulêr en kan maklik verwyder word. Dit is egter belangrik dat u daaroor georganiseerd is. Dit sal u verhinder om onderdele te verloor, en ook om die montering weer