Aggiungi illuminazione controllata Wi-Fi al tuo computer con NodeMCU

Aggiungi illuminazione controllata Wi-Fi al tuo computer con NodeMCU / Fai da te

Le torri del PC desktop hanno fatto molta strada dai tempi delle torri di plastica grigia nascoste sotto i banchi. Accanto ai casi che soddisfano diverse funzioni, le custodie per PC hanno evoluto il senso dell'estetica, con pannelli di vetro che mostrano con orgoglio i componenti, e un design futuristico forte che è al centro della scena di qualsiasi orgoglioso banco dei geek.

Le installazioni a LED stanno diventando sempre più comuni. Un semplice 12v RGB la striscia può essere acquistata per un minimo di $ 1 al metro e illuminerà l'interno di una custodia (insieme a quasi tutto il resto) perfettamente bene.

Tuttavia, vogliamo fare qualcosa di un po 'più speciale di questo! Oggi utilizzeremo Pixel LED per creare l'illuminazione del case controllabile Wi-Fi, con l'uso personalizzato Se questo e quello (IFTTT) notifiche. L'intero sistema è alimentato utilizzando un connettore Molex di riserva all'interno della torre, rendendolo totalmente autonomo. Meglio di tutti, questo intero progetto costa meno di $ 10 a fare.

Questo tutorial è disponibile sotto forma di video qui sotto, o continua a leggere per la versione scritta.

Luci con cervello

Useremo LED indirizzabili individualmente per questo progetto. Qualche volta conosciuto come Neopixels, ci sono vari modelli tra cui scegliere. I LED qui utilizzati provengono da a WS2812B striscia, disponibile per circa $ 4 al metro.

Useremo il NodeMCU bordo per controllarli. Mentre è possibile utilizzare qualsiasi scheda compatibile Arduino con Wi-Fi, il NodeMCU è uno dei nostri preferiti come assassino di Arduino. Incontra l'Arduino Killer: ESP8266 Incontra l'Arduino Killer: ESP8266 E se ti dicessi c'è una scheda di sviluppo compatibile con Arduino con Wi-Fi integrato per meno di $ 10? Bene, c'è. Leggi di più .

Quello di cui hai bisogno

  1. 1 striscia LED pixel 5v, Neopixel / WS2811 / 12 / 12B
  2. 1 x NodeMCU ($ 3 su AliExpress)
  3. 1 resistenza da 220-500 Ohm
  4. 1 x 100-1000 condensatore microFarad
  5. 1 x interruttore a levetta o interruttore automatico
  6. 1 x connettore Molex femmina
  7. 1 x tagliere
  8. 1 x 5v di alimentazione (per test)
  9. 1 x Proto-board e wire (per l'installazione del circuito)
  10. Vari cavi di collegamento
  11. Saldatore e saldatura

L'unica cosa in questa lista che è fuori dall'ordinario qui è il Molex connettore. Al giorno d'oggi molti proprietari di PC non usano affatto un lettore CD nelle loro versioni, anche se gli alimentatori sono ancora dotati di una connessione. Possiamo usare queste linee elettriche di riserva a nostro vantaggio. Ho salvato il mio connettore femmina da una vecchia unità disco, sebbene siano disponibili per un minimo di $ 0,30.

Costruisci il tuo circuito

Per evitare inutili spaccature nel nostro caso, testeremo la nostra configurazione utilizzando un alimentatore esterno. Imposta la tua breadboard in questo modo.

Se questa è la prima volta che imposti questo tipo di LED, ti consiglio di consultare la nostra guida approfondita sull'utilizzo di queste strisce con Arduino prima.

Lo switch interrompe semplicemente il NodeMCU dal circuito. In questa build userò un semplice interruttore automatico al posto dell'interruttore. La sua funzione è di permetterci di isolare le schede VIN pin mentre è collegato tramite USB. Mentre la quantità di energia che i nostri LED disegneranno è relativamente piccola, è una buona pratica evitare di tirare troppa energia via USB.

Una volta che la breadboard è impostata, dovrebbe assomigliare a questa:

Nel mio esempio, il condensatore e il resistore sono già in proto-board in quanto è stato salvato da un progetto precedente, sebbene il circuito sia esattamente lo stesso.

Ora che abbiamo installato l'hardware, creiamo il nostro codice.

I cervelli dell'operazione

Codificherete il vostro NodeMCU usando l'IDE Arduino. Per questo esempio, verranno impostate due modalità operative, un interruttore on / off principale e un segnale di notifica quando viene ricevuta un'e-mail. Useremo Blynk, un servizio Web per i dispositivi di Internet of Things per comunicare con il nostro forum.

Scopri l'articolo introduttivo di Blynk Guida introduttiva a Blynk: semplici dispositivi IoT fai-da-te Guida introduttiva a Blynk: semplici dispositivi IoT fai-da-te Blynk è un servizio IoT (Internet of Things) progettato per il controllo remoto e la lettura dei dati dei sensori dai tuoi dispositivi come il più semplice e veloce possibile. Leggi di più se non l'hai mai usato prima.

Nell'app Blynk, configura un nuovo progetto e seleziona NodeMCU come scheda. Un codice di autorizzazione verrà inviato al tuo indirizzo e-mail registrato con Blynk. Inserisci 3 pulsanti e 3 cursori.

Questi pulsanti e cursori dovrebbero essere impostati per inviare i valori ai pin virtuali V0-V5. Il “Test” pulsante testerà la nostra notifica via email per ora. Etichetta gli altri due pulsanti Energia e Auto / Manuale o qualcosa di simile, e i tre cursori servono Rosso, verde, e Blu.

Ora apri l'IDE di Arduino. Avrai bisogno delle librerie Blynk e FastLED per questo progetto, quindi assicurati di averlo installato. Se sei appena agli inizi con l'IDE Arduino, consulta la nostra guida per principianti Arduino Guida introduttiva ad Arduino: Guida per principianti Guida introduttiva ad Arduino: Guida per principianti Arduino è una piattaforma di prototipazione elettronica open source basata su flessibile, facile da usare hardware e software. È pensato per artisti, designer, hobbisti e chiunque sia interessato a creare oggetti o ambienti interattivi. Leggi di più .

Qui infrangeremo il codice in blocchi, ma se preferisci semplicemente scaricare il codice completo, puoi trovarlo su GitHub.

Se si decide di farlo, assicurarsi di aggiungere i dettagli Wi-Fi, il codice di autorizzazione e il pin NodeMCU e il Numero di LED rilevanti allo script. Se stai appena iniziando a imparare la programmazione, lo esaminerei da zero per imparare come funziona ogni parte. Questo è uno dei molti modi per familiarizzare con la programmazione. Come imparare la programmazione senza tutti gli stress Come imparare la programmazione senza tutti gli stress Forse hai deciso di perseguire la programmazione, sia per una carriera che per un semplice hobby. Grande! Ma forse stai iniziando a sentirti sopraffatto. Non così eccezionale. Ecco l'aiuto per facilitare il tuo viaggio. Leggi di più .

Crea un nuovo schizzo e salvalo con un nome appropriato. Assicurati di selezionare la scheda e la porta corrette da Utensili > Tavola e Utensili > Porta menu. Inizia includendo i relativi spazi nome Blynk e FastLED:

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

Successivamente, aggiungi alcune definizioni per FastLED:

// --- Definizioni FastLED e CRGB --- #define LED_PIN 3 // Pin GPIO per LED RGB. #define NUM_LEDS 44 // Numero di LED collegati. #define BRIGHTNESS 64 // Luminosità predefinita del LED. #define LED_TYPE WS2812B #define COLOR_ORDER GRB LED CRGB [NUM_LEDS];

Successivamente dichiareremo le variabili per i nostri valori RGB, la nostra modalità automatica / manuale e il nostro interruttore principale. Aggiungiamo anche un valore per un colore di base richiesto dal preset FastLED che useremo in seguito.

// --- variabili per i nostri valori RGB (0-1023) --- int r = 500; int g = 500; int b = 500; // --- variabili per On / Off e Auto / Manuale per attivare int masterSwitch = 1; int autoMode = 1; // --- int / byte per l'incremento automatico della tonalità --- uint8_t gHue = 0; // rotazione "colore di base" utilizzato da molti dei modelli 

Quando aggiungi i dettagli di Blynk, assicurati di inserire i tuoi dettagli Wi-Fi qui:

// --- codice di autenticazione di Blynk e dettagli wifi --- char auth [] = "YourAuthCode"; // autorizzazione di Blynk char ssid [] = "YourWifiName"; char pass [] = "YourWifiPassword";

Usiamo la nostra funzione di installazione per aggiungere i nostri LED a FastLED e stabilire una comunicazione con Blynk.

void setup () // power-up delay delay (3000); Serial.begin (9600); // --- aggiungi i LED a FastLED e imposta la luminosità --- FastLED.addLeds(leds, NUM_LEDS) .setCorrection (TypicalSMD5050); FastLED.setBrightness (luminosità); #define FRAMES_PER_SECOND 120 // --- avvia la comunicazione con il server Blynk --- Blynk.begin (auth, ssid, pass); 

Usa le istruzioni if ​​nella tua funzione Loop per fare cose diverse a seconda della modalità in cui ti trovi.

void loop () Blynk.run (); if (masterSwitch == 0) for (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   

Ora, usa il BLYNK_WRITE funzioni per modificare queste variabili in base a ciò che selezioni nell'app Blynk:

// --- Master On / Off --- BLYNK_WRITE (V0) masterSwitch = param.asInt ();  // --- Valore del cursore rosso --- BLYNK_WRITE (V1) r = param.asInt ();  // --- Valore del cursore verde --- BLYNK_WRITE (V2) g = param.asInt ();  // --- Valore del cursore blu --- BLYNK_WRITE (V3) b = param.asInt ();  // --- Commuta modalità Auto / Manuale --- BLYNK_WRITE (V4) autoMode = param.asInt (); 

Infine, crea una funzione che causi una sequenza ripetuta di luci rosse da usare come notifica via email. Questo è progettato per innescarsi indipendentemente da ciò che sta accadendo, il che significa che riceverete sempre la notifica, anche se le luci sono spente.

// --- Luce di notifica email --- BLYNK_WRITE (V5) int g = param.asInt (); if (g == 1) for (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);     

Una volta inserito questo codice completo, utilizzare l'interruttore / interruttore automatico per isolare il NodeMCU dal circuito e collegarlo tramite USB. Carica lo schizzo sulla lavagna. Una volta caricato, scollegare il cavo USB e collegare l'alimentatore 5v. Tutto sta andando bene la striscia LED dovrebbe avviarsi in modalità automatica, che è il fill_rainbow modalità da FastLED. È possibile testare il segnale di notifica utilizzando il pulsante di test.

Come potete vedere qui, ho disposto i miei LED all'incirca sul lato del mio caso, quindi sapevo quanti ne avrei avuto bisogno. Nel mio caso era 44, anche se io uso una mini torre, quindi potresti essere in grado di usarne molte altre. Assicurati di prendere in considerazione il consumo energetico dei LED che utilizzi e quanto l'alimentazione del tuo PC può fornire.

Configurazione di IFTTT

Useremo Integrazione Gmail di IFTTT per attivare la nostra sequenza di notifica. Se non hai mai usato IFTTT prima, rimarrai stupito dall'enorme quantità di modi in cui puoi automatizzare le tue app Web preferite Se questo è il seguente: Connetti e automatizza due delle tue app Web preferite Se questo è il seguente: Connetti e automatizza Due delle tue app Web preferite Connetti due delle tue app Web preferite in modo creativo. Una sorta di "nastro adesivo digitale" secondo Linden Tibbets, il creatore dell'app, If This Then That (ifttt) ti permette di trovare nuovi usi per ... Continua a leggere .

Imposta una nuova applet. Per “Questo”, scegliere Qualsiasi nuova email nella posta in arrivo dal Gmail canale. Per “Quello”, selezionare Maker Webhooks e Fai una richiesta web.

La sezione URL è dove chiamiamo il nostro pin di notifica. Dovrai modificare l'URL per lavorare con il tuo progetto. Il formato è http: // BlynkIpAddress / YourAuthCode / pin / V5. Puoi trovare l'IP di Blynk digitando ping blynk-cloud.com nel prompt dei comandi.

Scegliere METTERE come il Metodo, e application / json come il Tipo di contenuto. Infine, aggiungi [“1”] al Corpo sezione, quindi fare clic Crea azione.

Ora, ogni volta che un'email arriva nella posta in arrivo dell'indirizzo Gmail associato a IFTTT, invierà un messaggio “1” messaggio al Virtual Pin 5 sul server Blynk, che attiverà la nostra notifica. Prova a inviarti un'email per testarlo. Sii paziente, IFTTT può richiedere del tempo!

Ora puoi sbarazzarti del pulsante Test nella tua app Blynk, se lo desideri.

Mettere tutto insieme

Ora che abbiamo testato tutto, è ora di finire e installare il nostro hardware. Sposta il tuo progetto dalla breadboard sul proto-board. Se sei nuovo alla saldatura e stai cercando alcuni suggerimenti, consulta la nostra guida alla saldatura Scopri come saldare, con questi semplici suggerimenti e progetti Impara come saldare, con questi semplici suggerimenti e progetti Sei un po 'intimidito dal pensiero di un ferro caldo e di metallo fuso? Se vuoi iniziare a lavorare con l'elettronica, avrai bisogno di imparare a saldare. Lasciaci aiutare. Leggi di più .

Prima di collegare il tuo connettore Molex alla scheda, prendi nota dei pin che utilizzerai. Il connettore maschio proveniente dall'alimentazione del PC avrà quattro cavi. I due cavi neri sono comuni cavi di terra, il cavo giallo è + 12v, e il rosso è + 5v. Assicurati di collegare i pin corrispondenti del connettore femmina alla scheda. Ho scelto di attaccare solo due pin per evitare di friggere accidentalmente la mia scheda e i LED!

Ho deciso di collegare i cavi DuPont tra la mia scheda e i LED in modo che il lato del case del PC possa ancora essere rimosso completamente senza dover rimuovere il prototipo. Suggerisco di posizionare i LED sulla custodia e fissarli con del nastro per cominciare, solo per verificare che si adattino correttamente alla custodia quando sono chiusi.

Nota: Quando si saldano insieme le strisce LED, le linee dati devono fluire tutte nella stessa direzione. Questo sarà indicato sulla striscia.

Infine, monta il tuo proto-board all'interno del tuo PC tower. Poiché questa è una build temporanea per me, ho scelto di isolare il retro della lavagna e di legarmelo sul retro del mio astuccio. Tuttavia, si decide di collegare la scheda, fare attenzione a non causare cortocircuiti e diffidare del pericolo rappresentato dall'elettricità statica sui componenti interni.

Enlightened

Se tutto va bene, dovresti avere una luce funzionante completamente Wi-Fi con notifiche e-mail automatiche. Ora che hai installato questo sistema, puoi utilizzare il kill switch sulla scheda per collegare il tuo NodeMCU in modo sicuro tramite USB e cambiare il codice. Puoi provare ad aggiungere un'altra notifica integrata con IFTTT (luce blu per le citazioni su Twitter o Facebook per esempio), o sperimentare con le impostazioni personalizzate nella libreria FastLED per dare alle tue luci un piccolo movimento.

Avete installato i LED nella torre del PC? Hai creato un'automazione fantastica per loro? Fateci sapere i vostri progetti e piani nella sezione commenti qui sotto!

Immagine di credito: David Brown / Flickr

Scopri di più su: Custodia per computer, elettronica, striscia LED.