Utilisation de Neopixels avec le Raspberry Pi

Utilisation de Neopixels avec le Raspberry Pi.jpgv1542365685
Utilisation de Neopixels avec le Raspberry Pi.jpgv1542365685

Soyons honnêtes. Les lumières sont cool. Les lumières multicolores sont très cool. Les lumières multicolores contrôlables sont impressionnantes. Ce tutoriel passe en revue certaines des lumières multicolores contrôlables que vous pouvez utiliser avec un Raspberry Pi.

Néopixels

Les gens fins d’Adafruit produisent un certain nombre de produits différents qui sont des lumières contrôlables multicolores qu’ils appellent Neopixels. Ceux que nous allons examiner sont

Neopixels amicaux

Ne laissez pas le nom vous rebuter! Vous n’avez pas besoin d’utiliser une planche à pain avec ces Neopixels.

Une fois soudés, ces Neopixels sont très faciles à connecter à un Raspberry Pi. Vous pouvez enchaîner plusieurs pour que vous puissiez choisir la durée de votre projet. Mais avec les en-têtes et les fils ensemble, ils sont assez encombrants et maladroits.

Si je ne suis pas sûr que mon code fonctionne, je trouve que ce sont les Neopixels les plus rapides et les plus faciles à connecter à un Raspberry Pi pour les tests.

Ceux-ci sont disponibles en paquets de 4, ou une grille de 25 que vous pouvez casser.

Vous devrez souder des en-têtes mâles sur ces Neopixels pour les utiliser. Ce n’est pas différent de la soudure des en-têtes sur un Raspberry Pi Zero. En-têtes de même taille, juste une seule rangée de 3 de chaque côté du Neopixel.

Remarque: ces néopixels ne sont pas fournis avec des en-têtes. Vous devrez les acheter séparément.

Il y a deux côtés au Neopixel – dedans et dehors, étiquetés comme I et O. Devinez ce qu’ils font?! Oui, le fil de données va dans le côté In et si vous souhaitez connecter un autre Neopixel dans la chaîne, vous pouvez ajouter un fil de données du côté Out qui se connecte à l’entrée du Neopixel suivant. C’est ainsi que les Neopixels opèrent leur magie. Vous pouvez enchaîner plusieurs ensemble, puis les traiter dans l’ordre dans lequel ils sont enchaînés (plus d’informations à ce sujet plus tard).

En plus de la broche de données, il y a une broche 5V, étiquetée + et une broche GND étiquetée G, c’est ce que vous utilisez pour alimenter les Neopixels. Chaque Neopixel a besoin de puissance. Il y a donc 3 fils qui entrent dans chaque Neopixel et si vous en connectez un autre – 3 fils sortent vers le Neopixel suivant.

Dans le cas de ces Neopixels conviviaux pour planche à pain, le fil est un simple fil de connexion femelle à femelle.

Ce qui est génial avec ces néopixels, c’est que le fil peut avoir une longueur différente. Vous pouvez donc contrôler les écarts entre chaque lumière.

Étape 1: souder les néopixels

Souder quelques broches aux néopixels. Votre dernier Neopixel n’a pas besoin d’épingles du côté OUT, mais il est bon de les terminer et de ne pas limiter ce Neopixel à toujours être le dernier. Quoi de plus à souder entre amis?!

souder des néopixels

Étape 2: ajouter le câblage

Connectez les câbles de connexion femelle à femelle entre les néopixels. Assurez-vous de connecter Data Out (O) à Data In (I), G à G et + à +. Il est peu probable que mélanger la terre et l’alimentation casse le Neopixel à ce niveau de puissance, mais cette lumière et tout ce qui suit ne fonctionnera pas, alors vérifiez simplement vos fils

schéma de câblage néopixel

Étape 3: se connecter à un Raspberry Pi

Éteignez le pi! Du côté IN du premier Neopixel:

Relier Dans à un GPIO10, 12, 18 ou 21

Relier + à 5V

Relier g à n’importe quelle broche de masse (GND) sur le pi

câblage terminé

Étape 4: codez-le

Il existe une bibliothèque Neopixel pour le python pour le Raspberry Pi.

Adafruit dispose d’un guide très détaillé pour l’installation de la bibliothèque Neopixel. Vous devez d’abord installer circuitpython. Ce guide explique comment configurer un Raspberry Pi depuis le tout début sans moniteur. Je l’ai trouvé vraiment utile.

https://learn.adafruit.com/circuitpython-on-Raspberrypi-linux/installing-circuitpython-on-Raspberry-pi

Une fois que vous avez terminé toutes les instructions de cette page, vous êtes prêt à installer la bibliothèque Neopixel.

https://learn.adafruit.com/adafruit-Neopixel-uberguide/python-circuitpython#python-installation-of-Neopixel-library-17-9

Remarque: j’ai suivi ces étapes (le 15e Novembre 2018), mais ils ne fonctionnaient pas pour moi – j’ai dû installer cette bibliothèque séparément. Vous pouvez le faire en forçant à réinstaller la bibliothèque

pip3 install --force-reinstall adafruit-blinka

ou l’installer seul:

sudo pip3 install rpi_ws281x

Utilisez le code de la page ci-dessus: Neopixel_simpletest.py pour tester le fonctionnement de vos lumières. Il parcourt un certain nombre d’animations. Vous devez apporter quelques modifications

  1. Commentez cette ligne

pixel_pin = board.NEOPIXEL

  1. Supprimer le commentaire sur cette ligne

pixel_pin = board.D18

  1. Modifier le nombre de néopixels

num_pixels = 10

Ces lignes devraient donc ressembler à ceci:

#pixel_pin = board.NEOPIXEL

pixel_pin = board.D18

# The number of Neopixels

num_pixels = 2

La page passe également en revue le fonctionnement du code Neopixel.

Vous pouvez définir des lumières individuelles sur des couleurs spécifiques en définissant les valeurs Rouge, Vert et Bleu. Vous pouvez utiliser n’importe quel nombre entre 0 et 255 pour chaque couleur. Cela fait passer le premier voyant au rouge. Toutes les autres lumières resteront vides ou resteront sur leur dernière couleur.

pixels[0] = (255, 0, 0)

Cela met tous les voyants au vert

pixels.fill((0, 255, 0))

Vous devez utiliser ce code pour afficher vos modifications:

pixels.show()

En savoir plus sur le codage des Neopixels sur le site Web d’adafruit

https://circuitpython.readthedocs.io/projects/neopixel/en/latest/

Étape 5: Danse

Regardez le code dans Neopixel_simpletest.py. Il donne d’excellents exemples de code en boucle et de changement de couleurs. Une fois que vous maîtrisez le codage des néopixels, créez un spectacle de lumière disco et obtenez le groove!

néopixels de travail

Remarque: Le Raspberry Pi ne peut alimenter que quelques Néopixels. Pour les petits projets comme les vêtements portables, c’est très bien. Pour tout ce qui nécessite plus de quelques néopixels, vous devrez les alimenter séparément. Ne risquez pas de mettre trop de Neopixels sur un pi. Ils tireront plus de courant qu’il ne peut en fournir.

Néopixels à coudre

Pour le pull de Noël ultime, vous avez besoin de néopixels à coudre. Vous pouvez les coudre directement dans votre tissu et être la personne la plus cool à la fête de bureau.

Pensez aux Neopixels à coudre comme exactement les mêmes que les Neopixels compatibles avec la maquette. La seule différence est qu’au lieu des fils de connexion, vous avez un fil conducteur. Il n’y a pas de soudure ici, juste de la couture. Quelques points importants à noter:

Ne traversez pas les ruisseaux !! Le fil conducteur n’a pas de revêtement. C’est simplement du fil nu. Si vous traversez le sol et que les fils d’alimentation risquent de casser votre circuit, vos néopixels et autres choses peuvent devenir dangereusement chauds. Gardez votre couture très serrée. Coupez tous les brins de fil perdus et utilisez du vernis à ongles transparent pour terminer les extrémités effilochées du fil.

Connexion au pi

Si vous avez un Raspberry Pi Zero sans broches soudées, vous pouvez envelopper le fil conducteur à travers les trous du pi. C’est délicat et il faut absolument Raspberry PI lorsque vous le faites.

Une autre façon consiste à pirater un cavalier pour avoir une borne annulaire à une extrémité et une connexion femelle à l’autre extrémité:

  • Coup de tête! Peu importe qu’il s’agisse d’un fil de connexion mâle à femelle ou femelle à femelle. Vous n’utilisez pas l’extrémité non féminine. Coupez-le.
  • Dénudez le fil
  • Sertissez-le sur une cosse à anneau. Je n’ai pas trouvé de terminal en anneau suffisamment petit pour que cela fonctionne. Je plie le fil nu lui-même afin d’obtenir l’épaisseur du fil de cavalier à sertir.

câblage personnalisé

Vous pouvez maintenant enrouler votre fil conducteur autour de la cosse à anneau et connecter l’autre extrémité à une broche du Raspberry Pi.

Enroulez le fil autour de l’anneau ou du néopixel trois fois. N’oubliez pas: maintenez-le bien et ne croisez aucun fil.

Sur le Neopixel cousable, + est Power, – est Ground et la flèche pointant vers la LED est Data In. Vous pouvez avoir un fil d’alimentation allant de + à + à + sur chaque néopixel. Vous pouvez également avoir un fil de mise à la terre. Mais le fil allant de Data Out d’un néopixel à Data In du suivant est juste un fil. Vous ne pouvez pas l’enfiler.

schéma de câblage cousable

Code

C’est un néopixel. C’est le même code que précédemment.

Bande de néopixel

Voici les gros canons! Une bande de Neopixel peut sembler vraiment impressionnante en montant vos escaliers. Ils viennent dans beaucoup de longueurs différentes et ont un revêtement protecteur autour d’eux. Bon pour les tout-petits maladroits.

escalier néopixel arc-en-ciel

Ici, vous aurez certainement besoin d’une alimentation séparée.

Puissance

Les néopixels peuvent tirer jusqu’à 60 mA de puissance, mais de façon réaliste, à moins que vous ne mettiez chaque lumière en pleine luminosité et en blanc tout le temps, il est plus probable qu’ils ne tireront pas plus de 20 mA. Le truc avec des amplis que si vous en avez trop, ça ne fera pas de mal à vos lumières. Vos volts doivent être de 5 et pas plus, c’est vital. Vos amplis peuvent être plus. J’y vais avec une alimentation 5V, 4A pour mes bandes de 60 lampes.

Câblage

La bande Neopixel (tout comme les Neopixels individuels) a besoin de données, de puissance et de masse. La source d’alimentation séparée fournira l’alimentation et la terre. Le Raspberry Pi fournira des données. TOUTEFOIS, vous devez Raspberry PI à la bande aussi.

Regardons la bande Neopixel. Les deux extrémités ont un fil noir et rouge dénudé puis un fil noir et blanc dans un connecteur. Recherchez l’extrémité IN de la bande.

Le noir est la masse, le rouge est le pouvoir et le blanc est les données. Vous pouvez insérer une broche mâle dans le connecteur noir et blanc, c’est donc ce que j’utilise pour connecter la bande au pi.

bandes de câblage néopixel

Éteignez le Raspberry Pi!

Connectez l’extrémité mâle d’un fil de connexion mâle à femelle dans le côté noir du connecteur. Connectez son extrémité femelle à la terre sur le pi

Connectez l’extrémité mâle d’un fil de connexion mâle à femelle dans le côté blanc du connecteur. Connectez son extrémité femelle à GPIO18 sur le pi.

Ainsi:

câblage néopixel facile

Ce n’est pas la connexion la plus sécurisée mais pour de longues bandes comme celle-ci connectées au mur, elles n’ont pas tendance à beaucoup bouger.

Ensuite, vous devez connecter votre source d’alimentation à la bande lumineuse. Vous pouvez le connecter à ces fils à côté des fils de données. Et vous pouvez également le connecter à l’autre extrémité de la bande. La direction du pouvoir n’a pas d’importance. Ce n’est que le câble de données qui doit entrer dans le côté entrée d’une bande lumineuse.

Le côté Out est identique au côté In. Le connecteur à cette extrémité sert à y connecter une autre bande lumineuse.

Pour ajouter l’alimentation: dénudez un peu plus de fil des fils rouge et noir. Utilisez un adaptateur d’alimentation CC femelle et vissez le fil rouge dans le côté + et le fil noir dans le côté -.

bornier pour alimentation

Connectez votre alimentation et mettez le pi sous tension. Utilisez le code ci-dessus pour tester votre bande lumineuse.

bande menée fonctionnante

finalement

J’adore les LED RGB contrôlables. Je pense qu’ils ont tellement de potentiel de créativité, surtout lorsqu’ils sont connectés à un Raspberry Pi. Mes lumières d’escalier se connectent à un Raspberry Pi qui vérifie la température extérieure de ma maison et affiche certaines lumières à certaines températures. J’ai également eu une paire de chaussures qui a changé de couleur lorsque j’ai reçu un tweet ou un texte. Lorsque vous avez accès à Internet et à des LED contrôlables, je pense que les possibilités sont infinies.

  • WS2812 Lot de 2 anneaux LED RVB 12 x 5050 WS2812B avec pilotes intégrés pour Arduino Raspberry Pi Mirco:bit ESP32
    LED : LED SK6812, elles ont la même luminosité, couleur et protocole Tension d'entrée : DC4-7 V, nous utilisons souvent un câble USB pour l'alimenter. Si vous voulez l'utiliser avec Raspberry Pi, veuillez confirmer qu'il dispose d'une ligne de 5 V, si ce n'est pas le cas, alors vous avez besoin d'un levier de niveau pour convertir la tension de 3,3 V à 5 V Courant : 60 mA par LED (20 mA rouge, 20 mA vert, 20 mA bleu). 12 x 0,060 = 0,72 A Combien de couleurs peut-elle émettre ? Il peut émettre 256 x 256 x 256 = 16777216 couleurs [Application] Horloge à anneau LED, cornes de feu imprimées en 3D, pendentif de paix réactif au son
  • Raspberry Pi Pico
    Puce microcontrôleur RP2040 conçue par Raspberry Pi au Royaume-Uni Processeur Arm Cortex M0+ à double cœur, horloge flexible fonctionnant jusqu'à 133 MHz 264 Ko de SRAM et 2 Mo de mémoire flash intégrée Le module Castelled permet de souder directement sur les cartes porteuses 26 broches GPIO multifonctions
  • Lot de 10 anneaux WS2812 RGB LED 8 x 5050 WS2812B 8 bits avec pilotes intégrés pour Arduino Raspberry Pi Mirco:bit ESP32
    LED SK6812, elles ont la même luminosité, couleur et protocole Tension d'entrée : DC4-7 V, nous utilisons souvent un câble USB pour l'alimenter. Si vous voulez l'utiliser avec Raspberry Pi, veuillez confirmer qu'il dispose d'une ligne de 5 V, sinon vous avez besoin d'un levier de niveau pour convertir la tension de 3,3 V à 5 V Courant : 60 mA par LED (20 mA rouge, 20 mA vert, 20 mA bleu) 8 x 0,060 = 0,48 A Combien de couleurs peut-elles émettre ? Peut émettre 256 x 256 x 256 = 16777216 couleurs [Application] Horloge anneau LED, corne de feu imprimée 3D, pendentif de paix réactif au son