Adăugați iluminarea controlată Wi-Fi la computerul dvs. cu NodeMCU

Adăugați iluminarea controlată Wi-Fi la computerul dvs. cu NodeMCU / DIY

Plăcile desktop PC-uri au parcurs un drum lung din zilele turnurilor de plastic gri ascunse sub birouri. Pe lângă cazurile care îndeplinesc diferite funcții, cazurile de PC-uri au evoluat într-un sentiment de estetică, panourile de sticlă arătând cu mândrie componente și modele puternice futuriste,.

Instalațiile LED devin din ce în ce mai frecvente. Un simplu 12v RGB benzile pot fi cumpărate cu doar 1 $ pe metru și vor lumina interiorul unui caz (împreună cu aproape orice altceva) perfect.

Cu toate acestea, dorim să facem ceva mai special decât asta! Astăzi vom folosi LED-uri Pixel pentru a crea iluminarea casetei Wi-Fi controlabile, cu personalizarea Dacă aceasta este atunci (IFTTT). Întregul sistem este alimentat cu ajutorul unui conector Molex de rezervă din interiorul turnului, făcându-l complet autonom. Cel mai bun dintre toate, acest proiect costă sub 10 dolari pentru a face.

Acest tutorial este disponibil în formularul video de mai jos sau continuați să citiți versiunea scrisă.

Lumini cu creier

Vom folosi LED-uri individuale adresabile pentru acest proiect. Uneori cunoscut sub numele de Neopixels, există diferite modele de a alege. LED-urile folosite aici sunt de la a WS2812B benzi, disponibile pentru aproximativ 4 dolari pe metru.

Vom folosi NodeMCU pentru a le controla. În timp ce ați putea folosi orice placă compatibilă Arduino cu Wi-Fi, NodeMCU este un favorit al nostru ca ucigaș Arduino. Întâlnește ucigașul Arduino: ESP8266 Faceți cunoștință cu ucigașul Arduino: ESP8266 Ce-ar fi dacă ți-am spus că există o placă de disc compatibilă cu Arduino built-in Wi-Fi pentru mai puțin de 10 dolari? Ei bine, există. Citeste mai mult .

De ce ai nevoie

  1. Bandă LED de 1 x 5V, Neopixel / WS2811 / 12 / 12B
  2. 1 x NodeMCU ($ 3 pe AliExpress)
  3. 1 x 220-500 Ohm rezistor
  4. 1 x 100-1000 condensatori microFarad
  5. 1 x comutator de comutare sau întrerupător de circuit
  6. 1 x conector mamă Molex
  7. 1 x Breadboard
  8. Sursă de alimentare de 1 x 5V (pentru testare)
  9. 1 x prototip și cablu (pentru instalarea circuitului)
  10. Diferite fire de conectare
  11. Fier de lipit și lipit

Singurul lucru din această listă, care este neobișnuit aici, este Molex conector. Mulți proprietari de PC-uri în aceste zile nu folosesc deloc o unitate de CD în construcțiile lor, deși sursele de alimentare încă vin cu o conexiune pentru ei. Putem folosi aceste linii electrice de rezervă în avantajul nostru. Mi-am salvat conectorul de sex feminin de la o unitate de disc veche, deși sunt disponibile pentru doar 0,30 $.

Construiți-vă circuitul

Pentru a evita zgârierea inutilă în cazul nostru, vom testa configurația noastră folosind o sursă externă de alimentare. Aranjează-ți pâinea asta așa.

Dacă vă instalați pentru prima oară aceste tipuri de LED-uri, aș sfătui să căutați ghidul în profunzime pentru utilizarea acestor benzi cu Arduino.

Comutatorul rupe simplu NodeMCU din circuit. În această construcție voi folosi de fapt un întrerupător simplu în locul comutatorului. Funcția lui este să ne permită izolarea tabloului VIN pin în timp ce acesta este conectat prin USB. În timp ce cantitatea de putere a LED-urilor noastre va fi desenată este relativ mică, este o practică bună să evitați să trageți prea multă putere prin USB.

Odată ce panoul tău este configurat ar trebui să arate ceva de genul:

În exemplul meu, condensator și rezistor sunt deja pe proto-bord, deoarece a fost salvat de la un proiect mai vechi, deși circuitul este exact la fel.

Acum, când avem hardware-ul setat, să creăm codul nostru.

Brainurile operației

Veți codifica NodeMCU utilizând ID-ul Arduino. Pentru acest exemplu, vom seta două moduri de funcționare, un comutator principal de pornire / oprire și un semnal de notificare când se primește un e-mail. Vom folosi Blynk, un serviciu web pentru dispozitivele Internet of Things pentru a comunica cu consiliul nostru.

Asigurați-vă că ați verificat articolul introductiv Blynk Noțiuni de bază cu Blynk: Simple DIY dispozitive IoT Noțiuni de bază cu Blynk: Simple DIY dispozitive IoT Blynk este un serviciu de Internet de lucruri (IoT) destinat să facă controlul la distanță și citirea senzorilor de date de pe dispozitivele cât mai rapid și mai ușor posibil. Citiți mai multe dacă nu ați mai folosit-o niciodată înainte.

În aplicația Blynk, configurați un nou proiect și selectați NodeMCU ca tablă. Un cod de autorizare va fi trimis la adresa dvs. de e-mail înregistrată la Blynk. Adăuga 3 butoane și 3 glisante.

Aceste butoane și glisoare trebuie să fie setate pentru a trimite valori la Virtual Pins V0-V5. “Test” butonul va testa notificarea prin e-mail pentru moment. Etichetați celelalte două butoane Putere și Auto / Manual sau ceva similar, iar cele trei glisante sunt pentru roșu, Verde, și Albastru.

Acum deschideți ID-ul Arduino. Veți avea nevoie de bibliotecile Blynk și FastLED pentru acest proiect, deci asigurați-vă că ați instalat ambele. Dacă începeți cu ID-ul Arduino, consultați ghidul nostru de începători Arduino Noțiuni de bază cu Arduino: Ghidul începătorului Introducere cu Arduino: Un ghid pentru începători Arduino este o platformă de prototipuri electronice cu sursă deschisă bazată pe flexibilitate și ușor de utilizat hardware și software. Este destinat artiștilor, designerilor, pasionaților și tuturor celor interesați să creeze obiecte sau medii interactive. Citeste mai mult .

Vom rupe codul în bucăți aici, deși dacă preferați să descărcați codul complet, îl puteți găsi pe GitHub.

Dacă decideți să faceți acest lucru, asigurați-vă că adăugați propriile detalii Wi-Fi, codul de autorizare și codul NodeMCU relevant și numărul de LED-uri în scenariu. Dacă începi să înveți programarea, aș trece de la zero pentru a afla cum funcționează fiecare parte. Aceasta este una dintre multele moduri de a aborda modul de codificare. Cum să înveți programarea fără toate stresul Cum să înveți programarea fără toate stresul Poate că ați decis să urmăriți programarea, fie pentru o carieră, fie ca un hobby. Grozav! Dar poate că începi să te simți copleșit. Nu prea grozav. Iată ajutorul pentru a vă ușura călătoria. Citeste mai mult .

Creați o nouă schiță și salvați-o cu un nume adecvat. Asigurați - vă că ați selectat placa și portul corect din Unelte > Bord și Unelte > Port meniuri. Începeți prin includerea spațiilor de nume Blynk și FastLED relevante:

#define BLYNK_PRINT Serial #include  #include  #include "FastLED.h"

Apoi, adăugați câteva definiții pentru FastLED:

// --- Definiții FastLED și CRGB --- #define LED_PIN 3 // PIN GPIO pentru LED-uri RGB. #define NUM_LEDS 44 // Numărul de LED-uri conectate. #define BRIGHTNESS 64 // Luminozitatea implicită a LED-urilor. #define LED_TYPE WS2812B #define COLOR_ORDER Led-uri GRB CRGB [NUM_LEDS];

Apoi vom declara variabilele pentru valorile noastre RGB, modul nostru automat / manual și comutatorul nostru principal. De asemenea, adăugăm o valoare pentru culoarea de bază cerută de presetările FastLED pe care le vom folosi mai târziu.

// --- variabilele pentru valorile noastre RGB (0-1023) --- int r = 500; int g = 500; int b = 500; // --- variabile pentru On / Off și comutator Auto / Manual int masterSwitch = 1; int autoMode = 1; // --- int / byte pentru incrementarea automată a nuanței --- uint8_t gHue = 0; // rotirea "culorii de bază" utilizată de multe dintre modele 

Atunci când adăugați detaliile dvs. Blynk, asigurați-vă că ați completat propriile detalii Wi-Fi aici:

// --- Blynk auth code și detalii wifi --- char auth [] = "YourAuthCode"; // Blynk authorization char ssid [] = "YourWifiName"; char pass [] = "YourWifiPassword";

Utilizăm funcția de configurare pentru a adăuga LED-urile noastre la FastLED și pentru a stabili o comunicare cu Blynk.

void setup () // întârziere întârziere de întârziere de pornire (3000); Serial.begin (9600); // --- adăugați LED-urile la FastLED și setați luminozitatea --- FastLED.addLeds(LED-uri, NUM_LEDS) .setCorrection (TypicalSMD5050); FastLED.setBrightness (LUMINOZITATE); #define FRAMES_PER_SECOND 120 // --- începe comunicarea cu serverul Blynk --- Blynk.begin (auth, ssid, pass); 

Folosiți if-statements în funcția Loop pentru a face diferite lucruri în funcție de modul în care vă aflați.

void loop () Blynk.run (); dacă (masterSwitch == 0) pentru (int i = 0; i < NUM_LEDS; i++)  leds[i] = CRGB::Black; FastLED.show(); delay(30);   if(autoMode == 0 && masterSwitch == 1)  for (int i = 0; i < NUM_LEDS; i++) leds[i] = CRGB(r, g, b); FastLED.show(); delay(30);   if(autoMode == 1 && masterSwitch == 1)  fill_rainbow( leds, NUM_LEDS, gHue, 7); // send the 'leds' array out to the actual LED strip FastLED.show(); // insert a delay to keep the framerate modest FastLED.delay(1000/FRAMES_PER_SECOND); EVERY_N_MILLISECONDS(20)  gHue++; // slowly cycle the "base color" through the rainbow   

Acum, folosiți BLYNK_WRITE funcții pentru a modifica aceste variabile în funcție de ceea ce selectați în aplicația Blynk:

// --- Master On / Off --- BLYNK_WRITE (V0) masterSwitch = param.asInt ();  // --- Valoarea cursorului roșu --- BLYNK_WRITE (V1) r = param.asInt ();  // --- Valoarea glisorului verde --- BLYNK_WRITE (V2) g = param.asInt ();  // --- Valoarea glisorului albastru --- BLYNK_WRITE (V3) b = param.asInt ();  // --- Comutați modul automat / manual --- BLYNK_WRITE (V4) autoMode = param.asInt (); 

În cele din urmă, efectuați o funcție care provoacă o succesiune repetată de lumini roșii pe care să o utilizați ca notificare prin e-mail. Acest lucru este proiectat să declanșeze indiferent ce se întâmplă altceva, adică veți primi întotdeauna notificarea, chiar dacă luminile sunt în prezent oprite.

// --- Lampă de notificare prin e-mail --- BLYNK_WRITE (V5) int g = param.asInt (); dacă (g == 1) pentru (int a = 0; a < 10 ; a++)  for (int i = 0; i< NUM_LEDS; i++)  leds[i] = CRGB(1023, 0, 0); FastLED.show(); delay(10); FastLED.clear(); delay(10);     

Odată ce ați instalat acest cod complet, utilizați întrerupătorul / întreruptorul pentru a izola NodeMCU de circuit și conectați-l prin USB. Încărcați schița în tablă. Odată încărcat, deconectați cablul USB și conectați sursa de alimentare de 5V. Totul fiind bine, banda cu LED-uri ar trebui să pornească în modul automat, care este fill_rainbow mod de la FastLED. Puteți testa semnalul de notificare utilizând butonul de testare.

După cum puteți vedea aici, mi-am așezat LED-urile aproape de partea mea, așa că am știut câte am avea nevoie. În cazul meu a fost de 44 de ani, deși folosesc un turn mini, pentru a putea folosi multe altele. Doar asigurați-vă că luați în considerare remizele de putere ale LED-urilor pe care le utilizați și cât de mult poate furniza sursa de alimentare a PC-ului.

Configurarea IFTTT

Vom folosi Integrarea cu Gmail a IFTTT pentru a declanșa secvența de notificare. Dacă nu ați folosit niciodată IFTTT, veți fi uimiți de modul în care vă puteți automatiza aplicațiile web preferate. Dacă acest lucru se întâmplă apoi: Conectați și automatizați oricare două dintre aplicațiile dvs. Web preferate dacă acest lucru se întâmplă apoi: Conectați și automatizați Orice două aplicații web preferate Conectează oricare dintre cele două aplicații web preferate în mod creativ. Un fel de "bandă de conducte digitale" în conformitate cu Linden Tibbets, creatorul aplicației, dacă aceasta atunci că (ifttt) vă permite să găsiți utilizări noi pentru ... Citeste mai mult .

Configurați un nou applet. Pentru “Acest”, alege Orice e-mail nou în căsuța de e-mail de la Gmail canal. Pentru “Acea”, Selectați Maker Webhooks și Faceți o solicitare web.

Secțiunea URL este locul în care numim pini de notificare. Va trebui să modificați adresa URL pentru a lucra cu proiectul dvs. Formatul este http: // BlynkIpAddress / YourAuthCode / pini / V5. Puteți găsi ip-ul Blynk tastând ping blynk-cloud.com în linia de comandă.

Alege A PUNE dupa cum Metodă, și application / json dupa cum Tipul de conținut. În cele din urmă, adăugați [“1”] la Corp secțiune, apoi faceți clic pe Creați acțiune.

Acum, de fiecare dată când un e-mail sosește în căsuța poștală a adresei Gmail asociate cu IFTTT, acesta va trimite a “1” mesaj către Virtual Pin 5 de pe serverul Blynk, care va declanșa notificarea noastră. Încercați să trimiteți un e-mail pentru al testa. Fii pacient, IFTTT poate dura ceva timp!

Acum puteți să scăpați de butonul Test din aplicația dvs. Blynk dacă doriți.

Punându-le pe toți împreună

Acum, că avem totul testat, este timpul să terminăm și să instalăm hardware-ul nostru. Deplasați-vă proiectul de pe panza de prăjitură pe proto-bord. Dacă sunteți nou la lipire și căutați câteva sfaturi, consultați ghidul nostru de lipire Aflați cum să lipiți, cu aceste sfaturi simple și proiecte Aflați cum să lipiți cu aceste simple sfaturi și proiecte Sunteți un pic intimidat de gând de fier fierbinte și de metal topit? Dacă doriți să începeți lucrul cu electronica, va trebui să învățați să lipiți. Să ne ajute. Citeste mai mult .

Înainte de a atașa conectorul Molex la placă, luați notă de pinii pe care îl veți utiliza. Conectorul tată care vine de la sursa de alimentare PC va avea patru cabluri. Cele două cabluri negre sunt cabluri comune, cablul galben este de + 12v, iar roșu este + 5v. Asigurați-vă că atașați pinii corespunzători ai conectorului mamă la placă. Am ales să atașez doar două știfturi pentru a evita prăjirea accidentală a panoului și a LED-urilor!

Am decis să atașez cablurile DuPont între placa mea și LED-uri, astfel încât partea din fața PC-ului poate fi înlăturată complet fără a fi nevoie să scoateți proto-bordul. Vă sugerăm să vă puneți LED-urile pe carcasă și să le asigurați cu bandă pentru a începe, doar pentru a verifica dacă acestea se potrivesc corect în interiorul casetei atunci când sunt închise.

Notă: Când lipiți împreună fâșiile LED, liniile de date trebuie să curgă în aceeași direcție. Aceasta va fi notată pe bandă.

În cele din urmă, montați proto-bordul în interiorul turnului PC-ului. Deoarece aceasta este o construcție temporară pentru mine, am ales să izolez partea din spate a bordului și să o leg de zip în partea din spate a casetei. Cu toate acestea, vă decideți să atașați placa, aveți grijă să nu provocați scurtcircuite și fiți atenți la pericolul reprezentat de electricitatea statică pe componentele interne.

Luminat

Fiind bine, ar trebui să aveți o lumină Wi-Fi complet funcțională, cu notificări automate prin e-mail. Acum, dacă aveți acest sistem în loc, puteți folosi comutatorul de distrugere de pe placă pentru a vă conecta NodeMCU în siguranță prin USB și schimbați codul. Puteți încerca să adăugați o altă notificare integrată cu IFTTT (lumină albastră pentru mențiuni pe Twitter sau Facebook, de exemplu) sau să experimentați setările personalizate din biblioteca FastLED pentru a vă da lumina puțină mișcare.

Ai instalat LED-uri în turnul PC-ului tău? Ai creat o automatizare minunată pentru ei? Spuneți-ne despre proiectele și planurile dvs. în secțiunea de comentarii de mai jos!

Credit de imagine: David Brown / Flickr

Explorați mai multe despre: Computer Case, Electronics, LED Strip.