Obsah:

Obrie LED - sledovanie Adam Savage: 13 krokov (s obrázkami)
Obrie LED - sledovanie Adam Savage: 13 krokov (s obrázkami)

Video: Obrie LED - sledovanie Adam Savage: 13 krokov (s obrázkami)

Video: Obrie LED - sledovanie Adam Savage: 13 krokov (s obrázkami)
Video: 35 видео со страшными призраками: мегасборник 2023 года [V1] 2024, Júl
Anonim
Giant LED - sledovanie Adam Savage
Giant LED - sledovanie Adam Savage
Giant LED - sledovanie Adam Savage
Giant LED - sledovanie Adam Savage
Giant LED - sledovanie Adam Savage
Giant LED - sledovanie Adam Savage

Tu nájdete prevedenie obrovskej LED diódy, ktoré má slúžiť ako výstražná kontrolka Twitter, YouTube a Twitch. Hlavným cieľom pre mňa je poskytnúť upozornenie, keď sú k dispozícii tweety, videá alebo streamy od Adama Savage a testovaného tímu, a aby som bol úprimný, niekoľko ďalších ľudí, ktorých sledujem, ako Robert Cowan, Marty the Mechanic a ďalší.

Očividne som mohol na svojom telefóne alebo prenosnom počítači používať twitter, twitch atď., Ale existuje toľko upozornení z toľkých služieb a upozornení, že ich v zásade vypnem a telefón sa po 22:00 prepne do tichého režimu, pretože bude fungovať aj s Webhooks Mám jeden nakonfigurovaný aj na príjem aktualizácií z niektorých tabuliek Biq Query, ktoré súvisia s prácou, aby mi dal vedieť, či boli aktualizované v poriadku s dostatočným počtom záznamov každý deň.

Adafruit má službu s názvom Adafruit IO, ktorú som chcel vyskúšať a celý rok som mal v úmysle pokúsiť sa znova vyriešiť problém s ESP8266 po vypočutí dobrých slov o vydaní Wemos D1 Mini 3. Všetko sa to začalo spájať, keď som našiel dizajn pre LED diódu na univerzáli od Astro73. Začal som s tým a trochu som to prepracoval na mierku a tiež na pridanie tlačidla do základne a niekoľko ďalších kozmetických zmien. Remix nájdete tu

Navyše to môže byť ovládané hlasom prostredníctvom Alexa aj teraz, s príchodom spúšťacieho slova IFTTT alexa.

Krok 1: Prísady

Ak chcete urobiť jednu z nich, zoznam dielov je pomerne malý a tiež relatívne lacný. Ak vám nevadí čakanie, môžete získať hlavné diely zo zahraničia a ešte viac znížiť náklady. Hlavnou zložkou je však obrie LED puzdro a základňa. Ak máte 3D tlačiareň, potom je všetko v poriadku, ak nie, existuje niekoľko online tlačiarenských spoločností, ktoré diely vytlačia. Existujú iba 3, takže by mali byť tiež dosť lacné.

1. Wemos D1 Mini R3

2. Neopixel 8 LED

3. Vytlačená základňa a nohy v čiernom PETG

4. Vytlačený objektív a držiak svetla v priehľadnom PLA

5. Tlačidlový spínač 12 mm štvorec x1

6. Okrúhly uzáver s tlačidlom x1

7. USB kábel a adaptér pre napájanie

8. Hlavica tlačidiel M3x20

9. Matica M3

10. Skrutka M2x8mm x2

11. Matica M2 x2

12. Nejaký čierny, červený a žltý drôt

13. Rezistor 300-500 Ohm

14. Malý kúsok tepla

Môžete použiť iné zariadenia ESP alebo dokonca Huzzah, ale puzdro bolo navrhnuté pre mini, ktoré má montážne otvory a zabraňuje vlepovaniu.

Krok 2: Nástroje

Na to, aby ste to vytvorili a vytvorili, budete potrebovať nasledujúce

1. 3D tlačiareň

2. Imbusový kľúč 1,5 mm a 2 mm

3. Spájkovačka a spájka

4. Drotári

5. Kliešte

6. Zmysel pre humor

7. Skalpel na orezávanie

Krok 3: Požiadavky na kód

Než sa teda ponoríme do zostavy, načrtnem niektoré z požiadaviek, ktoré som do nej chcel zahrnúť. Väčšinu z nich som mal na mysli pred začiatkom a načrtol som niekoľko tokov, aby som zistil, čo idem skúsiť. Postupne som však zistil niekoľko problémov so službami, ktoré som chcel riešiť.

Požiadavky.

Chcel som, aby mi LED dióda ukazovala, kedy bol uverejnený nový tweet alebo video, a tiež sa ukázalo, že sa objaví, keď sa spustí špecifický kanál Twitch. Tiež som chcel, aby výstraha pokračovala, kým ju nezruším, aby som, ak budem na chvíľu preč, vedel, čo sa stalo, kým som bol preč. Tiež som chcel, aby bol konfigurovateľný pre prístup k Wi-Fi bez toho, aby som musel tiež aktualizovať softvér. Posledná vec, ktorá sa tiež vynorila, bola okrem toho, že som reagoval na udalosti naživo, potreboval som, aby každých 15 minút kontroloval stav údajov, ktoré sú k nim privádzané.

Takže so základmi na mieste, ďalšou vecou bolo zistiť, ako bude každá časť vykonaná. Nižšie si môžete pozrieť moje nápady o tom, ktorá časť by bola spracovaná akým typom softvéru alebo platformy.

1. Adafruit IO, slúži na nastavenie informačných kanálov pre výstrahy, účet môžete získať tu

Budem to používať ako službu čakania na správy, kde jej budem posielať správy z IFTTT a potom Giant LED prijme tieto správy, aby na ne mohla pôsobiť.

2. IFTTT, https://ifttt.com/ a toto sa používa na skenovanie vybraných kanálov Twitter, YouTube a Twitch a potom odošle udalosť na Adafruit IO

3. Kód ESP8266 na čítanie týchto kanálov, ktorý je do ESP8266 napálený pomocou štandardného IDE Arduino (v1.8.8)

4. Arduino kód, načítaný do ESP8266, aby prečítal kanály Adafruit IO a rozsvietil Neopixel

5. Arduino kód na prečítanie tlačidla na vymazanie výstrahy

6. Byť schopný konfigurovať adaptér WiFi bez toho, aby som musel znovu zapnúť ESP, a na to som použil knižnicu WiFi Manager od Tzapu, https://github.com/tzapu/WiFiManager, aj keď možnosti nastavenia vyžadovali malú zmenu Knižnice Adafruit IO.

Krok 4: Nastavenie IO Adafruit

Nastavenie IO Adafruit
Nastavenie IO Adafruit

Toto je prvý krok, pretože budete potrebovať prístupové kľúče, ktoré tu vytvoríte, a tiež musíte vytvoriť informačné kanály, do ktorých bude IFTTT odosielať udalosti. Môžete si založiť tento aj IFTTT účet a do značnej miery nechať všetko nastaviť a fungovať, než sa presuniete do časti Arduino tohto projektu.

Namiesto kopírovania príkladov adafruit môžete nájsť základy tu https://learn.adafruit.com/gmailbox/adafruit-io-se…, ktoré vám pomôžu nastaviť.

Potom pre GIANT LED budete tiež musieť pridať k predvoleným kanálom nasledujúce kanály

1. farba - to nám umožňuje vzdialene meniť farbu pomocou niečoho ako Alexa

2. škubnutie

3. twitterfan

4. youtubefan

Potom musíte tiež vytvoriť novú skupinu, ak ste ešte nezavolali vstup, potom do tejto skupiny vytvorte aj kanál s názvom digitálny. Vďaka tomu uvidíme aj efekt stlačenia tlačidla, ak by sme chceli rozšíriť používanie tohto zariadenia na iné účely.

Ak si v tomto bode tiež želáte, je hrať s dashboardom, aby ste naň mohli pridať tieto kanály na informačné účely a na účely hľadania chýb.

Krok 5: Nastavenie IFTTT

Nastavenie IFTTT
Nastavenie IFTTT
Nastavenie IFTTT
Nastavenie IFTTT

Môžete tiež sledovať sprievodcu Adafruit tu, https://learn.adafruit.com/gmailbox/ifttt-setup. Potom si môžete vybrať akcie Twitter, youtube a twitch, nastaviť zoznamy sledovania a potom ich odoslať do príslušných kanálov. Pripojil som jednoduché video, aby ste videli, ako rýchlo to môže byť.

Navyše, ak chcete hlasovo ovládať farbu svojich LED diód Alexa, teraz existuje aplet Amazon Alexa. Ak chcete nastaviť jeden z nich, vyberte aplikáciu a zvoľte slovo modré, potom ho pripojte k kanálu Adafruit, ktorý ste nastavili, s názvom farba, a ako údaje, ktoré sa majú odoslať na tento kanál, zadajte 0000ff. Na GIANT LED môžete týmto spôsobom odovzdať aj ďalšie príkazy, ako napríklad reset alebo reštart, ak chcete.

Pri nastavovaní spúšťača IFTTT musíte vybrať odosielané údaje, ktoré sa v IFTTT nazývajú „Prísady“. Prvá časť, ktorú potrebujeme, je „Používateľské meno“, potom medzera a potom „CreatedAt“

Vyberáme obe položky, aby keď údaje prídu do ESP8266, budeme môcť zistiť, či ide o nový tweet a či sa líši od predchádzajúcich tweetov od rovnakých používateľov. Čo by to malo chcieť, môžete vidieť na priloženom obrázku.

Krok 6: Inštalácia dosiek ESP8266 do IDE Arduino

Tu sú veci trochu zložitejšie a ich vyriešenie môže chvíľu trvať. Okrem ESP8266 potrebujete aj IO knižnice Adafruit a pri týchto sa môžete riadiť týmto sprievodcom.

learn.adafruit.com/gmailbox/arduino-setup

Existuje jednoduché vysvetlenie, ako pridať dosky ESP8266 aj sem

Nezabudnite sa tiež uistiť, že vaše Arduino IDE je v najnovšej verzii a v čase písania tohto článku som používal 1.8.8.

Jednou z ďalších knižníc, ktoré používame, je SimpleTimer, pretože nám to umožní nastaviť časovač na pozadí, aby sme mohli periodicky kontrolovať informačné kanály. Pokyny k tomu nájdete na stránke simpletimer https://playground.arduino.cc/Code/SimpleTimer# Stiahnuť ▼

Krok 7: Inštalácia knižnice správcu WiFi

Aby sme mohli získať vzdialenú konfiguráciu nastavenia WiFi, použijeme Tzapu Wifi Manger, podrobnosti o tomto a spôsobe inštalácie knižníc nájdete tu, github.com/tzapu/WiFiManager

Toto je veľmi jednoduchá inštalácia externých knižníc a táto možnosť je už v sekcii Spravovať knižnicu v sekcii nástrojov Arduino IDE.

Krok 8: Kód ESP8266 - s tlačou ladenia

// Tento kód obsahuje tlačové príkazy, takže môžete monitorovať jeho činnosť prostredníctvom sériového monitora

// Na základe príkladu výstupu LED LED Adafruit IO // Adafruit investuje čas a zdroje tým, že poskytuje tento otvorený zdrojový kód. // Podporte prosím Adafruit a hardvér s otvoreným zdrojovým kódom nákupom // produktov od Adafruit! // // Napísal Todd Treece pre Adafruit Industries // Copyright (c) 2016-2017 Adafruit Industries // Licencované pod licenciou MIT. // // Všetky texty uvedené vyššie musia byť zahrnuté v akejkoľvek redistribúcii. // používa simpletimer https://playground.arduino.cc/Code/SimpleTimer#Do… // https://playground.arduino.cc/Code/SimpleTimer#Do… // zvyšok kódu od Ajax Jones https:// ihrisko.arduino.cc/Code/SimpleTimer#Do // https://playground.arduino.cc/Code/SimpleTimer#Do… // ******************** ******* Konfigurácia ************************************* ##define IO_USERNAME "vaše IO Používateľské meno "#define IO_KEY" váš IO kľúč "// nechajte prázdne, pretože ich dostaneme prostredníctvom správcu Wifi, zdá sa, že to takto funguje #define WIFI_SSID" "#define WIFI_PASS" "// toto nezadávame, pretože AdafruitIO bude zahrňte jeho verziu // #include //https://github.com/esp8266/Arduino // potrebné pre knižnicu #include #include #include "WiFiManager.h" //https://github.com/tzapu/WiFiManager # zahrnúť časovač SimpleTimer; #include "AdafruitIO_WiFi.h" AdafruitIO_WiFi io (IO_USERNAME, IO_KEY, WIFI_SSID, WIFI_PASS); // ************************* Konfigurácie NeoPixel ********************* ********* // #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 pixelov = Adafruit_NeoPixel (PIXEL_COUNT, PIXEL_PIN, PIXEL_TYPE); // Hlavné farby a predvolená farba dlhá default_color = 865554; dlhý RED_color = 2689027; // červená #290803 dlhá ZELENÁ_farba = 865554; // zelená #0d3512 dlhá BLUE_color = 856117; // modrá #0d1035 dlhá PURPLE_color = 2364968; // fialová #241628 dlhá BRIGHTRED_color = 15990784; // jasne červená #f40000 // ------------------------------------------ ------------------------------------------------ // čas myšlienka prevzatá z https://www.safaribooksonline.com/library/view/arduino-cookbook-2nd/9781449321185/ch12.html https://playground.arduino.cc/Code/SimpleTimer#Do… https:// ihrisko. arduino.cc/Code/SimpleTimer#Do… const long oneSecond = 1000; // sekunda je tisíc milisekúnd konštantná oneMinute = oneSecond * 60; konštantná dlhá päť minút = jedna minúta * 5; konšt. dlhá pätnásť minút = päť minút * 3; konštantná jedna hodina = pätnásť minút * 4; // Používatelia Twitteru, ktorí sa nám najviac páčia, budú blikať a všetky ostatné tweety, ktoré sme vybrali, jednoducho zmenia farbu. Reťazec SuperTuber = {"testovaný", "cowan", "marty"}; // nastaví stav výstrahy, aby sme mohli stále blikať LED diódy v boole hlavnej slučky WHIZZY_TWEET = false; bool WHIZZY_TUBER = false; bool WHIZZY_TWITCH = false; // Uloží posledný tweet a youtube, aby sme službu mohli pokecať a každú chvíľu dvakrát skontrolovať String lasttweet = ""; Reťazec lasttube = ""; Reťazec lasttwitch = ""; // digitálny pin 5, toto je tlačidlo, ktoré používame na resetovanie výstražných farieb #define BUTTON_PIN 4 // stav tlačidla, nie taký, ako sa používa, keď hľadáme tlačidlo na prerušenie bool current = false; bool last = false; // nastavte informačný kanál „color“, aby sme mohli testovať a odosielať farby na požiadanie alebo použiť spúšťač Alexa AdafruitIO_Feed *color = io.feed („color“); // nastavenie kanála 'twitterfan' - Blue AdafruitIO_Feed *twitter = io.feed ("twitterfan"); // nastavenie informačného kanála 'youtubefan' - Red AdafruitIO_Feed *youtube = io.feed ("youtubefan"); // nastavenie informačného kanála „twitch“- Purple AdafruitIO_Feed *twitch = io.feed („twitch“); // nastavenie 'digitálneho' kanála AdafruitIO_Feed *digital = io.feed ("input.digital"); // ------------------------------------------------ ----------------------------------------- neplatné nastavenie () {// nastavte kolíkový prepínač ako vstup, používame INPUT_PULLUP, pretože nemusíme používať externé odpory pinMode (BUTTON_PIN, INPUT_PULLUP); // Pripojenie prerušenia k vektoru ISR pre tlačidlo attachInterrupt (digitalPinToInterrupt (BUTTON_PIN), handleInterrupt, FALLING); // Spustite sériový prenos a počkajte, kým sa otvorí monitor sériového pripojenia, potom sa pripojte k serveru io.adafruit.com Serial.begin (115200); while (! Serial); // neopixel begin pixely.begin (); // Nastavte počiatočný stav na červenú, aby sme vedeli, že sme offline a pracujeme setAll (0xf4, 0x00, 0x00); // červená // na testovanie, toto ukáže stav WiFi WiFi.printDiag (sériové); WiFiManager wifiManager; // nastavenie spätného volania, ktoré sa zavolá pri zlyhaní predchádzajúceho pripojenia WiFi, a prejde do režimu prístupového bodu wifiManager.setAPCallback (configModeCallback); // vynulujte uložené nastavenia, zrušte komentovanie tohto nasledujúceho riadku, aby ste prinútili testovať správcu WiFi, aby ste sa mohli pripojiť // pomocou telefónu alebo tabletu vyhľadať sieť Giant LED, ktorá sa zobrazí //wifiManager.resetSettings (); // nastaví časový limit, kým sa konfiguračný portál nevypne // užitočné, aby sa to všetko zopakovalo alebo prešlo do režimu spánku // za niekoľko sekúnd wifiManager.setTimeout (240); if (! wifiManager.autoConnect ("GIANT LED")) {Serial.println (F („Nepodarilo sa pripojiť a vypršal časový limit“)); // reset a skúste to znova oneskorenie (3000); ESP.reset (); oneskorenie (1000); } // // na testovanie zistíme, či máme správne poverenia na pripojenie //Serial.println (WiFi. SSID ()); //Serial.println(WiFi.psk());//WiFi.begin(WIFI_SSID, WIFI_PASS); // while (WiFi.status ()! = WL_CONNECTED) {// oneskorenie (500); //Serial.print ("."); //} Serial.println (); Serial.println (F ("WiFi pripojené")); Serial.println (F ("IP adresa:")); Serial.println (WiFi.localIP ()); // teraz sa pripájame k IO službe Serial.print (F („Pripojenie k Adafruit IO“)); io.connect (); // nastavenie obsluhy správ pre informačný kanál „farba“. farba-> onMessage (handleMessage); // nastavenie obsluhy správ pre kanál 'twitterfan'. twitter-> onMessage (twitterMessage); // nastavenie obsluhy správ pre kanál 'youtubefan'. youtube-> onMessage (youtubeMessage); // nastavenie obsluhy správ pre kanál „zášklby“. škubnutie-> onMessage (twitchMessage); // čakať na spojenie while (io.status () <AIO_CONNECTED) {Serial.print (F (".")); oneskorenie (500); } // sme pripojení Serial.println (); Serial.println (io.statusText ()); //Serial.println(sizeof(SuperTweet)); //Serial.println(sizeof(SuperTweet[0])); // Vytlačte si zoznam účtov Twitter, na ktoré čakáme (byte idx = 0; idx <sizeof (SuperTweet) / sizeof (SuperTweet [0]); idx ++) {Serial.print (F ("SuperTweet [")); Serial.print (idx); Serial.print ("] = '"); Serial.print (SuperTweet [idx]); Serial.println ("'"); } // Vytlačte si zoznam účtov YouTube, na ktoré čakáme (byte idx = 0; idx get (); // požiadajte o existujúce stavy kanálov, takže pri spustení youtube budete musieť stlačiť reset -> get (); twitter-> get (); twitch-> get (); for (int i = 0; i get (); twitter-> get (); twitch-> get (); Serial.print ("získanie niektorých tweetov"); Serial.print ("uptime (s):"); Serial.println (millis () / 1000);} // ---------------- ---------------------------------------------------------- ----------------------- prázdna slučka () {// io.run (); je potrebná pre všetky skice. io.run (); časovač. run (); if (WHIZZY_TWEET == true) {RunningLights (0x0d, 0x10, 0x35, 250);} if (WHIZZY_TUBER == true) {RunningLights (0x29, 0x08, 0x03, 250);} if (WHIZZY_TWITCH == true) {RunningLights (0x24, 0x16, 0x28, 250);}} // --------------------------------- ---------------------------------------------------------- ------ // nastavte prerušenie tak, aby zrušilo upozornenie pri stlačení tlačidla, a skontrolujte internet neplatný handleInterrupt () {WHIZZY_TWEET = falošný; WHIZZY_TUBER = nepravda; WHIZZY_TWITCH = false; prúd = pravda; // pošlite aktuálny stav do kanála 'input.digital' na adafruit io, aby sme ho mohli vidieť digitálne> uložiť (aktuálny); for (int i = 0; i ")); Serial.print (current); Serial.print (F (" and default color ")); Serial.println (default_color); current = false; digital-> save (current); while (WiFi.status ()! = WL_CONNECTED) {delay (500); setAll (0xeb, 0xfb, 0x03); // Yellow ebfb03}} // -------------- ---------------------------------------------------------- ------------------------- // toto sa volá vždy, keď príde správa „twitter“-nastavte LED na Blue void twitterMessage (údaje AdafruitIO_Data *) {String tweeter = (data-> toString ()); tweeter.toLowerCase (); if ((lasttweet! = Tweeter) && (tweeter! = "")) {Lasttweet = tweeter; setAll (0x0d, 0x10, 0x35); // Nastaviť tweetovú modrú farbu Serial.print (F ("Tweet:")); Serial.print (tweeter); // vyhľadať obľúbený výškový reproduktor pre (byte idx = 0; idx = 0) {// Umožňuje vytvoriť ich tweety svižné #0d1035 WHIZZY_TWEET = true; Serial.print ("by"); Serial.print (SuperTweet [idx]);}} Serial.println ("");}} // --------- ---------------------------------------------------------- ---------------------------- - // toto sa volá vždy, keď príde správa „youtube“- nastavte LED na ČERVENÚ prázdnotu youtubeMessage (údaje AdafruitIO_Data *) {String tuber = (data-> toString ()); tuber.toLowerCase (); if ((lasttube! = tuber) && (tuber! = "")) {lasttube = tuber; setAll (0x29, 0x08,0x03); // Nastavenie červenej farby youtube 290803 Serial.print (F ("Youtube:")); Serial.println (hľuza); // vyhľadajte obľúbeného Youtubera pre (bajt idx = 0; idx = 0) {// Umožníme svojim videám svižnosť #0d1035 WHIZZY_TUBER = true; Serial.print ("od"); Serial.print (SuperTuber [idx]); }} Serial.println (""); }} // ---------------------------------------------- -------------------------------------------------- // to sa volá vždy a Prišla správa „škubnutie“- nastavte LED na PURPLE a neplatné twitchMessage (údaje AdafruitIO_Data *) {twitch twitch = (data-> toString ()); twitch.toLowerCase (); if ((lasttwitch! = twitch) && (twitch! = "")) {lasttwitch = twitch; setAll (0x24, 0x16, 0x28); // Nastavenie zášklby purpurovej farby #241628 Serial.print (F ("Twitch:")); Serial.println (škubnutie); // Žiadna kontrola obľúbeného Twitchera, sledujeme iba jedného WHIZZY_TUBER = true; Serial.println (""); }} // ---------------------------------------------- -------------------------------------------------- // Táto funkcia sa volá kedykoľvek prijme sa správa „farba“//, ktorá nastaví predvolenú farbu pri štarte na základe hodnoty posledného farebného kanála void handleMessage (údaje AdafruitIO_Data *) {// vytlačí hodnoty RGB a hexadecimálnu hodnotu Serial.print (F („prijatá hodnota HEX“): ")); Serial.println (data-> hodnota ()); dlhá farba = data-> toNeoPixel (); // default_color = color; Serial.print (F ("Prijatý HEX dlhý:")); Serial.println (farba); pre (int i = 0; i <PIXEL_COUNT; ++ i) {pixely.setPixelColor (i, farba); } showStrip (); } // ----------------------------------------------- ------------------------------------------ neplatné RunningLights (byte červený, byte zelený, byte blue, int WaveDelay) {int Position = 0; pre (int j = 0; j <NUM_LEDS; j ++) {Pozícia ++; // = 0; // Pozícia + rýchlosť; pre (int i = 0; i <NUM_LEDS; i ++) {setPixel (i, ((sin (i + pozícia) * 127 + 128) / 255) * červená, ((sin (i + pozícia) * 127 + 128) / 255)*zelená, ((sin (i + pozícia)*127 + 128) / 255)*modrá); } showStrip (); oneskorenie (WaveDelay); }} // ---------------------------------------------- ------------------------------------------ // // Neopixelové rutiny neplatné setAll (červená byte, zelená zelená, byte modrá) {for (int i = 0; i getConfigPortalSSID ()); // vstúpili do režimu konfigurácie, nastavte Neo Pixel na purpurový #241628 = 2364968 // setAll (0x24, 0x16, 0x28); setAll (0xeb, 0xfb, 0x03); // Yellow ebfb03}

Krok 9: Celé spájkovanie

Spájkovať to všetko dohromady
Spájkovať to všetko dohromady
Spájkovať to všetko dohromady
Spájkovať to všetko dohromady
Spájkovať to všetko dohromady
Spájkovať to všetko dohromady

Všetko v tomto dizajne je spájkované a malo by byť celkom jednoduché ich ovládanie. Na uľahčenie som použil 3 rôzne farebné drôty a prvá vec je zmerať drôt pre neopixel k WEMOS. Plietol som ich a nasadil malý kúsok tepelne zmrštiteľného tepla a potom ich spájkoval tak, ako je to znázornené na obrázku.

Tlačidlo bolo ďalším a tesne zapadne do základne. Jedna strana tlačidla smeruje do Gnd, ktorá je skrútená spolu s uzemňovacím vodičom neopixelu. Potom som ich pocínoval a spájkoval ako jeden s uzemňovacím kolíkom WEMOS.

Napájací kábel pre Neopixel ide do 5 V PIn. Signálny vodič alebo Di (údaje v) neopixelu je spájkovaný na kolík Wemos ako D1. Existuje niekoľko stránok, ktoré navrhujú vložiť do série rezistor 300-500 Ohm, ale zatiaľ som nemal žiadne problémy, takže zatiaľ je to len priame pripojenie.

Aby som zaistil správnu prax a na rady stránok, ako je Adafruit, vložil som do neopixelu odpor 330R v sérii s líniou Di. Cieľom je zabrániť tomu, aby prvá dióda LED v kruhu uvoľnila kúzelné pixie, a jednoducho sa to urobí prerušením drôtu a vložením rezistora. Malý kúsok tepelného zmršťovania zastaví akékoľvek svojvoľné šortky. Rezistor môžete celkom skrátiť a na každý koniec vložiť obruč a urobiť to isté s drôtom.

Druhý vodič pre tlačidlo smeruje priamo na kolík D2. Pullupistor nie je potrebný, pretože to je riešené v softvéri vložením príkazu PULLUP na tento pin.

To je v podstate všetko, čo k tomu patrí.

Krok 10: 3D tlač

Tu sú pripojené súbory STL, ktoré používame pre Giant LED. Súbory sú remixom/prepracovaním astro73 a všetky súbory môžete prevziať aj z

Na nohy a základňu som použil filament Sunlu PETG+, ktorý na Prusa i3 funguje veľmi dobre a použil som buď 10 alebo 20% gyroidnú výplň.

Pre samotnú LED používam transparentnú PLA Sunlu a používam asi 10% výplň so sústrednými hornými a spodnými vrstvami.

Pri každom používam iba predvolené nastavenia Prusa PET a Prusa PLA v programe Slic3r a všetky fungujú dobre. Trochu sa mi na nohe navlečie struna, ale prehodím cez ne horák a výplet zmizne:)

Krok 11: Obrovská montáž LED

Obrovská montáž LED
Obrovská montáž LED
Obrovská montáž LED
Obrovská montáž LED
Obrovská montáž LED
Obrovská montáž LED

Všetky diely idú dohromady naozaj ľahko, musíte do základne zatlačiť maticu M3, aby skrutka mohla držať vec pohromade. Tiež musíte najskôr zapojiť NeoPixel k WEMOS cez nohy. Uvažoval som, ako vložiť niektoré konektory, ale rozhodol som sa, že sa to v budúcnosti nerozpadne.

Objektív stačí nasadiť na nohy a pripevní sa k základni jediným skrutkou M3 x 20 mm. Možno budete musieť nožom prejsť po vnútornej strane gombíkového otvoru, aby sa pohyboval pekne a voľne. Wemos je držaný na svojom mieste pomocou 2 skrutiek s vnútorným závitom M2x8 zaskrutkovaných zospodu.

Na záver môžete na základňu prilepiť kus plsti, aby ste v prípade potreby zabránili skĺznutiu.

Krok 12: Inštalačné a prevádzkové pokyny

Image
Image
Návod na montáž a obsluhu
Návod na montáž a obsluhu
Návod na montáž a obsluhu
Návod na montáž a obsluhu

Keď je všetko pripravené a nahraný softvér, pripojte USB k určitému napájaniu a rozsvieti sa LED kontrolka GIANT, ktorá sa rozsvieti ČERVENOU a potom zmení farbu na žltú. Toto ukazuje, že je offline a čaká na konfiguráciu siete Wi -Fi. Pomocou telefónu alebo podobného vzhľadu vyhľadajte wifi sieť GIANT LED a pripojte sa a zobrazí sa vám obrazovka WiFi Manager. Naskenuje vašu miestnu oblasť a vy zadáte podrobnosti o Wi -Fi, ESP sa reštartuje a teraz budete online so zeleným svetlom. V tomto mieste sa tiež pripojí k IO a rozsvietia sa výstražné svetlá, pretože zatiaľ nevidel žiadne predchádzajúce správy. Stlačte tlačidlo niekoľkokrát a GIANT LED je teraz pripravená na príchod aktualizácií.

V tomto mieste môžete prejsť na hlavný panel Adafruit IO a do každého kanála pridať nejaké údaje a svetlá sa prepnú do režimu výstrahy.

Bavte sa!

Krok 13: Čo iné môže obrovská LED dióda urobiť

Čo iné dokáže obrovská LED dióda?
Čo iné dokáže obrovská LED dióda?
Čo iné môže obrovská LED urobiť?
Čo iné môže obrovská LED urobiť?

Keď máte základy takéhoto dizajnu a s IFTTT, môžete ho použiť na mnoho vecí. Upozornenie na doručenú poštu v Gmaile je veľmi jednoduché a keďže Adafruit funguje aj s webhookmi, údaje do neho môžu odosielať aj iné programy. Momentálne mám jeden nastavený tak, aby sledoval niektoré nahrávania údajov Big Query ako súčasť pracovného projektu.

Pomocou tlačidla ho môžete použiť aj na signalizáciu ďalších obrích diód LED, môžete ho mať v rôznych domoch a použiť ho ako diaľkový indikátor, aby druhá strana stlačila tlačidlo na zrušenie svetla.

Tu je užitočný odkaz na metódu odosielania údajov do kanála webhook. V tomto prípade používa aplet IFTTT, ale rovnako ľahko môžete použiť aj metódu CURL s pythonom.

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

V skutočnosti je dokonca možné vložiť OLED 128x32 do základne, aby LED doplnil nejaký textový obsah a v súčasnej dobe na tom pracujem a aktualizujem STL a dodám kód na využitie IO aj s týmto.

Odporúča: