Fügen Sie Ihrem Computer mit NodeMCU eine Wi-Fi-gesteuerte Beleuchtung hinzu
Desktop-PC-Türme haben seit den Tagen grauer Kunststofftürme, die unter Schreibtischen versteckt sind, einen langen Weg zurückgelegt. Neben Gehäusen, die verschiedene Funktionen erfüllen, haben PC-Gehäuse ein Gefühl von Ästhetik entwickelt, mit Glaselementen, die stolz ihre Komponenten zeigen, und starken futuristischen Designs stehen auf jedem Schreibtisch eines stolzen Geeks im Mittelpunkt.
LED-Installationen werden immer häufiger. Eine einfache 12 V RGB Streifen können für nur 1 US-Dollar pro Meter gekauft werden und erleuchten die Innenseite eines Gehäuses (zusammen mit fast allem anderen) perfekt.
Wir möchten jedoch etwas Besonderes tun! Heute werden wir Pixel-LEDs verwenden, um eine mit Wi-Fi steuerbare Gehäusebeleuchtung zu schaffen Wenn dies dann das (IFTTT) Benachrichtigungen. Dieses gesamte System wird über einen Molex-Ersatzstecker im Turm mit Strom versorgt und ist somit völlig unabhängig. Das Beste ist, dass das gesamte Projekt unter 10 USD kostet.
Dieses Tutorial ist in Videoform verfügbar oder lesen Sie weiter für die schriftliche Version.
Lichter mit Gehirnen
Wir werden für dieses Projekt individuell adressierbare LEDs verwenden. Manchmal auch bekannt als Neopixel, Es gibt verschiedene Modelle zur Auswahl. Die hier verwendeten LEDs stammen von a WS2812B Streifen, erhältlich für rund 4 Dollar pro Meter.
Wir werden die verwenden NodeMCU Bord, um sie zu kontrollieren. Während Sie ein beliebiges Arduino-kompatibles Board mit Wi-Fi verwenden können, ist der NodeMCU ein Favorit von uns als Arduino-Killer. Triff den Arduino-Killer: ESP8266 Triff den Arduino-Killer: ESP8266 Was wäre, wenn ich dir ein Arduino-kompatibles Entwicklerboard mit erzähle? eingebautes WLAN für weniger als 10 US-Dollar? Nun, das gibt es. Weiterlesen .
Was du brauchst
- 1 x 5 V Pixel LED-Streifen, Neopixel / WS2811 / 12 / 12B
- 1 x NodeMCU (3 $ auf AliExpress)
- 1 x 220-500 Ohm Widerstand
- 1 x 100-1000 microFarad-Kondensator
- 1 x Kippschalter oder Trennschalter
- 1 x Molex-Buchse
- 1 x Brotschneidebrett
- 1 x 5 V Netzteil (zum Testen)
- 1 x Proto-Board und Kabel (zur Installation der Schaltung)
- Verschiedene Anschlussdrähte
- Lötkolben und Lötmittel
Das einzige was in dieser Liste ungewöhnlich ist, ist das Molex Verbinder. Viele PC-Besitzer verwenden heutzutage in ihren Builds überhaupt kein CD-Laufwerk, obwohl die Netzteile noch mit einem Anschluss für sie ausgestattet sind. Wir können diese Ersatzstromleitungen zu unserem Vorteil nutzen. Ich habe meine Buchse von einem alten Festplattenlaufwerk gerettet, obwohl sie bereits für 0,30 US-Dollar erhältlich sind.
Bauen Sie Ihre Schaltung auf
Um ein unnötiges Stöbern in unserem Fall zu vermeiden, testen wir unser Setup mit einem externen Netzteil. Richten Sie Ihr Steckbrett so ein.
Wenn Sie diese Art von LEDs zum ersten Mal einrichten, empfiehlt es sich, zunächst unsere ausführliche Anleitung zur Verwendung dieser Streifen mit Arduino zu lesen.
Der Switch unterbricht einfach die NodeMCU vom Stromkreis. In diesem Build werde ich tatsächlich einen einfachen Trennschalter anstelle des Schalters verwenden. Seine Funktion besteht darin, uns zu erlauben, die Platinen zu isolieren VIN Pin, während es über USB verbunden ist. Die von unseren LEDs verbrauchte Leistung ist zwar relativ gering, es wird jedoch empfohlen, zu viel Strom über USB zu vermeiden.
Sobald Ihr Steckbrett eingerichtet ist, sollte es ungefähr so aussehen:
In meinem Beispiel befinden sich der Kondensator und der Widerstand bereits auf der Proto-Platine, da er aus einem älteren Projekt gerettet wurde, obwohl die Schaltung genau dieselbe ist.
Nachdem wir nun die Hardware eingerichtet haben, erstellen wir unseren Code.
Die Gehirne der Operation
Sie werden Ihre NodeMCU mit der Arduino IDE codieren. In diesem Beispiel richten wir zwei Betriebsmodi ein, einen Hauptschalter für Ein / Aus und ein Benachrichtigungssignal, wenn eine E-Mail empfangen wird. Wir werden Blynk, einen Webservice für Internet of Things-Geräte, verwenden, um mit unserem Board zu kommunizieren.
Lesen Sie auch den einführenden Artikel zu Blynk. Erste Schritte mit Blynk: Einfache DIY-IoT-Geräte Erste Schritte mit Blynk: Einfache DIY-IoT-Geräte Blynk ist ein Internet of Things (IoT) -Dienst, der Fernbedienungen und das Lesen von Sensordaten von Ihren Geräten ermöglicht schnell und einfach wie möglich. Lesen Sie mehr, wenn Sie es noch nie benutzt haben.
Richten Sie in der Blynk-App ein neues Projekt ein und wählen Sie NodeMCU als Board aus. Ein Autorisierungscode wird an Ihre bei Blynk registrierte E-Mail-Adresse gesendet. Hinzufügen 3 Tasten und 3 Schieberegler.
Diese Schaltflächen und Schieberegler sollten so eingestellt sein, dass Werte an die virtuellen Pins V0-V5 gesendet werden. Das “Prüfung” button testet jetzt unsere E-Mail-Benachrichtigung. Beschriften Sie die beiden anderen Tasten Leistung und Auto / Manuell oder etwas ähnliches, und die drei Schieberegler sind für rot, Grün, und Blau.
Öffnen Sie nun die Arduino IDE. Sie benötigen die Blynk- und FastLED-Bibliotheken für dieses Projekt. Stellen Sie daher sicher, dass Sie beide installiert haben. Wenn Sie gerade erst mit der Arduino IDE beginnen, lesen Sie unseren Arduino-Einsteigerhandbuch. Erste Schritte mit Arduino: Einsteigerhandbuch Erste Schritte mit Arduino: Ein Anfängerhandbuch Arduino ist eine Open-Source-Prototyping-Plattform für Elektronik, die auf einer flexiblen, benutzerfreundlichen Plattform basiert Hardware und Software. Es ist für Künstler, Designer, Hobbyisten und alle gedacht, die interaktive Objekte oder Umgebungen erstellen möchten. Weiterlesen .
Wir werden den Code hier in Brocken aufschlüsseln. Wenn Sie es vorziehen, einfach den vollständigen Code herunterzuladen, können Sie ihn auf GitHub finden.
Wenn Sie sich dafür entscheiden, fügen Sie dem Skript unbedingt Ihre eigenen Wi-Fi-Details, den Autorisierungscode sowie die entsprechenden NodeMCU-Pins und die Anzahl der LEDs hinzu. Wenn Sie gerade erst mit dem Programmieren beginnen, würde ich es von Grund auf durcharbeiten, um zu erfahren, wie jeder Teil funktioniert. Dies ist eine von vielen Möglichkeiten, sich mit dem Programmieren zu beschäftigen. So lernen Sie das Programmieren ohne all den Stress. Wie lernen Sie das Programmieren ohne all den Stress? Vielleicht haben Sie sich dazu entschieden, das Programmieren zu beginnen, ob für eine Karriere oder nur als Hobby. Großartig! Aber vielleicht fangen Sie an, sich überfordert zu fühlen. Nicht so toll. Hier finden Sie Hilfe, um Ihre Reise zu erleichtern. Weiterlesen .
Erstellen Sie eine neue Skizze und speichern Sie sie unter einem geeigneten Namen. Stellen Sie sicher, dass Sie die richtige Karte und den richtigen Port aus der Karte auswählen Werkzeuge > Tafel und Werkzeuge > Hafen Menüs. Beginnen Sie mit dem Einfügen der relevanten Blynk- und FastLED-Namensräume:
#define BLYNK_PRINT Serial #include #umfassen #include "FastLED.h"
Als Nächstes fügen Sie einige Definitionen für FastLED hinzu:
// --- FastLED-Definitionen und CRGB --- #define LED_PIN 3 // GPIO-Pin für RGB-LEDs. #define NUM_LEDS 44 // Anzahl der angeschlossenen LEDs. #define BRIGHTNESS 64 // Standard-LED-Helligkeit. #define LED_TYPE WS2812B #define COLOR_ORDER GRB-CRGB-LEDs [NUM_LEDS];
Als Nächstes definieren wir Variablen für unsere RGB-Werte, unseren Modus "Automatisch / Manuell" und unseren Hauptschalter. Wir fügen auch einen Wert für eine Grundfarbe hinzu, die von der FastLED-Voreinstellung benötigt wird, die wir später verwenden werden.
// --- Variablen für unsere RGB-Werte (0-1023) --- int r = 500; int g = 500; int b = 500; // --- Variablen für Ein / Aus und Auto / Manuelles Umschalten int masterSwitch = 1; int autoMode = 1; // --- int / Byte für automatische Farbtoninkrementierung --- uint8_t gHue = 0; // rotierende "Grundfarbe", die von vielen Mustern verwendet wird
Geben Sie beim Hinzufügen Ihrer Blynk-Details unbedingt Ihre eigenen Wi-Fi-Details ein:
// --- Blynk-Authentifizierungscode und WLAN-Details --- char auth [] = "YourAuthCode"; // Blynk-Berechtigung char ssid [] = "YourWifiName"; char pass [] = "YourWifiPassword";
Wir verwenden unsere Setup-Funktion, um unsere LEDs zu FastLED hinzuzufügen und die Kommunikation mit Blynk herzustellen.
void setup () // Sicherheitsverzögerung beim Einschalten (3000); Serienbeginn (9600); // --- füge die LEDs zu FastLED hinzu und stelle die Helligkeit ein --- FastLED.addLeds(LEDs, NUM_LEDS) .setCorrection (TypicalSMD5050); FastLED.setBrightness (HELLIGKEIT); #define FRAMES_PER_SECOND 120 // --- Kommunikation mit dem Blynk-Server starten --- Blynk.begin (auth, ssid, pass);
Verwenden Sie if-Anweisungen in Ihrer Loop-Funktion, um verschiedene Aktionen auszuführen, je nachdem, in welchem Modus Sie sich befinden.
void loop () Blynk.run (); if (masterSwitch == 0) für (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
Verwenden Sie jetzt die BLYNK_WRITE Funktionen zum Ändern dieser Variablen in Abhängigkeit von der Auswahl in der Blynk-App:
// --- Master Ein / Aus --- BLYNK_WRITE (V0) masterSwitch = param.asInt (); // --- Roter Schiebereglerwert --- BLYNK_WRITE (V1) r = param.asInt (); // --- Wert des grünen Schiebereglers --- BLYNK_WRITE (V2) g = param.asInt (); // --- Blauer Schiebereglerwert --- BLYNK_WRITE (V3) b = param.asInt (); // --- Umschalten zwischen Auto / Manuellem Modus --- BLYNK_WRITE (V4) autoMode = param.asInt ();
Erstellen Sie schließlich eine Funktion, die dazu führt, dass eine wiederholte Abfolge roter Lichter als E-Mail-Benachrichtigung verwendet wird. Dies ist so konzipiert, dass es unabhängig von den anderen Ereignissen ausgelöst wird. Dies bedeutet, dass Sie immer eine Benachrichtigung erhalten, auch wenn die Lichter derzeit ausgeschaltet sind.
// --- E-Mail-Benachrichtigungsleuchte --- BLYNK_WRITE (V5) int g = param.asInt (); if (g == 1) für (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);
Wenn Sie diesen vollständigen Code eingerichtet haben, können Sie die NodeMCU mit dem Schalter / Trennschalter vom Stromkreis trennen und über USB anschließen. Laden Sie die Skizze auf die Tafel hoch. Ziehen Sie nach dem Hochladen das USB-Kabel ab und schließen Sie das 5-V-Netzteil an. Wenn alles gut geht, sollte der LED-Streifen im Automatikmodus anlaufen fill_rainbow Modus von FastLED. Sie können das Benachrichtigungssignal mit der Test-Taste testen.
Wie Sie hier sehen können, habe ich meine LEDs grob auf die Seite meines Gehäuses gelegt, damit ich wusste, wie viele ich benötigen würde. In meinem Fall waren es 44, obwohl ich einen Miniturm verwende, so dass Sie möglicherweise noch viele weitere verwenden können. Berücksichtigen Sie dabei unbedingt die Stromaufnahme der verwendeten LEDs und die Leistung Ihres PCs.
IFTTT konfigurieren
Wir werden verwenden IFTTTs Google Mail-Integration um unsere Benachrichtigungssequenz auszulösen. Wenn Sie IFTTT noch nie verwendet haben, werden Sie erstaunt sein, wie viele Möglichkeiten Sie haben, um Ihre Lieblings-Web-Apps zu automatisieren. Wenn dies dann der Fall ist: Verbinden und automatisieren Sie zwei Ihrer Lieblings-Web-Apps, wenn dies dann der Fall ist: Verbinden und Automatisieren Zwei Ihrer Lieblings-Web-Apps Verbinden Sie zwei Ihrer Lieblings-Web-Apps auf kreative Weise. Eine Art "digitales Klebeband" nach Linden Tibbets, dem Ersteller der App. Wenn dies möglich ist (ifttt), können Sie neue Verwendungsmöglichkeiten für… Read More .
Richten Sie ein neues Applet ein. Zum “Diese”, wählen Jede neue E-Mail im Posteingang von dem Google Mail Kanal. Zum “Das”, wählen Hersteller Webhooks und Machen Sie eine Webanfrage.
Im URL-Bereich rufen wir unsere Benachrichtigungs-Pin auf. Sie müssen die URL ändern, um mit Ihrem Projekt zu arbeiten. Das Format ist http: // BlynkIpAddress / YourAuthCode / pin / V5. Sie finden die Blynk-IP, indem Sie eingeben ping blynk-cloud.com in der Eingabeaufforderung.
Wählen STELLEN als die Methode, und Anwendung / Json als die Inhaltstyp. Zum Schluss noch hinzufügen [“1”] zum Karosserie klicken Sie dann auf Aktion erstellen.
Jedes Mal, wenn eine E-Mail im Posteingang der mit IFTTT verknüpften Gmail-Adresse eingeht, wird eine E-Mail gesendet “1” Nachricht an Virtual Pin 5 auf dem Blynk-Server, die unsere Benachrichtigung auslöst. Senden Sie eine E-Mail, um sie zu testen. Seien Sie geduldig, IFTTT kann einige Zeit dauern!
Sie können jetzt die Test-Schaltfläche in Ihrer Blynk-App entfernen, wenn Sie möchten.
Alles zusammenfügen
Nachdem wir alles getestet haben, ist es an der Zeit, unsere Hardware fertigzustellen und zu installieren. Bewegen Sie Ihr Projekt vom Steckbrett auf das Protoplatt. Wenn Sie zum Löten neu sind und nach ein paar Tipps suchen, lesen Sie in unserem Leitfaden zum Löten. Lernen Sie, wie Sie mit diesen einfachen Tipps und Projekten löten. Lernen Sie, wie Sie mit diesen einfachen Tipps und Projekten Löten lernen von heißem Eisen und geschmolzenem Metall? Wenn Sie mit der Elektronik arbeiten möchten, müssen Sie das Löten lernen. Lasst uns helfen. Weiterlesen .
Beachten Sie vor dem Anbringen Ihres Molex-Steckverbinders an der Platine, welche Pins Sie verwenden werden. Der Stecker, der von der Stromversorgung Ihres PCs kommt, verfügt über vier Kabel. Die beiden schwarzen Kabel sind Erdungskabel, das gelbe Kabel ist + 12V und das rote Kabel ist + 5V. Stellen Sie sicher, dass Sie die entsprechenden Stifte der Buchsenleiste auf der Platine befestigen. Ich habe mich dafür entschieden, nur zwei Pins anzubringen, um ein versehentliches Braten von Platine und LEDs zu vermeiden!
Ich entschied mich dafür, DuPont-Kabel zwischen meiner Platine und den LEDs anzuschließen, sodass die Seite des PC-Gehäuses vollständig entfernt werden kann, ohne dass die Proto-Platine entfernt werden muss. Ich schlage vor, dass Sie Ihre LEDs auf das Gehäuse legen und sie zuerst mit Klebeband befestigen, um zu überprüfen, ob sie im geschlossenen Zustand richtig in das Gehäuse passen.
Hinweis: Wenn Sie Ihre LED-Streifen zusammenlöten, müssen die Datenleitungen alle in dieselbe Richtung fließen. Dies wird auf dem Streifen angegeben.
Montieren Sie schließlich Ihre Protoplatine in Ihrem PC Tower. Da dies ein temporärer Build für mich ist, entschied ich mich dafür, die Rückseite des Boards zu isolieren und es mit einem Reißverschluss an der Rückseite meines Gehäuses zu befestigen. Sie können jedoch die Platine anbringen. Achten Sie darauf, keine Kurzschlüsse zu verursachen, und achten Sie auf die Gefahr statischer Elektrizität an den internen Komponenten.
Erleuchtet
Alles in Ordnung, sollten Sie eine voll funktionsfähige Wi-Fi-Lampe mit automatischen E-Mail-Benachrichtigungen haben. Nachdem Sie dieses System installiert haben, können Sie den Kill-Schalter auf der Platine verwenden, um Ihre NodeMCU sicher über USB anzuschließen und den Code zu ändern. Sie können versuchen, eine weitere in IFTTT integrierte Benachrichtigung hinzuzufügen (blaues Licht für Erwähnungen auf Twitter oder Facebook), oder Sie können mit benutzerdefinierten Einstellungen in der FastLED-Bibliothek experimentieren, um Ihren Leuchten ein wenig Bewegung zu verleihen.
Haben Sie LEDs in Ihrem PC Tower installiert? Haben Sie eine tolle Automatisierung für sie eingerichtet? Teilen Sie uns in den Kommentaren unten Ihre Projekte und Pläne mit!
Bildnachweis: David Brown / Flickr
Erfahren Sie mehr über: Computergehäuse, Elektronik, LED-Streifen.