Dodajte Wi-Fi kontrolirano osvjetljenje na vaše računalo pomoću NodeMCU

  • Owen Little
  • 0
  • 1319
  • 37
Oglas

Kule na stolnim računalima daleki su put još od dana sivih plastičnih kula skrivenih ispod stolova. Pored slučajeva koji ispunjavaju različite funkcije, PC kućišta razvila su osjećaj estetike, sa staklenim pločama ponosno pokazujući komponente i snažnim futurističkim dizajnom koji su zauzeli središnje mjesto na bilo kojem ponosnom geejevom stolu..

LED instalacije postaju sve češće. Jednostavan 12v RGB traka se može kupiti za samo 1 USD po metru i savršeno će osvijetliti unutrašnjost kućišta (zajedno s gotovo bilo čim drugim).

Međutim, želimo učiniti nešto malo posebnije od ovoga! Danas ćemo koristiti Pixel LED diode za izradu Wi-Fi upravljačke rasvjete kućišta, po mjeri Ako je to onda to (IFTTT) obavijesti. Cijeli ovaj sustav pokreće se pomoću rezervnog Molex konektora unutar kule, što ga čini potpuno samostalnim. Najbolje od svega, ovaj cijeli projekt košta manje od 10 dolara.

Ovaj je udžbenik dostupan u video obliku u nastavku ili nastavite čitati za pisanu verziju.

Svjetla s mozgom

Za ovaj projekt koristit ćemo pojedinačno adresne LED diode. Ponekad poznat kao Neopixels, mogu se odabrati razni modeli. Ovdje korištene LED diode su od WS2812B traka, dostupna za oko 4 dolara po metru.

Koristit ćemo se NodeMCU ploča da ih kontrolira. Iako biste mogli koristiti bilo koju Arduino kompatibilnu ploču s Wi-Fi-jem, NodeMCU je naš favorit kao Arduino ubojica Upoznajte Arduino ubojicu: ESP8266 Upoznajte Arduino-ubojicu: ESP8266 Što ako vam kažem da postoji arduino-kompatibilna ploča s ugrađeni Wi-Fi za manje od 10 dolara? Pa, postoji. .

Što trebaš

  1. 1 x 5v piksela LED traka, neopiksel / WS2811 / 12 / 12B
  2. 1 x NodeMCU (3 USD na AliExpressu)
  3. Otpornik 1 x 220-500 Ohm
  4. 1 x 100-1000 mikroFaradski kondenzator
  5. 1 x preklopnik ili prekidač
  6. 1 x ženski Molex priključak
  7. 1 x krušna ploča
  8. Napajanje od 1 x 5 V (za testiranje)
  9. 1 x Protoboard i žica (za instaliranje kruga)
  10. Razne žice za spajanje
  11. Lemljenje i lemljenje

Jedino što je na ovom popisu neobično jest Molex priključak. Mnogi vlasnici računala ovih dana uopće ne upotrebljavaju CD pogon, iako izvori napajanja i dalje dolaze s njima. Ove rezervne vodove možemo koristiti u našu korist. Izvadio sam ženski konektor sa starog diskovnog pogona, iako su dostupni za samo 0,30 dolara.

Izgradite svoj krug

Da u našem slučaju ne bi bilo nepotrebnih trčanja, testirat ćemo naše postavke pomoću vanjskog napajanja. Ovako postavite svoju ploču.

Ako je ovo vaš prvi put da postavljate ovakve LED, savjetujem da prvo potražite naš dubinski vodič za upotrebu ovih traka s Arduinom.

Prekidač jednostavno razbija NodeMCU iz kruga. U ovoj izgradnji zapravo ću se umjesto sklopke koristiti jednostavan prekidač. Njegova funkcija je omogućiti nam izoliranje ploče VIN pin dok je spojen putem USB-a. Iako je snaga koju crpe naše LED diode relativno mala, dobra je praksa da ne izbjegnete previše energije putem USB-a.

Jednom kada je vaša ploča postavljena trebala bi izgledati ovako:

U mom primjeru kondenzator i otpornik su već na protoboardu jer je spašen iz starijeg projekta, iako je krug potpuno isti.

Sada kada smo postavili hardver, napravimo svoj kod.

Mozak operacije

Kodirat ćete svoj NodeMCU pomoću Arduino IDE. Za ovaj primjer, postavit ćemo dva načina rada, glavni prekidač za uključivanje i isključivanje i signal obavijesti kada primimo e-poštu. Za komunikaciju s našim brodom koristit ćemo Blynk, internetsku uslugu za uređaje Internet of Things.

Obavezno pogledajte naš uvodni članak o Blynku Prvi koraci s Blynk-om: Jednostavni DIY IoT uređaji Prvi koraci s Blynk-om: Jednostavni DIY IoT uređaji Blynk je usluga Interneta stvari (IoT) namijenjena za daljinsko upravljanje i čitanje podataka senzora s vaših uređaja kao brzo i jednostavno što je više moguće. ako ga nikad prije niste koristili.

U aplikaciji Blynk postavite novi projekt i odaberite NodeMCU kao svoju ploču. Kôd autorizacije bit će poslan na vašu adresu e-pošte registriranu kod Blynk. Dodati 3 gumba i 3 klizača.

Ove bi tipke i klizače trebalo postaviti kako bi se vrijednosti slale na virtualne igle V0-V5. “Test” gumb zasad će testirati našu obavijest putem e-pošte. Označite ostala dva gumba Vlast i Automatski / Ručno ili nešto slično, a tri su klizača za Crvena, zelena, i plava.

Sada otvorite Arduino IDE. Za ovaj projekt trebat će vam knjižnice Blynk i FastLED, pa se obavezno instalirajte. Ako tek započinjete s Arduino IDE-om, pogledajte vodič za Arduino početnike Upoznavanje s Arduino-om: Vodič za početnike Početak rada s Arduino-om: Vodič za početnike Arduino je platforma za prototiranje elektronike otvorenog koda koja se temelji na fleksibilnoj i jednostavnoj upotrebi. hardver i softver. Namijenjen je umjetnicima, dizajnerima, hobistima i svima koji su zainteresirani za stvaranje interaktivnih objekata ili okruženja. .

Ovdje ćemo rastaviti kod na komade, mada ako biste radije jednostavno preuzeli cijeli kod, možete ga pronaći na GitHub-u.

Ako se odlučite za to, obavezno dodajte u skriptu vlastite podatke o Wi-Fi-ju, autorizacijski kôd i relevantni NodeMCU pin i broj LED-ova. Ako tek počinjete učiti programiranje, ja bih to prošao ispočetka kako bih naučio kako svaki dio funkcionira. Ovo je jedan od mnogih načina da se nosite s kodiranjem Kako naučiti programiranje bez ikakvog stresa Kako naučiti programiranje bez ikakvog stresa Možda ste se odlučili baviti programiranjem, bilo za karijeru ili samo kao hobi. Sjajno! Ali možda se počinjete osjećati preplavljeno. Nije tako sjajno. Evo pomoći da vam olakša putovanje. .

Napravite novu skicu i spremite je s odgovarajućim imenom. Obavezno odaberite ispravnu ploču i priključak alat > Odbor i alat > Luka izbornici. Započnite uključivanjem relevantnih razmaka s imenima Blynk i FastLED:

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

Zatim dodajte neke definicije za FastLED:

// --- FastLED definicije i CRGB --- #define LED_PIN 3 // GPIO pin za RGB LED. #define NUM_LEDS 44 // Broj priključenih LED dioda. #define BRIGHTNESS 64 // Zadana LED svjetlina. #define LED_TYPE WS2812B #define COLOR_ORDER GRB CRGB diode [NUM_LEDS];

Zatim ćemo proglasiti varijable za naše RGB vrijednosti, naš automatski / ručni način rada i našu glavnu sklopku. Dodajemo i vrijednost osnovne boje koju zahtijeva FastLED unaprijed koju ćemo koristiti kasnije.

// --- varijable za naše RGB vrijednosti (0-1023) --- int r = 500; int g = 500; int b = 500; // --- varijable za On / Off i automatsko / ručno prebacivanje int masterSwitch = 1; int autoMode = 1; // --- int / byte za automatsko povećavanje nijansi --- uint8_t gHue = 0; // rotirajuća "osnovna boja" koju koriste mnogi uzorci 

Kada dodajete svoje podatke o Blynku, obavezno ovdje ispunite svoje Wi-Fi detalje:

// --- Blynk auth kod i detalji wifi-ja --- char auth [] = "YourAuthCode"; // Autorizacija Blynk char ssid [] = "YourWifiName"; char pass [] = "VašaWifiPassword";

Koristimo našu funkciju postavljanja za dodavanje LED-ova u FastLED i uspostavljanje komunikacije s Blynk-om.

praznina postava () // odgoda sigurnosnog kašnjenja uključivanja (3000); Serial.begin (9600); // --- dodajte LEDS na FastLED i postavite svjetlinu --- FastLED.addLeds (led, NUM_LEDS) .setCorrection (TypicalSMD5050); FastLED.setBrightness (svjetlina); #define FRAMES_PER_SECOND 120 // --- započnite komunikaciju s Blynk serverom --- Blynk.begin (auth, ssid, pass); 

Upotrijebite if-izjave u svojoj petlji za obavljanje različitih stvari ovisno o načinu na koji se nalazite.

void petlja () Blynk.run (); ako je (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   

Sada, koristite BLYNK_WRITE funkcije za promjenu ovih varijabli ovisno o tome što ste odabrali u aplikaciji Blynk:

// --- Master On / Off --- BLYNK_WRITE (V0) masterSwitch = param.asInt ();  // --- vrijednost crvenog klizača --- BLYNK_WRITE (V1) r = param.asInt ();  // --- Zelena vrijednost klizača --- BLYNK_WRITE (V2) g = param.asInt ();  // --- Vrijednost plavog klizača --- BLYNK_WRITE (V3) b = param.asInt ();  // --- Uključivanje automatskog / ručnog načina --- BLYNK_WRITE (V4) autoMode = param.asInt (); 

Na kraju, napravite funkciju koja uzrokuje da se ponovljeni niz crvenih lampica koristi kao obavijest putem e-pošte. Ovo je osmišljeno tako da aktivira bez obzira na to što se još događa, što znači da ćete uvijek dobiti obavijest, čak i ako su svjetla trenutno ugašena.

// --- Svjetlo obavijesti putem e-pošte --- BLYNK_WRITE (V5) int g = param.asInt (); ako je (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);     

Jednom kada imate ovaj puni kod, upotrijebite sklopku / prekidač kako biste izolirali NodeMCU iz kruga i uključite ga putem USB-a. Prenesite skicu na ploču. Nakon prijenosa iskopčajte USB kabel i priključite napajanje od 5 V. Sve dobro što bi se LED traka trebala pokrenuti u automatskom načinu rada, a to je fill_rainbow način rada od FastLED-a. Signal obavijesti možete testirati pomoću gumba za testiranje.

Kao što vidite ovdje, svoje sam LED diode bacio na bočnu stranu kućišta, tako da sam znao koliko će mi trebati. U mom slučaju to je bilo 44, iako ja koristim mini toranj, tako da ćete možda moći koristiti mnogo više. Samo pripazite da uzmete u obzir napajanje LED dioda koje koristite i koliko napajanje vašeg računala može osigurati.

Konfiguriranje IFTTT

Mi ćemo koristiti IFTTT-ova integracija u Gmail da pokrenemo redoslijed obavijesti. Ako nikada prije niste koristili IFTTT, zadivit ćete se čistom količinom načina na koje možete automatizirati svoje omiljene web aplikacije. Ako je to onda to: povežite i automatizirajte bilo koje od svojih najdražih web aplikacija ako je ovo onda: povežite i automatizirajte Bilo koje dvije vaše omiljene web aplikacije na kreativan način spojite sve svoje omiljene web aplikacije. Neka vrsta "digitalne vodovite vrpce" prema Linden Tibbetsu, tvorcu aplikacije, If This then That (ifttt) omogućuje vam da pronađete nove namjene za ... .

Postavljanje novog apleta. Za “Ovaj”, izabrati Svaka nova e-pošta u pristigloj pošti od Gmail kanal. Za “Da”, Odaberi Izradite Webhooks i Pošaljite web zahtjev.

U odjeljku URL-a nazivamo naš pin obavijesti. Morat ćete izmijeniti URL da biste surađivali sa svojim projektom. Format je http: // BlynkIpAddress / YourAuthCode / pin / V5. Blynk ip možete pronaći tako da upišete ping blynk-cloud.com u naredbenom retku.

izabrati STAVITI kao način, i Primjena / json kao Vrsta sadržaja. Na kraju dodajte [“1”] prema Tijelo , a zatim kliknite Stvorite akciju.

Sada će svaki put kad stigne e-pošta u mapu pristigle pošte na Gmail adresu povezanu s IFTTT-om “1” poruka na Virtual Pin 5 na Blynk poslužitelju, što će pokrenuti našu obavijest. Pokušajte sebi poslati e-poštu kako biste je testirali. Budite strpljivi, IFTTT može potrajati neko vrijeme!

Sada se možete riješiti gumba za testiranje u svojoj aplikaciji Blynk ako želite.

Stavljajući sve zajedno

Sad kad smo sve testirali, vrijeme je da završimo i instaliramo naš hardver. Pomaknite svoj projekt s ploče na proto-ploču. Ako ste novi za lemljenje i tražite nekoliko savjeta, pogledajte naš vodič za lemljenje Saznajte kako lemiti, pomoću ovih jednostavnih savjeta i projekata Saznajte kako lemiti, pomoću ovih jednostavnih savjeta i projekata. Jeste li malo zastrašeni tom mišlju vrućeg željeza i rastaljenog metala? Ako želite početi raditi s elektronikom, morat ćete naučiti lemiti. Pomozite nam. .

Prije pričvršćivanja Molex konektora na ploču, uzmite u obzir koje ćete igle koristiti. Muški konektor koji dolazi iz vašeg PC napajanja bit će četiri kabela. Dva crna kabela su uobičajeni uzemljeni kabeli, žuti je + 12v, a crveni + 5v. Obavezno na ploču pričvrstite odgovarajuće iglice ženskog konektora. Odlučio sam pričvrstiti samo dvije igle kako ne bih slučajno pržio ploču i LED-ove!

Odlučio sam spojiti DuPont kablove između ploče i LED-ova kako bi se strana kućišta računala i dalje mogla u potpunosti ukloniti bez potrebe za uklanjanjem proto-ploče. Predlažem da za početak stavite svoje LED diode na kućište i pričvrstite ih trakom, samo da provjerite odgovaraju li u kućištu kad su zatvoreni.

Bilješka: Kada zajedno lepite svoje LED trake, podatkovne linije trebaju sve strujati u istom smjeru. To će biti označeno na traci.

Napokon, montirajte proto-board unutar vašeg PC kule. Kako je ovo privremena konstrukcija za mene, odlučio sam izolirati stražnju stranu ploče i pričvrstiti je za stražnju stranu kućišta. Ipak odlučite pričvrstiti ploču, pazite da ne prouzrokujete kratke spojeve i budite oprezni od opasnosti koje statički elektricitet predstavlja na unutarnjim komponentama.

prosvijećen

U redu, trebali biste imati potpuno funkcionalno Wi-Fi svjetlo s automatskim obavijestima putem e-pošte. Sada kada imate ovaj sustav na mjestu, možete upotrijebiti prekidač kill na ploči kako biste sigurno uključili svoj NodeMCU putem USB-a i promijenili kôd. Možete pokušati dodati još jednu obavijest integriranu s IFTTT (plavo svjetlo za spominjanje na Twitteru ili Facebooku na primjer) ili eksperimentirati s prilagođenim postavkama u knjižnici FastLED kako biste svojim svjetlima malo pomaknuli.

Jeste li ugradili LED-ove u toranj računala? Jeste li postavili neku strašnu automatizaciju za njih? Javite nam svoje projekte i planove u odjeljku za komentare u nastavku!

Kreditna slika: David Brown / Flickr




Još ne komentari

O modernoj tehnologiji, jednostavnoj i pristupačnoj.
Vaš vodič u svijetu moderne tehnologije. Naučite kako koristiti tehnologije i uređaje koji nas okružuju svaki dan i naučite kako otkriti zanimljivosti na Internetu.