Turinys:

Milžiniškas šviesos diodas - Adam Savage sekimas: 13 žingsnių (su paveikslėliais)
Milžiniškas šviesos diodas - Adam Savage sekimas: 13 žingsnių (su paveikslėliais)

Video: Milžiniškas šviesos diodas - Adam Savage sekimas: 13 žingsnių (su paveikslėliais)

Video: Milžiniškas šviesos diodas - Adam Savage sekimas: 13 žingsnių (su paveikslėliais)
Video: Marlboro (Alexei Shkurko & Adam Maniac Remix) - Mi💞 2024, Lapkritis
Anonim
Milžiniškas šviesos diodas - Adomo Savage'o sekimas
Milžiniškas šviesos diodas - Adomo Savage'o sekimas
Milžiniškas šviesos diodas - Adomo Savage'o sekimas
Milžiniškas šviesos diodas - Adomo Savage'o sekimas
Milžiniškas šviesos diodas - Adomo Savage'o sekimas
Milžiniškas šviesos diodas - Adomo Savage'o sekimas

Čia rasite milžinišką šviesos diodą, skirtą veikti kaip „Twitter“, „YouTube“ir „Twitch“įspėjimo lemputei. Mano pagrindinis tikslas yra įspėti, kai yra Adomo Savage'o ir išbandytos komandos „tweets“, vaizdo įrašai ar „twitch“srautai, ir būti sąžiningai, pora kitų žmonių, kuriuos seku, pavyzdžiui, Robertas Cowanas, Marty the Mechanic ir kt.

Akivaizdu, kad savo telefone ar nešiojamame kompiuteryje galėčiau naudoti „Twitter“, „twitch“ir pan., Tačiau yra tiek daug įspėjimų iš tiek daug paslaugų ir pranešimų, kad iš esmės juos visus išjungiu, be to, telefonas pereina į tylųjį režimą po 22 val., Nes jis taip pat veiks su Aš taip pat sukonfigūravau „Webhooks“, kad gaučiau atnaujinimus iš kai kurių „Biq Query“lentelių, kurios yra susijusios su darbu, kad galėčiau pranešti, ar jos buvo atnaujintos gerai ir kasdien buvo pakankamai įrašų.

„Adafruit“turi paslaugą, pavadintą „Adafruit IO“, kurią norėjau išbandyti. Visus metus turėjau omenyje bandymą iš naujo išspręsti ESP8266, išgirdusi keletą gerų žodžių apie „Wemos D1 Mini“leidimą 3. Viskas prasidėjo, kai radau „Astro73“sukurtas šviesos diodas „thingiverse“. Aš pradėjau nuo to ir šiek tiek perdariau mastelį, taip pat pridėjau mygtuką prie pagrindo ir kai kuriuos kitus kosmetinius pakeitimus. Remiksą rasite čia

Be to, dabar jį galima valdyti balsu per „Alexa“, taip pat atsiradus IFTTT „Alexa“paleidimo žodžiui.

1 žingsnis: Ingredientai

Jei norite padaryti vieną iš jų, dalių sąrašas yra gana mažas ir taip pat nebrangus. Jei nenorite laukti, galite įsigyti pagrindinių dalių iš užsienio ir dar labiau sumažinti išlaidas. Tačiau pagrindinis ingredientas yra „Giant LED“korpusas ir pagrindas. Jei turite 3D spausdintuvą, esate pasiruošę, jei ne, yra keletas internetinių spausdintuvų kompanijų, kurios spausdins dalis. Yra tik 3, todėl jie taip pat turėtų būti gana pigūs.

1. „Wemos D1 Mini R3“

2. „Neopixel 8“šviesos diodas

3. Atspausdintas pagrindas ir kojos juodos spalvos PETG

4. Atspausdintas lęšis ir šviesos laikiklis iš skaidrios PLA

5. Mygtukinis jungiklis 12 mm kvadratas x1

6. Apvalus mygtuko dangtelis x1

7. USB laidas ir maitinimo adapteris

8. Mygtuko galvutė M3x20

9. M3 Riešutas

10. M2x8mm varžtas x2

11. M2 veržlė x2

12. Kai kurie juodi, raudoni ir geltoni laidai

13. 300-500 omų rezistorius

14. Mažas termoelementų gabalas

Galite naudoti kitus ESP įrenginius ar net „Huzzah“, tačiau dėklas buvo sukurtas mini, kuris turi tvirtinimo angas ir jo nereikia klijuoti.

2 žingsnis: įrankiai

Norėdami tai sukurti ir sukurti, jums reikės šių dalykų

1. 3D spausdintuvas

2. 1,5 mm ir 2 mm šešiakampis raktas

3. Lituoklis ir lituoklis

4. Laidininkai

5. Replės

6. Humoro jausmas

7. Skalpelis kirpimui

3 žingsnis: kodo reikalavimai

Taigi, prieš pasinerdami į konstrukciją, aš apibūdinsiu kai kuriuos reikalavimus, kuriuos norėjau į tai įtraukti. Daugumą jų turėjau omenyje prieš pradėdamas, ir aš nubraižiau kelis srautus, kad suprasčiau, ką ketinu išbandyti. Toliau aš aptikau kai kurias su paslaugomis susijusias problemas, kurias norėjau išspręsti.

Reikalavimai.

Norėjau, kad šviesos diodas parodytų man, kai buvo paskelbtas naujas tviteris ar vaizdo įrašas, taip pat paaiškėja, kai paleidžiamas konkretus „Twitch“kanalas. Taip pat norėjau, kad įspėjimas būtų tęsiamas tol, kol jį atšauksiu, kad jei kurį laiką nebūčiau, žinosiu, kas nutiko, kol buvau išvykęs. Taip pat norėjau, kad ji būtų sukonfigūruota „Wi-Fi“prieigai, taip pat nereikėtų atnaujinti programinės įrangos. Paskutinis dalykas, kuris taip pat pasirodė, buvo ne tik reaguoti į įvykius, bet ir man reikėjo kas 15 minučių patikrinti jam pateiktų duomenų būseną

Taigi, turint pagrindus, kitas dalykas buvo išsiaiškinti, kaip kiekviena dalis bus vykdoma. Žemiau galite pamatyti mano idėjas, kuri dalis būtų tvarkoma pagal kokio tipo programinę įrangą ar platformą.

1. „Adafruit IO“, tai naudojama įspėjimų sklaidos kanalams nustatyti, paskyrą galite gauti čia

Aš ketinu tai naudoti kaip pranešimų eilės paslaugą, kur aš siunčiu jai pranešimus iš IFTTT, o tada „Giant LED“gauna tuos pranešimus, kad galėtų juos veikti.

2. IFTTT, https://ifttt.com/ ir jis naudojamas nuskaityti pasirinktus „Twitter“, „YouTube“ir „Twitch“kanalus, o tada siunčia įvykį „Adafruit IO“

3. ESP8266 kodas, skirtas skaityti šiuos kanalus, ir jis įrašomas į ESP8266 naudojant standartinį „Arduino IDE“(v1.8.8)

4. „Arduino“kodas, įkeliamas į ESP8266, kad būtų galima perskaityti „Adafruit IO“kanalus ir uždegti „Neopixel“

5. „Arduino“kodą, kad nuskaitytumėte mygtuką, kad išvalytumėte įspėjimą

6. Gebėti sukonfigūruoti „WiFi“adapterį, neperkėlus ESP, ir tam naudoju „Tzapu“„WiFi Manager“biblioteką, https://github.com/tzapu/WiFiManager, nors sąrankos parinktys šiek tiek pakeistos, kad būtų galima pritaikyti „Adafruit IO“bibliotekos.

4 žingsnis: „Adafruit IO“nustatymas

„Adafruit IO“nustatymas
„Adafruit IO“nustatymas

Tai pirmas žingsnis, nes jums reikės čia sukurtų prieigos raktų, taip pat reikia sukurti kanalus, į kuriuos IFTTT siųs įvykius. Galite nustatyti ir šią, ir IFTTT paskyrą ir beveik viską paruošti ir veikti prieš pereinant prie šio projekto „Arduino“dalies.

Užuot nukopijavę „adafruit“pavyzdžius, pagrindinius dalykus rasite čia https://learn.adafruit.com/gmailbox/adafruit-io-se…, kurie padės jums nustatyti.

Tada prie GIANT šviesos diodo taip pat turėsite pridėti šiuos numatytuosius kanalus prie numatytųjų kanalų

1. spalva - tai leidžia mums keisti spalvą nuotoliniu būdu, naudojant kažką panašaus į „Alexa“

2. trūkčiojimas

3. „twitterfan“

4. youtubefan

Tada taip pat turite sukurti naują grupę, jei dar nepaskambinote įvesties, tada į šią grupę taip pat sukurkite kanalą, vadinamą skaitmeniniu. Taip pat matysime mygtuko paspaudimo poveikį, jei norime išplėsti šio įrenginio naudojimą kitiems tikslams.

Jei šiuo metu taip pat norite žaisti su prietaisų skydeliu, kad galėtumėte į jį įtraukti šiuos kanalus informacijos ir gedimų paieškos tikslais.

5 veiksmas: IFTTT nustatymas

IFTTT nustatymas
IFTTT nustatymas
IFTTT nustatymas
IFTTT nustatymas

Taip pat galite sekti „Adafruit“vadovą čia, https://learn.adafruit.com/gmailbox/ifttt-setup. Tada galite pasirinkti „Twitter“, „YouTube“ir „twitch“veiksmus, kad nustatytumėte stebėjimo sąrašus, ir tada išsiųsti juos į atitinkamus kanalus. Pridedu paprastą vaizdo įrašą, kad galėtumėte pamatyti, kaip tai gali būti greita.

Be to, jei norite Alexa valdyti savo šviesos diodo spalvą, dabar yra „Amazon Alexa“programėlė. Norėdami nustatyti vieną iš jų, pasirinkite programą ir pasirinkite mėlyną žodį, tada prijunkite jį prie „Adafruit“informacijos santraukos, pavadintos spalva, ir įveskite 0000ff kaip duomenis, siunčiamus tam kanalui. Taip pat galite perduoti papildomas komandas GIANT LED, pvz., Iš naujo arba iš naujo paleisti, jei norite.

Kai nustatote IFTTT aktyviklį, turite pasirinkti siunčiamus duomenis, kurie IFTTT vadinami „Ingredients“. Pirmas gabalas, kurio mums reikia, yra „Vartotojo vardas“, tada tarpas ir „CreatedAt“

Mes pasirenkame abu elementus, kad gavę duomenis į ESP8266 galėtume aptikti, ar tai naujas „tweet“ir ar jis skiriasi nuo ankstesnių tų pačių vartotojų „tweets“. Ką tai turėtų patikti, galite pamatyti iš pridėto paveikslėlio.

6 veiksmas: ESP8266 plokščių įdiegimas į „Arduino IDE“

Čia viskas yra šiek tiek sudėtingiau ir gali prireikti šiek tiek daugiau laiko, kol bus išspręsta. Be ESP8266, jums taip pat reikia „Adafruit IO“bibliotekų ir galite vadovautis šiuo vadovu.

learn.adafruit.com/gmailbox/arduino-setup

Čia taip pat yra paprastas paaiškinimas, kaip pridėti ESP8266 plokštes

Nepamirškite įsitikinti, kad jūsų „Arduino IDE“taip pat atitinka naujausią versiją, o rašydama naudojau 1.8.8.

Kita biblioteka, kurią naudojame, yra „SimpleTimer“, nes tai leis mums nustatyti fono laikmatį, kad galėtume periodiškai tikrinti kanalus, instrukcijas apie tai galite rasti adresu uses simpletimer https://playground.arduino.cc/Code/SimpleTimer# parsisiųsti

7 veiksmas: „WiFi Manager“bibliotekos įdiegimas

Kad galėtume nuotoliniu būdu konfigūruoti „WiFi“sąranką, mes naudosime „Tzapu Wifi Manger“, išsamią informaciją apie tai ir kaip įdiegti bibliotekas rasite čia, github.com/tzapu/WiFiManager

Tai gana paprastas išorinių bibliotekų diegimas ir ši parinktis jau yra „Arduino IDE“įrankių skyriaus skiltyje „Tvarkyti biblioteką“.

8 veiksmas: ESP8266 kodas - naudojant derinimo spausdinimą

// Šiame kode yra spausdinimo pareiškimų, kad galėtumėte stebėti jo veikimą per serijinį monitorių

// Remiantis „Adafruit IO RGB LED“išvesties pavyzdžiu // „Adafruit“investuoja laiką ir išteklius teikdama šį atvirojo kodo kodą. // Prašome palaikyti „Adafruit“ir atvirojo kodo aparatinę įrangą perkant // produktus iš „Adafruit“! // Parašė Todd Treece „Adafruit Industries“// Autorių teisės (c) 2016-2017 „Adafruit Industries“// Licencijuota pagal MIT licenciją. // // Visas anksčiau pateiktas tekstas turi būti įtrauktas į bet kokį perskirstymą. // naudoja paprastą laikmatį https://playground.arduino.cc/Code/SimpleTimer#Do… // https://playground.arduino.cc/Code/SimpleTimer#Do… // likęs „Ajax Jones“kodas https:// žaidimų aikštelė.arduino.cc/Code/SimpleTimer#Do // https://playground.arduino.cc/Code/SimpleTimer#Do… // ******************* ******* Konfigūracija **********************************/ #define IO_USERNAME "jūsų IO Vartotojo vardas „#define IO_KEY“jūsų IO raktas “// palikite tuščią, nes juos gausime per„ Wifi “tvarkyklę, atrodo, kad taip veikia gerai #define WIFI_SSID" "#define WIFI_PASS" "// mes to neįtraukiame įtraukite jo versiją // #include //https://github.com/esp8266/Arduino // reikalinga bibliotekai #include #include #include "WiFiManager.h" //https://github.com/tzapu/WiFiManager # įtraukti „SimpleTimer“laikmatį; #include "AdafruitIO_WiFi.h" AdafruitIO_WiFi io (IO_USERNAME, IO_KEY, WIFI_SSID, WIFI_PASS); // ************************ NeoPixel konfigūracijos ********************** ********* // #include "Adafruit_NeoPixel.h" #define PIXEL_PIN 5 #define PIXEL_COUNT 8 int NUM_LEDS = PIXEL_COUNT; #define PIXEL_TYPE NEO_GRB + NEO_KHZ800 Adafruit_NeoPixel pixels = Adafruit_NeoPixel (PIXEL_COUNT, PIXEL_PIN, PIXEL_TYPE); // Pagrindinės spalvos ir numatytoji spalva ilgai default_color = 865554; ilga RED_color = 2689027; // raudona #290803 ilga GREEN_color = 865554; // žalia #0d3512 ilga BLUE_color = 856117; // mėlyna #0d1035 ilga PURPURO_spalva = 2364968; // violetinė #241628 ilga BRIGHTRED_color = 15990784; // ryškiai raudona #f40000 // ------------------------------------------ ----------------------------------------------- //laikas idėja paimta iš https://www.safaribooksonline.com/library/view/arduino-cookbook-2nd/9781449321185/ch12.html https://playground.arduino.cc/Code/SimpleTimer#Do… https:// žaidimų aikštelė. arduino.cc/Code/SimpleTimer#Do… const long oneSecond = 1000; // sekundė yra tūkstantis milisekundžių const long oneMinute = oneSecond * 60; const ilgos penkios minutės = viena minutė * 5; const ilgas penkiolika minučių = penkios minutės * 3; const long oneHour = penkiolika minučių * 4; // „Twitter“vartotojai, kurie mums labiausiai patinka, jie mirksės, o visi kiti mūsų pasirinkti tweets tiesiog pakeis spalvą String SuperTweet = {"ajaxjones", "donttrythis", "prodnose", "testcom"}; Styginis SuperTuber = {"išbandytas", "cowan", "marty"}; // nustato įspėjimo būseną, kad galėtume ir toliau mirksėti šviesos diodais pagrindinės kilpos boole WHIZZY_TWEET = false; bool WHIZZY_TUBER = klaidinga; bool WHIZZY_TWITCH = klaidinga; // Išsaugo paskutinį „tweet“ir „YouTube“, kad galėtume kaskart paraginti paslaugą dar kartą patikrinti. String lasttweet = ""; Styginė lasttube = ""; Styginių paskutinis jungiklis = ""; // 5 skaitmeninis kaištis, tai yra mygtukas, kurį naudojame, kad atkurtume įspėjimo spalvas #define BUTTON_PIN 4 // mygtuko būsena, iš tikrųjų nenaudojama, nes mes ieškome mygtuko, esančio tarpinio bool current = false; bool last = klaidinga; // nustatykite „spalvotą“sklaidos kanalą, kad tik pagal poreikį galėtume išbandyti ir siųsti spalvas arba naudoti „Alexa“paleidiklį „AdafruitIO_Feed“*color = io.feed ("spalva"); // nustatyti „twitterfan“kanalą - Blue AdafruitIO_Feed *twitter = io.feed ("twitterfan"); // nustatyti „youtubefan“kanalą - Red AdafruitIO_Feed *youtube = io.feed ("youtubefan"); // nustatyti „twitch“kanalą - Purple AdafruitIO_Feed *twitch = io.feed ("twitch"); // nustatyti 'skaitmeninį' sklaidos kanalą AdafruitIO_Feed *digital = io.feed ("input.digital"); // ------------------------------------------------ ---------------------------------------- void setup () {// nustatyti mygtuko kaištį kaip įvestį, mes naudojame INPUT_PULLUP, nes mums nereikia naudoti išorinių rezistorių pinMode (BUTTON_PIN, INPUT_PULLUP); // Prie ISR vektoriaus pritvirtinkite pertrauką mygtukui attachInterrupt (digitalPinToInterrupt (BUTTON_PIN), handleInterrupt, FALLING); // Pradėkite serialą ir palaukite, kol atsidarys serijinis monitorius, tada prisijunkite prie io.adafruit.com Serial.begin (115200); while (! Serial); // neopikselių pradžios pikseliai.begin (); // Nustatykite pradinę būseną į raudoną, kad žinotume, jog esame neprisijungę ir dirbame setAll (0xf4, 0x00, 0x00); // raudona // bandymams tai parodys „WiFi WiFi“būseną.printDiag (Serial); „WiFiManager“„wifiManager“; // nustatyti atgalinį skambutį, kuris iškviečiamas prisijungus prie ankstesnio „WiFi“, nepavyksta ir pereina į prieigos taško režimą wifiManager.setAPCallback (configModeCallback); // atkurti išsaugotus nustatymus, panaikinkite šios eilutės komentarą, kad priverstumėte išbandyti „WiFi“tvarkyklę, kad galėtumėte prisijungti // naudodami telefoną ar planšetinį kompiuterį ieškodami atsirasiančio „Giant LED“tinklo //wifiManager.resetSettings (); // nustato laiką, kol konfigūracijos portalas bus išjungtas // naudinga, kad visa tai būtų bandoma iš naujo arba užmigti // per kelias sekundes wifiManager.setTimeout (240); if (! wifiManager.autoConnect ("GIANT LED")) {Serial.println (F ("nepavyko prisijungti ir patekti į skirtąjį laiką")); // atstatyti ir bandyti dar kartą delsa (3000); ESP.reset (); vėlavimas (1000); } // testavimui galime pamatyti, ar turime tinkamus prisijungimo duomenis //Serial.println (WiFi. SSID ()); //Serial.println(WiFi.psk());//WiFi.begin(WIFI_SSID, WIFI_PASS); // while (WiFi.status ()! = WL_CONNECTED) {// delay (500); // Serijos.spaudas ("."); //} Serial.println (); Serial.println (F („WiFi prijungtas“)); Serial.println (F ("IP adresas:")); Serial.println (WiFi.localIP ()); // dabar prisijungiame prie IO paslaugos Serial.print (F ("Prisijungimas prie Adafruit IO")); io.connect (); // nustatykite pranešimų tvarkyklę „spalvotam“sklaidos kanalui. spalva-> onMessage (handleMessage); // nustatyti „twitterfan“sklaidos kanalo pranešimų tvarkytoją. twitter-> onMessage (twitterMessage); // nustatyti „youtubefan“sklaidos kanalo pranešimų tvarkytoją. youtube-> onMessage (youtubeMessage); // nustatyti „twitch“sklaidos kanalo pranešimų tvarkytoją. twitch-> onMessage (twitchMessage); // laukti ryšio, kol (io.status () <AIO_CONNECTED) {Serial.print (F (".")); vėlavimas (500); } // mes prisijungę Serial.println (); Serial.println (io.statusText ()); //Serial.println (sizeof(SuperTweet)); //Serial.println(sizeof(SuperTweet[0])); // Išspausdinkite laukiamų „Twitter“paskyrų sąrašą (baitas idx = 0; idx <sizeof (SuperTweet) / sizeof (SuperTweet [0]); idx ++) {Serial.print (F ("SuperTweet [")); Serial.print (idx); Serijinis atspaudas ("] = '"); Serial.print (SuperTweet [idx]); Serial.println ("" "); } // Išspausdinkite laukiamų „YouTube“paskyrų sąrašą (baitas idx = 0; idx get (); // paprašykite esamų sklaidos kanalų būsenų, todėl turėsite paspausti nustatymą iš naujo, kai paleidžiama „YouTube“-> get (); twitter-> get (); twitch-> get (); nes (int i = 0; i get (); twitter-> get (); twitch-> get (); Serial.print ("gauti tweets"); Serial.print ("uptime (s):"); Serial.println (millis () / 1000);} // ---------------- -------------------------------------------------- ----------------------- void loop () {// io.run (); būtina visiems eskizams. io.run (); laikmatis. run (); if (WHIZZY_TWEET == true) {RunningLights (0x0d, 0x10, 0x35, 250);} if (WHIZZY_TUBER == true) {RunningLights (0x29, 0x08, 0x03, 250);} if (WHIZZY_TWITCH == tiesa) {RunningLights (0x24, 0x16, 0x28, 250);}} // --------------------------------- -------------------------------------------------- ------ // nustatykite pertrauką, kad ištrintų įspėjimą, kai paspaudžiamas mygtukas, ir patikrinkite interneto tuštumos rankenąInterrupt () {WHIZZY_TWEET = klaidinga; WHIZZY_TUBER = klaidinga; WHIZZY_TWITCH = klaidinga; srovė = tiesa; // siųskite dabartinę būseną į „input.digital“kanalą „adafruit io“, kad galėtume jį pamatyti skaitmeniniu būdu-> išsaugoti (dabartinis); for (int i = 0; i ")); Serial.print (dabartinis); Serial.print (F (" ir numatytoji spalva ")); Serial.println (default_color); current = false; digital-> save (current); while (WiFi.status ()! = WL_CONNECTED) {delay (500); setAll (0xeb, 0xfb, 0x03); // Geltona ebfb03}} // -------------- -------------------------------------------------- ------------------------- // tai iškviečiama kiekvieną kartą, kai gaunamas „twitter“pranešimas-nustatykite šviesos diodą į „Blue void twitterMessage“(„AdafruitIO_Data“*duomenys) {String tweeter = (duomenys-> toString ()); tweeter.toLowerCase (); if ((lasttweet! = Tweeter) && (tweeter! = "")) {Lasttweet = tweeter; setAll (0x0d, 0x10, 0x35); // Nustatykite mėlyną tviterio spalvą Serial.print (F ("Tweet:")); Serial.print (tweeter); // patikrinkite, ar nėra mėgstamiausio aukštųjų dažnių garsiakalbio (baitas idx = 0; idx = 0) {// Leiskite sukurti jų tweets whizzy #0d1035 WHIZZY_TWEET = true; Serial.print ("by"); Serial.print (SuperTweet [idx]);}} Serial.println ("");}} //------ -------------------------------------------------- ---------------------------- // tuber.toLowerCase (); if ((lasttube! = gumbas) && (gumbas! = "")) {lasttube = gumbas; setAll (0x29, 0x08,0x03); // Nustatykite „YouTube“raudoną spalvą 290803 Serial.print (F ("Youtube:"))); Serial.println (gumbas); // patikrinkite, ar nėra mėgstamiausio „Youtuber“(baitas idx = 0; idx = 0) {// Leiskite padaryti jų vaizdo įrašus šmaikščius #0d1035 WHIZZY_TUBER = true; Serial.print ("pagal"); Serijinis atspaudas („SuperTuber“[idx]); }} Serial.println (""); }} // ---------------------------------------------- ------------------------------------------- // tai vadinama, kai a ateina pranešimas „trūkčiojimas“- nustatykite šviesos diodą į PURPLE void twitchMessage („AdafruitIO_Data“*duomenys) {String twitch = (data-> toString ()); twitch.toLowerCase (); if ((lasttwitch! = twitch) && (twitch! = "")) {lasttwitch = trūkčiojimas; setAll (0x24, 0x16, 0x28); // Nustatykite trūkčiojimo violetinę spalvą #241628 Serial.print (F ("Twitch:")); Serial.println (trūkčiojimas); // Nėra patikros mėgstamam „Twitcher“, mes sekame tik vieną WHIZZY_TUBER = true; Serial.println (""); }} // ---------------------------------------------- ------------------------------------------- // ši funkcija iškviečiama bet kada gaunamas pranešimas „spalva“// kuris paleidžiant nustatys numatytąją spalvą, atsižvelgiant į paskutinę spalvų tiekimo reikšmę void handle: ")); Serial.println (duomenys-> vertė ()); ilga spalva = duomenys-> toNeoPixel (); // numatytoji_spalva = spalva; Serijinis atspaudas (F ("Gautas HEX ilgas:")); Serial.println (spalva); (int i = 0; i <PIXEL_COUNT; ++ i) {pixels.setPixelColor (i, spalva); } showStrip (); } // ----------------------------------------------- ------------------------------------------ negalioja „RunningLights“(baitas raudonas, baitas žalias), baitas mėlynas, int WaveDelay) {int Pozicija = 0; už (int j = 0; j <NUM_LEDS; j ++) {Pozicija ++; // = 0; // Pozicija + norma; (int i = 0; i <NUM_LEDS; i ++) {setPixel (i, ((sin (i + padėtis) * 127 + 128) / 255) * raudona, ((sin (i + padėtis) * 127 + 128) / 255)*žalia, ((sin (i + padėtis)*127 + 128) / 255)*mėlyna); } showStrip (); uždelsimas („WaveDelay“); }} // ---------------------------------------------- ------------------------------------------- // Neopikselių rutinos void setAll (baitas raudonas, baitas žalias, baitas mėlynas) {for (int i = 0; i getConfigPortalSSID ()); // įvestas konfigūracijos režimas, nustatykite „Neo Pixel“į violetinę #241628 = 2364968 // setAll (0x24, 0x16, 0x28); setAll (0xeb, 0xfb, 0x03); // Geltona ebfb03}

9 žingsnis: litavimas kartu

Lituoti viską kartu
Lituoti viską kartu
Lituoti viską kartu
Lituoti viską kartu
Lituoti viską kartu
Lituoti viską kartu

Viskas šioje konstrukcijoje yra sulituota ir turėtų būti gana paprasta valdyti. Aš naudoju 3 skirtingų spalvų laidus, kad viskas būtų paprasta, ir pirmiausia reikia išmatuoti neopikselio laidą prie WEMOS. Pyniau juos ir uždėjau nedidelį termiškai susitraukiančio gabalėlio gabalėlį, o po to lituodavau, kaip parodyta, kad jis gulėtų tiesiai į objektyvą.

Mygtukas buvo šalia ir tvirtai tilps į pagrindą. Viena mygtuko pusė eina į Gnd ir ji susukta kartu su neopikselio įžeminimo viela. Tada aš juos konservavau ir litavau kaip vieną į WEMOS įžeminimo kaištį.

„Neopixel“maitinimo laidas eina į 5 V PIn. Neopikselio signalinis laidas arba Di (duomenys in) yra lituojamas prie „Wemos“kaiščio kaip D1. Yra keletas svetainių, siūlančių su tuo nuosekliai įterpti 300–500 omų rezistorių, tačiau kol kas neturėjau jokių problemų, todėl kol kas tai tiesiog tiesioginis ryšys.

Siekdamas užtikrinti gerą praktiką ir pataręs tokiose svetainėse kaip „Adafruit“, aš neopikseliui įdėjau 330R rezistorių su Di linija. Tai neleis pirmajam žiedo šviesos diodui išleisti stebuklingų pikselių ir tiesiog tai padaryti perpjovus laidą ir įkišus rezistorių. Galite nupjauti rezistorių gana trumpai ir tiesiog įdėti lanką į kiekvieną galą ir padaryti tą patį su viela.

Kitas mygtuko laidas eina tiesiai į kaištį D2. Nereikia traukimo rezistoriaus, nes tai tvarkoma programinėje įrangoje, prieš tą kaištį įvedant PULLUP komandą.

Tai iš esmės viskas.

10 žingsnis: 3D spausdinimas

Čia pridedami STL failai, kuriuos naudojame „Giant LED“. Failai yra „astro73“remiksas/perdirbimas, taip pat galite paimti visus failus iš

Kojoms ir pagrindui naudojau „Sunlu PETG+“siūlą, kuris tikrai gerai veikia „Prusa i3“, ir aš naudoju 10 arba 20% gyroid užpildą.

Pačiam šviesos diodui aš naudoju skaidrią „Sunlu“PLA ir maždaug 10% užpildą su koncentriniais viršutiniais ir apatiniais sluoksniais.

Su kiekvienu iš „Slic3r“naudoju tik „Prusa PET“ir „Prusa PLA“nustatymus, ir jie visi pasiteisino. Ant kojų šiek tiek susiraukiu, bet tiesiog ant jų uždedu pūtiklį ir stygos išnyksta:)

11 žingsnis: milžiniškas LED surinkimas

Milžiniškas LED surinkimas
Milžiniškas LED surinkimas
Milžiniškas LED surinkimas
Milžiniškas LED surinkimas
Milžiniškas LED surinkimas
Milžiniškas LED surinkimas

Visi gabalai yra labai lengvai sujungti, turite įspausti M3 veržlę į pagrindą, kad varžtas galėtų laikyti daiktą kartu. Taip pat pirmiausia turite prijungti „NeoPixel“prie WEMOS per kojas. Svarsčiau, kaip įdėti kai kurias jungtis, bet nusprendžiau, kad ateityje jos neišsiskirs.

Objektyvas yra tik stumiamas ant kojų, o jos savo ruožtu yra pritvirtintos prie pagrindo vienu M3x20 mm varžtu. Jums gali tekti peiliu pasukti sagos skylės vidų, kad jis gražiai ir laisvai judėtų. „Wemos“laikomas vietoje su 2 M2x8 varžtais, prisuktais iš apačios.

Norėdami baigti, galite klijuoti veltinio gabalėlį ant pagrindo, kad prireikus sustabdytumėte slydimą.

12 veiksmas: sąrankos ir naudojimo instrukcijos

Image
Image
Sąrankos ir naudojimo instrukcijos
Sąrankos ir naudojimo instrukcijos
Sąrankos ir naudojimo instrukcijos
Sąrankos ir naudojimo instrukcijos

Kai viskas bus paruošta ir įkelta programinė įranga, įjunkite šiek tiek energijos į USB, o GIANT šviesos diodas turėtų užsidegti, o šviesos diodas užsidegs RAUDONAI ir pasikeis į geltoną spalvą. Tai rodo, kad jis yra neprisijungęs ir laukia „Wi -Fi“konfigūracijos. Naudodami telefoną ar panašiai ieškokite „GIANT LED wifi“tinklo ir prisijunkite, ir gausite „WiFi Manager“ekraną. Jis nuskaitys jūsų vietinę vietovę ir jūs tiesiog įvesite savo „Wi -Fi“duomenis, ESP bus paleistas iš naujo ir dabar būsite prisijungę prie žalios šviesos. Šiuo metu jis taip pat prisijungs prie IO ir užsidegs įspėjamosios lemputės, nes dar nematė jokių ankstesnių pranešimų. Paspauskite mygtuką keletą kartų ir GIANT šviesos diodas yra paruoštas naujinimams.

Šiuo metu galite pereiti prie „Adafruit IO“prietaisų skydelio ir pridėti tam tikrų duomenų prie kiekvieno sklaidos kanalo ir pamatyti, kaip lemputės pereina į įspėjimo režimą.

Pasilinksmink !

13 veiksmas: ką dar gali padaryti milžiniškas šviesos diodas

Ką dar gali padaryti milžiniškas šviesos diodas
Ką dar gali padaryti milžiniškas šviesos diodas
Ką dar gali padaryti milžiniškas šviesos diodas
Ką dar gali padaryti milžiniškas šviesos diodas

Kai turėsite tokio dizaino pagrindus ir naudodami IFTTT, galėsite jį naudoti daugeliui dalykų. „Gmail“gautųjų įspėjimas yra vienas paprastas, ir kadangi „Adafruit“taip pat veikia su „Webhooks“, kitos programos taip pat gali siųsti duomenis į jį. Šiuo metu turiu vieną, kad galėčiau sekti kai kuriuos „Big Query“duomenų įkėlimus kaip darbo projekto dalį.

Taip pat naudodami mygtuką galite signalizuoti ir apie kitus GIANT šviesos diodus, galite turėti vieną skirtinguose namuose ir naudoti kaip nuotolinį indikatorių, kad kita šalis paspaustų mygtuką, kad atšauktų šviesą.

Čia yra naudinga nuoroda apie „Webhook“metodą, siunčiant duomenis į sklaidos kanalą. Šiuo atveju ji naudoja IFTTT programėlę, tačiau taip pat lengvai galite naudoti CURL metodą su python.

io.adafruit.com/blog/notebook/2018/11/26/f…

Tiesą sakant, netgi galima į bazę įdėti OLED 128x32, kad papildytų šviesos diodą tam tikru tekstiniu turiniu. Šiuo metu dirbu ties tuo ir atnaujinsiu STL ir pateiksiu kodą, kad taip pat būtų galima naudoti IO.

Rekomenduojamas: