Dodaj oświetlenie sterowane Wi-Fi do swojego komputera dzięki NodeMCU

  • Edmund Richardson
  • 0
  • 5189
  • 857
Reklama

Wieże komputerów stacjonarnych przeszły długą drogę od czasów szarych plastikowych wież ukrytych pod biurkami. Oprócz obudów, które spełniają różne funkcje, obudowy PC rozwinęły poczucie estetyki, z panelami szklanymi dumnie prezentującymi komponenty i mocnymi futurystycznymi projektami, które zajmują centralne miejsce na każdym dumnym biurku maniaka.

Instalacje LED stają się coraz bardziej popularne. Prosty 12v RGB pasek można kupić za jedyne 1 USD za metr i doskonale oświetli wnętrze skrzynki (wraz z prawie wszystkim innym).

Chcemy jednak zrobić coś bardziej wyjątkowego! Dziś wykorzystamy diody LED Pixel do stworzenia niestandardowego oświetlenia obudowy sterowanego Wi-Fi Jeśli to to tamto (IFTTT) powiadomienia. Cały system jest zasilany za pomocą zapasowego złącza Molex wewnątrz wieży, dzięki czemu jest całkowicie samodzielny. Co najważniejsze, cały ten projekt kosztuje mniej niż 10 USD.

Ten samouczek jest dostępny w formie wideo poniżej lub czytaj dalej wersję pisemną.

Światła Z Mózgami

W tym projekcie będziemy używać indywidualnie adresowalnych diod LED. Czasami znany jako Neopiksy, do wyboru są różne modele. Zastosowane tutaj diody LED pochodzą z WS2812B pasek, dostępny za około 4 USD za metr.

Będziemy korzystać z NodeMCU deska do ich kontrolowania. Chociaż możesz użyć dowolnej karty kompatybilnej z Arduino z Wi-Fi, NodeMCU jest naszą ulubioną jako zabójca Arduino Poznaj Arduino Killer: ESP8266 Poznaj Arduino Killer: ESP8266 Co jeśli powiem ci, że jest płyta deweloperska kompatybilna z Arduino z wbudowane Wi-Fi za mniej niż 10 USD? Cóż, jest. .

Czego potrzebujesz

  1. Taśma LED 1 x 5v Pixel, Neopixel / WS2811 / 12 / 12B
  2. 1 x NodeMCU (3 USD na AliExpress)
  3. 1 x rezystor 220-500 Ohm
  4. 1 x kondensator microFarad 100-1000
  5. 1 x przełącznik lub wyłącznik automatyczny
  6. 1 x żeńskie złącze Molex
  7. 1 x deska do krojenia chleba
  8. Zasilacz 1 x 5 V (do testowania)
  9. 1 x Proto-board i przewód (do instalacji obwodu)
  10. Różne przewody przyłączeniowe
  11. Lutownica i lut

Jedyną rzeczą na tej liście, która jest niezwykła, jest Molex złącze. Wielu właścicieli komputerów w dzisiejszych czasach w ogóle nie używa napędu CD w swoich kompilacjach, choć zasilacze wciąż są dla nich wyposażone. Możemy wykorzystać te zapasowe linie energetyczne na naszą korzyść. Uratowałem swoje złącze żeńskie ze starego napędu dyskowego, choć są one dostępne za jedyne 0,30 USD.

Zbuduj swój obwód

Aby uniknąć niepotrzebnego grzebania się w naszym przypadku, przetestujemy naszą konfigurację za pomocą zewnętrznego zasilacza. Skonfiguruj swoją płytkę ścienną w ten sposób.

Jeśli po raz pierwszy instalujesz tego rodzaju diody LED, radzę najpierw zapoznać się z naszym szczegółowym przewodnikiem na temat używania tych pasków w Arduino.

Przełącznik po prostu zrywa NodeMCU z obwodu. W tej wersji użyję prostego wyłącznika zamiast przełącznika. Jego funkcją jest umożliwienie nam odizolowania tablicy VIN pin, gdy jest podłączony przez USB. Chociaż ilość energii, którą będą pobierać nasze diody LED, jest stosunkowo niewielka, dobrą praktyką jest unikanie nadmiernego pobierania mocy przez USB.

Po skonfigurowaniu płyty kontrolnej powinna ona wyglądać mniej więcej tak:

W moim przykładzie kondensator i rezystor są już na płycie głównej, ponieważ zostały odzyskane ze starszego projektu, chociaż obwód jest dokładnie taki sam.

Teraz, gdy mamy skonfigurowany sprzęt, stwórzmy nasz kod.

Mózgi operacji

Będziesz kodować swój NodeMCU za pomocą Arduino IDE. W tym przykładzie skonfigurujemy dwa tryby działania: główny włącznik / wyłącznik i sygnał powiadomienia po otrzymaniu wiadomości e-mail. Będziemy używać Blynk, usługi internetowej dla urządzeń Internetu przedmiotów do komunikacji z naszą tablicą.

Zapoznaj się z naszym artykułem wprowadzającym Blynk Rozpoczęcie pracy z Blynk: Proste urządzenia IoT dla majsterkowiczów Rozpoczęcie pracy z Blynk: Proste urządzenia IoT zrób to sam Blynk to usługa Internetu rzeczy (IoT) zaprojektowana do zdalnego sterowania i odczytu danych z czujników z urządzeń jako szybkie i łatwe, jak to możliwe. jeśli nigdy wcześniej go nie używałeś.

W aplikacji Blynk skonfiguruj nowy projekt i wybierz NodeMCU jako swoją tablicę. Kod autoryzacyjny zostanie wysłany na Twój adres e-mail zarejestrowany w Blynk. Dodaj 3 przyciski i 3 suwaki.

Te przyciski i suwaki należy ustawić tak, aby wysyłały wartości do wirtualnych pinów V0-V5. The “Test” przycisk sprawdzi na razie nasze powiadomienie e-mail. Oznacz pozostałe dwa przyciski Moc i Auto / Manual lub coś podobnego, a trzy suwaki są do Czerwony, Zielony, i niebieski.

Teraz otwórz Arduino IDE. Będziesz potrzebował bibliotek Blynk i FastLED do tego projektu, więc upewnij się, że masz obie zainstalowane. Jeśli dopiero zaczynasz z Arduino IDE, zapoznaj się z naszym przewodnikiem dla początkujących Arduino Rozpoczęcie pracy z Arduino: Przewodnik dla początkujących Rozpoczęcie pracy z Arduino: Przewodnik dla początkujących Arduino to platforma prototypowania elektroniki typu open source oparta na elastycznej, łatwej w użyciu sprzęt i oprogramowanie. Jest przeznaczony dla artystów, projektantów, hobbystów i wszystkich zainteresowanych tworzeniem interaktywnych obiektów lub środowisk. .

Podzielimy kod na części tutaj, ale jeśli wolisz po prostu pobrać pełny kod, możesz go znaleźć na GitHub.

Jeśli zdecydujesz się to zrobić, dodaj do skryptu własne dane Wi-Fi, kod autoryzacji oraz odpowiedni pin NodeMCU i liczbę diod LED. Jeśli dopiero zaczynasz uczyć się programowania, przejrzałbym go od zera, aby dowiedzieć się, jak działa każda część. Jest to jeden z wielu sposobów na opanowanie programowania Jak nauczyć się programować bez stresu Jak nauczyć się programować bez stresu Być może zdecydowałeś się kontynuować programowanie, czy to dla kariery, czy dla hobby. Świetny! Ale może zaczynasz czuć się przytłoczony. Nie za dobrze. Oto pomoc w ułatwieniu podróży. .

Utwórz nowy szkic i zapisz go pod odpowiednią nazwą. Upewnij się, że wybrałeś właściwą kartę i port z Przybory > Deska i Przybory > Port menu. Zacznij od dołączenia odpowiednich przestrzeni nazw Blynk i FastLED:

# zdefiniować BLYNK_PRINT Numer seryjny #include #include #include „FastLED.h”

Następnie dodaj kilka definicji dla FastLED:

// --- Definicje FastLED i CRGB --- # zdefiniować LED_PIN 3 // Pin GPIO dla diod RGB. # zdefiniować NUM_LEDS 44 // Liczba podłączonych diod LED. # zdefiniować JASNOŚĆ 64 // Domyślna jasność LED. # zdefiniować diody LED_TYPE WS2812B # zdefiniować diody COLOR_ORDER GRB CRGB [NUM_LEDS];

Następnie zadeklarujemy zmienne dla naszych wartości RGB, naszego trybu automatycznego / ręcznego i naszego głównego przełącznika. Dodajemy również wartość koloru podstawowego wymaganą przez ustawienie wstępne FastLED, którego będziemy używać później.

// --- zmienne dla naszych wartości RGB (0-1023) --- int r = 500; int g = 500; int b = 500; // --- zmienne dla On / Off oraz Auto / Manual toggle int masterSwitch = 1; int autoMode = 1; // --- int / bajt do automatycznej inkrementacji odcienia --- uint8_t gHue = 0; // obracanie „koloru podstawowego” używanego przez wiele wzorów 

Podczas dodawania danych Blynk pamiętaj, aby podać tutaj swoje własne dane Wi-Fi:

// --- Szczegóły kodu autoryzacji Blynk i Wi-Fi --- char auth [] = "YourAuthCode"; // Autoryzacja Blynk char ssid [] = "YourWifiName"; char pass [] = "YourWifiPassword";

Korzystamy z naszej funkcji konfiguracji, aby dodać nasze diody LED do FastLED i nawiązać komunikację z Blynk.

void setup () // opóźnienie opóźnienia włączenia zasilania (3000); Serial.begin (9600); // --- dodaj diody LED do FastLED i ustaw jasność --- FastLED.addLeds (leds, NUM_LEDS) .setCorrection (TypicalSMD5050); FastLED.setBrightness (JASNOŚĆ); # zdefiniować FRAMES_PER_SECOND 120 // --- rozpocząć komunikację z serwerem Blynk --- Blynk.begin (auth, ssid, pass); 

Użyj instrukcji if w funkcji Loop, aby wykonywać różne czynności w zależności od trybu, w którym się znajdujesz.

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   

Teraz użyj BLYNK_WRITE funkcje zmiany tych zmiennych w zależności od tego, co wybierzesz w aplikacji Blynk:

// --- Master On / Off --- BLYNK_WRITE (V0) masterSwitch = param.asInt ();  // --- Wartość czerwonego suwaka --- BLYNK_WRITE (V1) r = param.asInt ();  // --- Wartość zielonego suwaka --- BLYNK_WRITE (V2) g = param.asInt ();  // --- Wartość niebieskiego suwaka --- BLYNK_WRITE (V3) b = param.asInt ();  // --- Przełącz tryb automatyczny / ręczny --- BLYNK_WRITE (V4) autoMode = param.asInt (); 

Na koniec utwórz funkcję, która spowoduje, że sekwencja czerwonych świateł będzie używana jako powiadomienie e-mail. Ma to na celu uruchomienie bez względu na to, co się dzieje, co oznacza, że ​​zawsze otrzymasz powiadomienie, nawet jeśli światła są wyłączone.

// --- Lampka powiadomienia e-mail --- 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);     

Po wprowadzeniu tego pełnego kodu użyj przełącznika / przerywacza obwodu, aby odizolować NodeMCU od obwodu i podłączyć go przez USB. Prześlij szkic na tablicę. Po przesłaniu odłącz kabel USB i podłącz zasilacz 5 V. Wszystko dobrze, pasek LED powinien uruchomić się w trybie automatycznym, czyli fill_rainbow tryb z FastLED. Możesz przetestować sygnał powiadomienia za pomocą przycisku testowego.

Jak widać tutaj, z boku mojej skrzynki z grubsza położyłem diody LED, więc wiedziałem, ile ich potrzebuję. W moim przypadku było to 44, chociaż używam mini-wieży, więc możesz użyć wielu innych. Pamiętaj tylko, aby wziąć pod uwagę pobór mocy przez używane diody LED i ile może zapewnić zasilacz komputera.

Konfigurowanie IFTTT

Będziemy używać Integracja IFTTT z Gmailem aby uruchomić naszą sekwencję powiadomień. Jeśli nigdy wcześniej nie korzystałeś z IFTTT, zdziwisz się, jak wiele sposobów możesz zautomatyzować swoje ulubione aplikacje internetowe. Jeśli to wtedy: Połącz i zautomatyzuj dowolne dwie z twoich ulubionych aplikacji internetowych Jeśli to wtedy to: połącz i automatyzuj Dowolne dwie Twoje ulubione aplikacje internetowe Twórz dowolne dwie ulubione aplikacje internetowe. Coś w rodzaju „cyfrowej taśmy izolacyjnej” według Linden Tibbets, twórcy aplikacji, If This Then That (ifttt) pozwala znaleźć nowe zastosowania… .

Skonfiguruj nowy aplet. Dla “To”, wybierać Każdy nowy e-mail w skrzynce odbiorczej z Gmail kanał. Dla “Że”, Wybierz Maker Webhooks i Złóż wniosek internetowy.

W sekcji adresu URL nazywamy nasz PIN powiadomienia. Musisz zmodyfikować adres URL, aby współpracował z Twoim projektem. Format to http: // BlynkIpAddress / YourAuthCode / pin / V5. Możesz znaleźć adres IP Blynk, pisząc ping blynk-cloud.com w wierszu polecenia.

Wybierać POŁOŻYĆ jak metoda, i application / json jak Typ zawartości. Na koniec dodaj [“1”] do Ciało sekcji, a następnie kliknij Utwórz akcję.

Teraz za każdym razem, gdy wiadomość e-mail dotrze do skrzynki odbiorczej adresu Gmail powiązanego z IFTTT, wyśle ​​wiadomość “1” wiadomość do Virtual Pin 5 na serwerze Blynk, która uruchomi nasze powiadomienie. Spróbuj wysłać sobie e-mail, aby go przetestować. Bądź cierpliwy, IFTTT może zająć trochę czasu!

Jeśli chcesz, możesz teraz pozbyć się przycisku Test w aplikacji Blynk.

Kładąc wszystko razem

Teraz, gdy wszystko przetestowaliśmy, nadszedł czas, aby dokończyć i zainstalować nasz sprzęt. Przenieś swój projekt z płyty chleba na proto-board. Jeśli dopiero zaczynasz lutować i szukasz kilku wskazówek, zapoznaj się z naszym przewodnikiem po lutowaniu Naucz się lutować, korzystając z tych prostych wskazówek i projektów Naucz się lutować, korzystając z tych prostych wskazówek i projektów Czy jesteś nieco zastraszony tą myślą gorącego żelaza i stopionego metalu? Jeśli chcesz zacząć pracę z elektroniką, musisz nauczyć się lutować. Pozwól nam pomóc. .

Przed podłączeniem złącza Molex do płyty zwróć uwagę, których pinów będziesz używać. Wtyk męski pochodzący z zasilacza komputera będzie miał cztery kable. Dwa czarne kable są wspólnymi kablami uziemiającymi, żółty kabel ma napięcie + 12 V, a czerwony + 5 V. Upewnij się, że przymocowałeś odpowiednie piny żeńskiego złącza do płyty. Zdecydowałem się dołączyć tylko dwa piny, aby uniknąć przypadkowego smażenia płyty i diod LED!

Zdecydowałem się podłączyć kable DuPont między płytą a diodami LED, aby bok obudowy komputera można było nadal całkowicie usunąć bez konieczności wyjmowania płyty głównej. Proponuję umieścić diody LED na obudowie i zabezpieczyć je taśmą na początek, aby sprawdzić, czy dobrze pasują do obudowy po zamknięciu.

Uwaga: Podczas lutowania razem pasków LED linie danych muszą płynąć w tym samym kierunku. Zostanie to oznaczone na pasku.

Na koniec zamontuj proto-board w wieży komputerowej. Ponieważ jest to dla mnie tymczasowa wersja, zdecydowałem się zaizolować tył deski i zapiąć suwak z tyłu mojej skrzynki. Niezależnie od tego, czy zdecydujesz się podłączyć płytkę, uważaj, aby nie spowodować zwarć, i uważaj na niebezpieczeństwo związane z elektrycznością statyczną na wewnętrznych elementach.

Oświecony

Wszystko dobrze, powinieneś mieć w pełni funkcjonalną lampkę Wi-Fi z automatycznymi powiadomieniami e-mail. Teraz, gdy masz już ten system, możesz użyć przełącznika zabijania na płycie, aby bezpiecznie podłączyć NodeMCU przez USB i zmienić kod. Możesz spróbować dodać kolejne powiadomienie zintegrowane z IFTTT (niebieskie światło dla wzmianek na przykład na Twitterze lub Facebooku), lub eksperymentować z niestandardowymi ustawieniami w bibliotece FastLED, aby trochę popsuć swoje światła.

Czy zainstalowałeś diody LED w wieży komputerowej? Czy skonfigurowałeś dla nich niesamowitą automatyzację? Daj nam znać o swoich projektach i planach w sekcji komentarzy poniżej!

Źródło zdjęcia: David Brown / Flickr




Jeszcze bez komentarzy

O nowoczesnej technologii, prostej i niedrogiej.
Twój przewodnik w świecie nowoczesnych technologii. Dowiedz się, jak korzystać z technologii i gadżetów, które nas otaczają każdego dnia i dowiedz się, jak odkrywać ciekawe rzeczy w Internecie.