Table des matières:

Bande LED contrôlée par site Web/WiFi avec Raspberry Pi : 9 étapes (avec photos)
Bande LED contrôlée par site Web/WiFi avec Raspberry Pi : 9 étapes (avec photos)

Vidéo: Bande LED contrôlée par site Web/WiFi avec Raspberry Pi : 9 étapes (avec photos)

Vidéo: Bande LED contrôlée par site Web/WiFi avec Raspberry Pi : 9 étapes (avec photos)
Vidéo: How To Use Addressable RGB WS2812B LED Strips With a Raspberry Pi Single Board Computer 2024, Novembre
Anonim
Bande LED contrôlée par site Web/WiFi avec Raspberry Pi
Bande LED contrôlée par site Web/WiFi avec Raspberry Pi

Fond:

Je suis adolescent et je conçois et programme depuis quelques années de petits projets électroniques, en plus de participer à des compétitions de robotique.

Je travaillais récemment sur la mise à jour de la configuration de mon bureau et j'ai décidé qu'un ajout intéressant serait un éclairage d'ambiance. Au début, je venais d'acheter une bande LED alimentée par batterie 5v contrôlée par une télécommande, mais ce n'était pas un processus très gratifiant et j'avais une idée. J'avais quelques pièces de rechange qui traînaient et j'essayais de penser à quelque chose à voir avec le Raspberry Pi que j'avais eu pour Noël. Au cours d'une journée particulièrement ennuyeuse en cours de sciences, j'ai réalisé que je pouvais utiliser les broches GPIO du Raspberry Pi pour contrôler les lumières LED, tant que je leur faisais sortir des valeurs RVB.

Mon plan de conception initial était d'avoir les lumières contrôlées par un écran tactile monté sur mon mur ou mon bureau, mais après quelques révisions, j'ai décidé que le moyen le plus simple serait de le contrôler avec un autre appareil. Alors que j'envisageais d'écrire une application pour mon téléphone en Java, un petit site Web semblait beaucoup plus efficace.

Ce projet est ouvert à de nombreuses améliorations, et bien que mes html + php soient en quelque sorte sommaires, ils font le travail

Les sujets:

Les principaux points que ce guide touchera sont---

  1. Contrôler GPIO sur le Raspberry Pi
  2. Hébergement d'un serveur Web Apache sur le Pi
  3. Utilisation du serveur Web pour contrôler une bande lumineuse à LED RVB

Étape 1: Matériel et fournitures requis

  • 1 x Raspberry Pi (j'ai utilisé un Pi 2 modèle B)
  • Carte Micro SD
  • Quelque chose pour alimenter votre Pi (câble USB et adaptateur secteur)
  • 1 x adaptateur WiFi USB OU une connexion Ethernet
  • 1 x câble USB vers série -
  • 1 x évasion GPIO -
  • 1 x petite planche à pain -
  • USB vers MicroSD -
  • Plusieurs couleurs de fil à âme solide
  • Un enclos
  • 3 x transistors de type NPN (j'ai utilisé des transistors BC547b)
  • 1x bande lumineuse LED 5V
  • Fils de raccordement femelle à mâle -

Étape 2: Configuration de l'environnement du Pi

Configuration de l'environnement du Pi
Configuration de l'environnement du Pi
Configuration de l'environnement du Pi
Configuration de l'environnement du Pi

J'ai utilisé une boîte en plastique inclinée pour enfermer le projet afin qu'il ne ressorte pas sur mon étagère. J'ai percé un trou sur le côté pour le câble USB série et j'ai positionné le Pi à côté de la planche à pain et du Pi Wedge.

Étape 3: Configuration de votre Pi (Partie 1)

Configuration de votre Pi (partie 1)
Configuration de votre Pi (partie 1)

Pour ce projet, j'ai utilisé la dernière version de Raspbian non-desktop

Un guide sur la façon d'installer Raspbian peut être trouvé ici:

(Vous aurez peut-être besoin d'un adaptateur USB vers microSD pour votre ordinateur)

Une fois Raspbian installé sur la carte SD, vous pouvez procéder à son branchement sur le Raspberry Pi et connecter le câble Ethernet ou l'adaptateur USB WiFi au Pi.

Ensuite, installez Tera Term sur votre ordinateur, ce qui vous permet de vous interfacer avec le terminal du Raspberry Pi via votre PC:

Ensuite, branchez le câble série USB du Pi Wedge au PC. Il est accessible via Tera Term. Assurez-vous que le débit en bauds du port série est défini sur 115200.

Tout d'abord, le Pi affichera une invite pour se connecter si le système d'exploitation a été correctement installé

Le nom d'utilisateur et le mot de passe par défaut sont:

Nom d'utilisateur: pi

Mot de passe: framboise

Étape 4: Configuration de votre Pi (Partie 2)

Configuration du Wi-Fi

Dans le terminal, exécutez la commande

sudo nano /etc/network/interfaces

Ensuite, collez ce code et remplacez le SSID et le PSK par le nom et le mot de passe de votre routeur

lo auto

iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 auto wlan0 iface wlan0 inet dhcp wpa-ssid "ssid" wpa-psk "mot de passe"

Ce fichier permet au Pi de se connecter à votre WiFi

Ensuite, redémarrez le Pi avec la ligne

redémarrage sudo

Installation du serveur Web

Connectez-vous, puis installez le serveur Apache avec

sudo apt-get install apache2 -y

et

sudo apt-get install php libapache2-mod-php -y

Pour trouver l'adresse IP de votre Pi, exécutez la commande

nom d'hôte -I

Utilisez votre navigateur pour accéder à l'IP qui s'affiche afin de vérifier si cela fonctionne.

Par exemple, dans Google Chrome, je taperais 192.168.1.72 dans la barre d'adresse.

La documentation que vous devez suivre est disponible sur

La bibliothèque PiGPIO doit également être installée, ce qui vous permet de contrôler les données envoyées via les broches GPIO.

sudo apt-get install build-essential unzip wget

et

wget https://abyz.me.uk/rpi/pigpio/pigpio.zip && unzip pigpio.zip && cd PIGPIO && sudo make install

Étape 5: Rédaction du code

Accédez à /var/www/html avec la ligne

cd /var/www/html

Dans le répertoire, il y aura un fichier html par défaut, que vous devrez éditer.

sudo nano index.html

Dans Nano, supprimez tout ce qui s'y trouve et remplacez-le par le code suivant.

(Tera Term peut être un peu génial avec le copier-coller, mais généralement une fois que vous avez copié du texte, alt+v devrait faire le travail)

function readRGB(color){ if (color.length == 0) { document.getElementById("txtHint").innerHTML = ""; revenir; } else { var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 400) { document.getElementById("txtHint").innerHTML = this.responseText; } }; temp = encodeURIComponent(couleur); xmlhttp.open("GET", "action_page.php?q=" + temp, true); xmlhttp.send(); } } Sélectionnez une couleur:

Ensuite, enregistrez-le sous le nom main.html, au lieu de index.html

Le code ci-dessus agit comme le bouton sur lequel vous appuyez et comme le code qui envoie la couleur que vous sélectionnez à l'autre fichier.

Ensuite, exécutez la commande

sudo nano

et coller

$r $g $b ;

exec("cochons p 17 $g"); exec("cochons p 22 $r"); exec("cochons p 22 $b"); ?>

et enregistrez-le sous action_page.php

Ce code reçoit la valeur RVB et définit les valeurs PWM sur la bande LED.

Étape 6: Conception de circuits

Conception de circuits
Conception de circuits

Maintenant que tous les logiciels sont configurés, il est temps de travailler sur le matériel.

L'objectif du circuit est d'envoyer des signaux PWM (Pulse Width Modulated) du Pi à la matrice de LED.

La bande LED a quatre broches: rouge, verte, bleue et alimentation (5 volts dans mon cas).

Chaque broche PWM contrôle l'une des trois couleurs via un transistor, qui agit comme un interrupteur.

Chaque transistor a trois broches: collecteur, base et émetteur.

Le signal PWM contrôle le cycle de service (combien de temps l'interrupteur s'allume et s'éteint).

Le cycle de service fait que les lumières sont plus sombres ou plus lumineuses.

Parce que les lumières s'allument et s'éteignent si rapidement, les gens la voient comme une lumière solide avec une luminosité variable.

REMARQUE: Dans le schéma, les symboles LED représentent le réseau de LED et les résistances de limitation de courant dans le fil.

Étape 7: Beurrer votre pain… Planche

Beurrer votre pain… Planche
Beurrer votre pain… Planche

Lors de la connexion, assurez-vous que le Pi est éteint.

Placez le coin Pi avec une rangée de broches sur l'une ou l'autre moitié de la planche à pain et connectez-le au Pi avec le câble plat. J'ai utilisé du fil à âme pleine pour réduire l'encombrement sur la planche à pain et pour m'assurer que rien ne serait accidentellement débranché.

Placez les transistors sur la moitié supérieure de la maquette (colonne A) et connectez le réseau de LED sur la moitié inférieure (lignes H, I ou J).

Connectez le rail d'alimentation négatif à la broche GND sur la cale et le rail positif à la broche 5V.

Connectez le rail d'alimentation positif à la broche d'alimentation de la matrice de LED.

Pour chaque transistor, connectez la broche de l'émetteur au rail d'alimentation négatif et connectez la broche du collecteur à des rangées séparées correspondant aux broches du réseau de LED (j'ai utilisé la rangée 1 comme 5v et 2, 3 et 4 comme vert, rouge et bleu, dans la colonne f). Ensuite, connectez quatre cavaliers mâles à femelles de la planche à pain à la bande LED.

Enfin, connectez la broche de base du transistor vert à la broche 17 du coin, la base du transistor rouge à la broche 22 et la base du transistor bleu à la broche 24.

Étape 8: Tester

Essai
Essai

Dans un navigateur Web, accédez à l'adresse IP du Pi, puis écrivez /main.html

Sélectionnez une couleur et laissez-vous surprendre par les « merveilles de la technologie moderne » !

Étape 9: Contactez-moi si vous avez des questions/commentaires

Si vous avez des questions ou des suggestions, n'hésitez pas à laisser un commentaire ou à me contacter par DM ici et j'essaierai de vous répondre dès que possible.

Bonne chance!

Conseillé: