Ajoutez un éclairage contrôlé Wi-Fi à votre ordinateur avec NodeMCU

Ajoutez un éclairage contrôlé Wi-Fi à votre ordinateur avec NodeMCU / DIY

Les tours pour ordinateurs de bureau ont parcouru un long chemin depuis l’époque des tours en plastique gris dissimulées sous les bureaux. En plus des boîtiers remplissant différentes fonctions, les boîtiers pour PC ont évolué vers un sens de l'esthétique, avec des panneaux de verre affichant fièrement des composants et des designs futuristes robustes occupant une place centrale sur tout bureau fier de geek.

Les installations à LED sont de plus en plus courantes. Un simple 12v RVB bande peut être acheté pour aussi peu que 1 $ par mètre et illumine parfaitement l'intérieur d'un cas (avec presque tout le reste) parfaitement.

Cependant, nous voulons faire quelque chose d'un peu plus spécial que cela! Aujourd'hui, nous allons utiliser des pixels LED pour créer un éclairage de boîtier contrôlable par Wi-Fi, avec personnalisation. Si ça alors ça (IFTTT) notifications. L’ensemble du système est alimenté par un connecteur Molex de rechange à l’intérieur de la tour, le rendant ainsi totalement autonome. Mieux encore, tout ce projet coûte moins de 10 dollars à faire.

Ce tutoriel est disponible sous la forme vidéo ci-dessous, ou continuez à lire pour la version écrite.

Lumières avec cerveaux

Nous utiliserons des LED adressables individuellement pour ce projet. Parfois appelé Neopixels, Il existe différents modèles à choisir. Les LED utilisées ici proviennent d’un WS2812B bande, disponible pour environ 4 $ par mètre.

Nous allons utiliser le NodeMCU conseil pour les contrôler. Tandis que vous pouvez utiliser n'importe quelle carte compatible Arduino avec Wi-Fi, le NodeMCU est notre favori en tant que tueur Arduino. Rencontrez le tueur Arduino: ESP8266. Rencontrez le tueur Arduino: ESP8266 Et si je vous disais qu'il existe un tableau de développement compatible Arduino? Wi-Fi intégré pour moins de 10 $? Eh bien, il y a. Lire la suite .

De quoi as-tu besoin

  1. 1 bande de LED 5v Pixel, Neopixel / WS2811 / 12 / 12B
  2. 1 x NodeMCU (3 $ sur AliExpress)
  3. 1 x résistance 220-500 Ohm
  4. 1 x condensateur 100-1000 microFarad
  5. 1 x interrupteur à bascule ou disjoncteur
  6. 1 x connecteur Molex femelle
  7. 1 x planche à pain
  8. 1 x alimentation 5v (pour les tests)
  9. 1 x Proto-board et fil (pour l'installation du circuit)
  10. Divers fils de raccordement
  11. Fer à souder et soudure

La seule chose qui sort de l’ordinaire dans cette liste est la Molex connecteur. De nos jours, de nombreux propriétaires de PC n’utilisent pas du tout de lecteur de CD dans leur version, bien que les blocs d’alimentation soient toujours dotés d’une connexion. Nous pouvons utiliser ces lignes électriques de secours à notre avantage. J'ai récupéré mon connecteur femelle d'un ancien lecteur de disque, bien qu'ils soient disponibles pour seulement 0,30 $.

Construisez votre circuit

Pour éviter les fouilles inutiles dans notre cas, nous allons tester notre configuration en utilisant une alimentation externe. Configurez votre planche à pain comme ceci.

Si c'est la première fois que vous installez ce type de LED, je vous conseillerais de consulter notre guide détaillé sur l'utilisation préalable de ces bandes avec Arduino..

Le commutateur coupe simplement le NodeMCU du circuit. Dans cette version, j'utiliserai en fait un simple disjoncteur à la place de l'interrupteur. Sa fonction est de nous permettre d’isoler le conseil d’administration NIV broche pendant qu'il est connecté via USB. Bien que la puissance consommée par nos voyants soit relativement petite, il est recommandé d’éviter de tirer trop de courant via USB..

Une fois que votre planche à pain est configurée, elle devrait ressembler à ceci:

Dans mon exemple, le condensateur et la résistance sont déjà sur la carte mère, récupérés d’un projet plus ancien, bien que le circuit soit exactement le même..

Maintenant que le matériel est configuré, créons notre code.

Les cerveaux de l'opération

Vous allez coder votre NodeMCU en utilisant l'IDE Arduino. Pour cet exemple, nous allons configurer deux modes de fonctionnement, un commutateur principal marche / arrêt et un signal de notification lorsqu'un courrier électronique est reçu. Nous utiliserons Blynk, un service Web destiné aux appareils de l'Internet des objets, pour communiquer avec notre forum..

Assurez-vous de consulter notre article d'introduction sur Blynk Initiation à Blynk: appareils bricolage simples pour l'IoT Démarrage à l'aide de Blynk: appareils bricolage simples pour l'IoT rapide et facile que possible. Lire la suite si vous ne l'avez jamais utilisé auparavant.

Dans l'application Blynk, configurez un nouveau projet et sélectionnez NodeMCU comme carte. Un code d'autorisation sera envoyé à votre adresse e-mail enregistrée auprès de Blynk. Ajouter 3 boutons et 3 curseurs.

Ces boutons et curseurs doivent être configurés pour envoyer des valeurs aux Virtual Pins V0-V5. le “Tester” bouton va tester notre notification par email pour le moment. Étiquetez les deux autres boutons Puissance et Auto / Manuel ou quelque chose de similaire, et les trois curseurs sont pour rouge, vert, et Bleu.

Ouvrez maintenant l'IDE Arduino. Vous aurez besoin des bibliothèques Blynk et FastLED pour ce projet, alors assurez-vous que les deux sont installées. Si vous commencez tout juste avec l'IDE Arduino, consultez notre guide du débutant Arduino Démarrer avec Arduino: Guide du débutant Démarrer avec Arduino: Guide du débutant Arduino est une plate-forme de prototypage électronique à code source ouvert basée sur la flexibilité et la convivialité. matériel et logiciel. Il est destiné aux artistes, concepteurs, amateurs et à toute personne intéressée par la création d'objets ou d'environnements interactifs. Lire la suite .

Nous allons décomposer le code en morceaux ici, mais si vous préférez simplement télécharger le code complet, vous pouvez le trouver sur GitHub..

Si vous décidez de le faire, veillez à ajouter vos propres détails Wi-Fi, code d'autorisation, ainsi que la broche NodeMCU et le nombre de voyants pertinents au script. Si vous commencez tout juste à apprendre la programmation, je la relirais de zéro pour apprendre comment chaque partie fonctionne. Comment apprendre à programmer sans stresser Comment apprendre à programmer sans stress Vous avez peut-être décidé de vous lancer dans la programmation, que ce soit pour une carrière ou pour vos loisirs. Génial! Mais peut-être que vous commencez à vous sentir dépassé. Pas si bien. Voici de l'aide pour faciliter votre voyage. Lire la suite .

Créez une nouvelle esquisse et enregistrez-la sous un nom approprié. Assurez-vous de sélectionner le bon conseil et le bon port parmi les Outils > Planche et Outils > Port les menus. Commencez par inclure les espaces de noms pertinents Blynk et FastLED:

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

Ensuite, ajoutez quelques définitions pour FastLED:

// --- Définitions FastLED et CRV --- #define LED_PIN 3 // Broche GPIO pour les voyants RVB. #define NUM_LEDS 44 // Nombre de voyants connectés. #define BRIGHTNESS 64 // Luminosité des LED par défaut. #define LED_TYPE WS2812B #define COLOR_ORDER GRB leds RVB [NUM_LEDS];

Nous allons ensuite déclarer des variables pour nos valeurs RVB, notre mode automatique / manuel et notre commutateur principal. Nous ajoutons également une valeur pour une couleur de base requise par le préréglage FastLED que nous utiliserons plus tard..

// --- variables pour nos valeurs RVB (0-1023) --- int r = 500; int g = 500; int b = 500; // --- variables pour On / Off et basculement Auto / Manuel int masterSwitch = 1; int autoMode = 1; // --- int / octet pour l'incrémentation automatique de la teinte --- uint8_t gHue = 0; // rotation de la "couleur de base" utilisée par de nombreux motifs 

Lorsque vous ajoutez vos détails Blynk, assurez-vous de saisir vos propres détails Wi-Fi ici:

// --- Code d'authentification Blynk et détails du réseau wifi --- char auth [] = "YourAuthCode"; // autorisation Blynk ssid [] = "YourWifiName"; char pass [] = "YourWifiPassword";

Nous utilisons notre fonction de configuration pour ajouter nos voyants à FastLED et établir une communication avec Blynk..

void setup () // délai de sécurité à la mise sous tension (3000); Serial.begin (9600); // --- ajoute les LED à FastLED et règle la luminosité --- FastLED.addLeds(leds, NUM_LEDS) .setCorrection (TypicalSMD5050); FastLED.setBrightness (BRIGHTNESS); #define FRAMES_PER_SECOND 120 // --- démarrage de la communication avec le serveur Blynk --- Blynk.begin (auth, ssid, pass); 

Utilisez les instructions if dans votre fonction Loop pour faire différentes choses selon le mode dans lequel vous vous trouvez..

boucle vide () 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   

Maintenant, utilisez le BLYNK_WRITE fonctions pour modifier ces variables en fonction de ce que vous sélectionnez dans l'application Blynk:

// --- Master On / Off --- BLYNK_WRITE (V0) masterSwitch = param.asInt ();  // --- Valeur du curseur rouge --- BLYNK_WRITE (V1) r = param.asInt ();  // --- Valeur du curseur vert --- BLYNK_WRITE (V2) g = param.asInt ();  // --- Valeur du curseur bleu --- BLYNK_WRITE (V3) b = param.asInt ();  // --- Bascule en mode automatique / manuel --- BLYNK_WRITE (V4) autoMode = param.asInt (); 

Enfin, créez une fonction qui entraîne l’utilisation répétée d’une série de feux rouges comme notification par courrier électronique. Ceci est conçu pour déclencher n'importe quoi d'autre, ce qui signifie que vous recevrez toujours la notification, même si les lumières sont éteintes.

// --- Voyant de notification par e-mail --- BLYNK_WRITE (V5) int g = param.asInt (); si (g == 1) pour (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);     

Une fois ce code complet en place, utilisez l’interrupteur / le disjoncteur pour isoler le NodeMCU du circuit et branchez-le via USB. Téléchargez le croquis sur le tableau. Une fois téléchargé, débranchez le câble USB et connectez votre alimentation 5v. Si tout va bien, la bande de LED doit démarrer en mode automatique, qui est le fill_rainbow mode de FastLED. Vous pouvez tester le signal de notification en utilisant le bouton de test.

Comme vous pouvez le voir ici, j’ai placé mes LED à peu près sur le côté de mon boîtier afin de savoir combien il me faudrait. Dans mon cas, c’était 44, bien que j’utilise une mini-tour, vous pourrez donc en utiliser beaucoup plus. Assurez-vous simplement de prendre en compte la consommation électrique des voyants que vous utilisez et la puissance fournie par votre ordinateur.

Configuration de IFTTT

Nous allons utiliser Intégration Gmail d'IFTTT pour déclencher notre séquence de notification. Si vous n'avez jamais utilisé IFTTT auparavant, vous serez étonné par le nombre de façons dont vous pouvez automatiser vos applications Web préférées Si cela se passe comme ça: Connectez-vous et automatisez deux de vos applications Web préférées si ceci comme ça: Connectez-vous et automatisez Deux de vos applications Web préférées Connectez deux de vos applications Web préférées de manière créative. Une sorte de "ruban adhésif numérique" selon Linden Tibbets, le créateur de l'application, If This Then That (ifttt) vous permet de trouver de nouvelles utilisations pour… Read More .

Configurez une nouvelle applet. Pour “Ce”, choisir Tout nouvel email dans la boîte de réception du Gmail canal. Pour “Cette”, sélectionner Maker Webhooks et Faire une demande web.

La section URL est l'endroit où nous appelons notre NIP de notification. Vous devrez modifier l'URL pour travailler avec votre projet. Le format est http: // BlynkIpAddress / YourAuthCode / pin / V5. Vous pouvez trouver l'ip de Blynk en tapant ping blynk-cloud.com dans l'invite de commande.

Choisir METTRE comme le Méthode, et application / json comme le Type de contenu. Enfin, ajoutez [“1”] au Corps section, puis cliquez sur Créer une action.

Maintenant, chaque fois qu'un email arrive dans la boîte de réception de l'adresse Gmail associée à IFTTT, il envoie un message. “1” message à Virtual Pin 5 sur le serveur Blynk, ce qui déclenchera notre notification. Essayez de vous envoyer un email pour le tester. Soyez patient, IFTTT peut prendre du temps!

Vous pouvez maintenant vous débarrasser du bouton Test de votre application Blynk si vous le souhaitez..

Mettre tous ensemble

Maintenant que tout est testé, il est temps de terminer et d'installer notre matériel. Déplacez votre projet de la maquette sur la proto-board. Si vous êtes novice dans la soudure et que vous recherchez quelques astuces, consultez notre guide Apprendre à souder, avec ces astuces et projets simples Apprendre à souder, avec ces astuces et projets simples d'un fer chaud et de métal en fusion? Si vous voulez commencer à travailler avec l'électronique, vous devrez apprendre à souder. Laissez-nous vous aider. Lire la suite .

Avant de connecter votre connecteur Molex à la carte, prenez note des broches que vous utiliserez. Le connecteur mâle provenant de l'alimentation de votre PC aura quatre câbles. Les deux câbles noirs sont des câbles de masse communs, le câble jaune est de + 12v et le rouge est de + 5v. Assurez-vous d’attacher les broches correspondantes du connecteur femelle à la carte. J'ai choisi de n'attacher que deux broches pour éviter de frire accidentellement ma carte et les LED!

J'ai décidé de connecter les câbles DuPont entre ma carte et des voyants afin que le côté du boîtier de l'ordinateur puisse toujours être retiré complètement sans avoir à retirer la carte mère. Je suggère de poser vos voyants sur le boîtier et de les fixer avec du ruban adhésif, juste pour vérifier qu'ils tiennent bien dans le boîtier une fois fermés..

Remarque: Lorsque vous soudez vos bandes de voyants, les lignes de données doivent toutes aller dans le même sens. Cela sera noté sur la bande.

Enfin, montez votre proto-board dans votre tour PC. Comme il s’agit d’une construction temporaire, j’ai choisi d’isoler le dos du tableau et de le fixer à l’arrière de mon boîtier. Cependant, vous décidez de fixer la carte, veillez à ne pas causer de court-circuit et faites attention au danger que représente l'électricité statique sur les composants internes.

Éclairé

Tout va bien, vous devriez avoir une lumière entièrement fonctionnelle exploitée par Wi-Fi avec des notifications automatiques par courrier électronique. Maintenant que ce système est en place, vous pouvez utiliser le commutateur d'arrêt sur la carte afin de brancher votre NodeMCU en toute sécurité via USB et de changer le code. Vous pouvez essayer d'ajouter une autre notification intégrée à IFTTT (la lumière bleue pour les mentions sur Twitter ou Facebook, par exemple), ou expérimenter des paramètres personnalisés dans la bibliothèque FastLED pour donner un peu de mouvement à votre lumière..

Avez-vous installé des LED dans votre tour PC? Avez-vous mis en place une automatisation impressionnante pour eux? Faites-nous connaître vos projets et vos projets dans la section commentaires ci-dessous.!

Crédit d'image: David Brown / Flickr

En savoir plus sur: Boîtier d'ordinateur, Electronique, Bande LED.