Analyseur de spectre Pi framboise avec RGB LED Strip et Python (1 / 3 étapes)

Étape 1: Connectez configuration logiciel RGB LED et bande LED

Plutôt que de traiter avec des bandes de LED distincts pour chaque colonne, j’ai juste en boucle une seule bande LED 152 en arrière, fixant avec attaches à une porte bébé. Nous gâchons ainsi certains voyants que je ne suis pas afficher quoi que ce soit dans les virages, mais vous pourriez éviter les déchets de LED en coupant la bande et souder les fils entre les colonnes.

Un bon schéma pour le branchement de la bande de LED RGB à le RasPi se trouvent sur le site d’adafruit.

Souder le 5V, sol, horloge et les données des lignes à la fin de l’entrée de la bande de LED et se connecter à la Pi comme indiqué au lien ou dans mes photos. N’oubliez pas de connecter la terre de l’alimentation 5V sur le sol de la Pi !

Prenez le logiciel et suivez les instructions pour récuperer la Pi en mesure de sortie à SPI. Il est important que vous utilisiez le matériel SPI parce que toute approche de bit-frapper ne sera pas assez rapide.

sudo raspi-config

pour activer le matériel SPI (suivez les instructions à la page git).

J’ai ajouté le répertoire d’installation de mon PYTHONPATH dans bashrc alors je pourrais appeler les fonctions de n’importe où.
à l’intérieur du .bashrc :

Export PYTHONPATH = $PYTHONPATH: / home/pi/IPD-LPD8806-master

tester que la bande fonctionne en exécutant l’exemple de code :

python example.py

Le code lumière de Noël, que nous allons pour télécharger plus tard veut courir en tant que root, et lorsque vous exécutez des choses avec un sudo devant, les variables d’environnement, plus précisément, PYTHONPATH ne sont pas transférés.

J’ai dû modifier/etc/sudoers en tapant

sudo visudo

puis ajouté au bas

Par défaut env_keep = SYNCHRONIZED_LIGHTS_HOME
Valeurs par défaut env_keep += PYTHONPATH

la première ligne est quelque chose que nous avons besoin pour le paquet de lumière de Noël devait être installé ultérieurement. Ceux-ci s’assurer que ces variables d’environnement rester dans les parages lorsque vous exécutez des choses comme sudo.

Pour vérifier que vous l’avez droit d’installation, fermez le terminal et le ré-ouvrir, puis tapez

sudo python
de bootstrap import *
LED.Fill(Color(50,50,50),0,10)
LED.Update()

qui doit s’allumer les 10 premiers LEDs.

Une dernière étape consiste à faire quelques modifications afin d’accélérer l’écriture dans la bande.

À l’intérieur de la ledstrip.py, rendre sûr use_py_spi = True dans la ligne de def __init__

def __init__ (self, leds, use_py_spi = vrai, dev="/dev/spidev0.0 », pilote ="LPD8806"):

Maintenant à l’intérieur de la LPD8806.py, nous allons changer la vitesse SPI à 16MHz

Si self.use_py_spi :

importation spidev
Self.SPI = spidev. SpiDev()
self.spi.open(0,0)
self.spi.max_speed_hz = 16000000
imprimer ' py-spidev MHz: %d "% (self.spi.max_speed_hz / 1000000.0)

Que l’instruction print est là juste pour s’assurer que tout est bien positionné.

Une modification finale apportée à la LPD8806.py fichier se trouve dans la fonction update(). Pour une raison quelconque, j’ai remarqué led.update() prenait une longue période, upwords de 25 ms. Pour obtenir un bon effet visuel, j’ai voulu ma toute boucle analyse et affichage d’exécuter à 20Hz, ou 50ms par boucle et brûler la moitié qui ne fonctionnerait pas le temps d’attente pour la bande de LED. Et bizarrement, à 16MHz, il aurait dû prendre moins d’une Mme 3 octets par à led, 152 LED, (3 * 152 * 8 bits / 16M) =.2ms ! (pas de 25ms) Quand j’ai mis une portée jusqu’au port SPI, chaque octet sortait à 16 MHz, mais il y avait une pause 160uS après chaque appel à self.spi.xfer2(). Ma solution était de collecter l’ensemble de la chaîne d’octets dans une mémoire tampon et seulement appelez self.spi.xfer2() immédiatement :

mise à jour de DEF (self, tampon) :

temp_buffer =]
Si self.use_py_spi :
pour x dans range(self.leds) :
temp_buffer = temp_buffer + [i car moi dans tampon [x]]
#self.spi.xfer2 ([i pour i en buffer[x]])
Self.SPI.xfer2 (temp_buffer)
Self.SPI.xfer2([0x00,0x00,0x00]) #zero remplir le dernier afin d’éviter les couleurs errants à la fin
Self.SPI.xfer2([0x00]) #once plus avec sentiment - cela aide:) time2 = time.time()

Écrivant dans 152 LEDs à 16 que MHz ne devrait prendre aucun temps--vous devriez voir le dernier changement de LED en même temps que la première fait

D’autres personnes ont eu du mal avec cela et a obtenu autour de lui, découvrez l’incroyable effet vidéo POV avec une seule bande de LED verticale (envoi de données à 8 MHz à travers 20 ft de cat 5!) :

Articles Liés

Smart Phone contrôlé l’arbre de Noël avec RGB LED Strip

Smart Phone contrôlé l’arbre de Noël avec RGB LED Strip

Noël puisque c'est ici, nous avons décoré cet arbre de Noël avec RGB LED Strip pour notre fête de Noël et rend un arbre téléphone intelligent contrôlé. XD. It présentera bien sûr une magie de « dernière minute » pour le spectacle de Noël. Noël approc
RGB - Led Strip 12 V contrôlée par un ATtiny85 avec un Module RFID 125kHz

RGB - Led Strip 12 V contrôlée par un ATtiny85 avec un Module RFID 125kHz

L'idée de base m'a donné ce côté RGB-RFID-lampe. Mais depuis que j'ai beaucoup ATtiny85 je vais utiliser ce microcontrôleur. Pour le rendre plus facile pour moi, j'ai testé toutes les partie tout d'abord sur un Arduino Uno.Matériel :1 x RGB – bande L
WiFi sous contrôle RGB LED Strip

WiFi sous contrôle RGB LED Strip

Ces télécommandes IR utilisés pour contrôler les bandes LED RGB peuvent parfois devenir irritant en raison de leur aire de répartition limitée et la chasse pour la télécommande lorsque vous ne le trouvez pas. Ce projet simple, mais efficace peut réso
IKEA RGB Led Strip 2 WiFi Hack

IKEA RGB Led Strip 2 WiFi Hack

le projet suivant décrit comment faire pour pirater un IKEA DIODER RGB Led Strip pour ajouter une connectivité WiFi et l'accès à un serveur Web interne pour la configuration de couleurs à l'aide de solutions de petit budget ! Le hack utilise une open
RGB LED Strip Disco Ball

RGB LED Strip Disco Ball

Salut, c'est Brandon Neustadter un des directeurs de comptes commerciaux élémentaire de la LED.  J'ai voulu créer un spectacle de lumière LED qui se synchronise à ma musique.  Généralement cela prend des heures voire jours ou semaines, mais avec le b
ARDUINO contrôlée 12v RGB LED STRIP

ARDUINO contrôlée 12v RGB LED STRIP

Il y a un an j'ai découvert que les bandes de LED RVB sur Amazon. Être juste avant le début de la saison des festivals musique, j'ai naturellement alla droit à travailler à rendre fous lumineux clignotants festivals jouets. Les bandes non adressable
RGB LED STRIP couleur orgue (sans micro)

RGB LED STRIP couleur orgue (sans micro)

C'est un organe de STRIP LED RGB et ne pas utiliser n'importe quel microcontrôleur. sa base mosfet à canal N.Étape 1: pièces SalutSes un organe de couleur RGB LED STRIP sans microcontrôleuret voici la liste des pièces.1) 3. 5 mm audio prise-1ps2) 12V
Analyseur de spectre de ATtiny85 avec fix_FFT

Analyseur de spectre de ATtiny85 avec fix_FFT

Analyseur de spectre de ATtiny85 pour la musique de LED RVB avec FFTExcité par la nouvelle de la découverte de la bibliothèque FHT. Vôtre tiens vraiment absolument à faire un essai sur un ATtiny85. Après des heures de masser le code pour le faire fon
Arduino contrôlée RGB LED strip pour le salon

Arduino contrôlée RGB LED strip pour le salon

L'idée derrière ce petit projet était d'avoir une lumière d'ambiance assez indirecte dans le salon. Elle est contrôlée par le serveur openHAB (ce projet est toujours sur la liste à ajouter à ce site) installé sur une facture pro forma de framboise. B
Décoloration Rgb Led Strip sur un caboteur de coupe deux

Décoloration Rgb Led Strip sur un caboteur de coupe deux

ce coaster deux tasses est 10 "x 3 « x 2 5/16 ». Il a une bande de RVB led qui change de forme bleu au vert.Étape 1 :Etape 2: Construction du boîtier The drill bit is about 3".Etape 3: Peindre et mettre des feux sur le logement Peindre un logeme
À l’aide de la chipKIT base i/o Shield avec Analog RGB LED Strip

À l’aide de la chipKIT base i/o Shield avec Analog RGB LED Strip

Il y a quelques mois j'ai écrit un blog sur le chipKIT base i/o Shield et bandes de RBG analogique utilisé pour démontrer les FETs drain ouvert.Ce poste est de donner des détails sur la façon de brancher vers le haut de la bande de LED sur le bouclie
DC12V 72w RGB LED Strips Kits

DC12V 72w RGB LED Strips Kits

kits de strip LED RGB DC12V 72W, ech kit comprend les bandes de LED de 5 mètres, 1 pcs LED controller et 1pcs LED alimentation.
RGB-Led Clock avec puce Bluetooth

RGB-Led Clock avec puce Bluetooth

Cette instructable vous montre comment utiliser un cyprès-BLE-Devkit pour construire une RGB-LED-horloge.Vous devez seulement très peu choses :RGB-LED-Strip de 30 ou 60 WS2812b-LEDs.une carte de circuit imprimé style grillecertaines broches broche-en
Hexagones de tuyau PEX avec bande LED RGB

Hexagones de tuyau PEX avec bande LED RGB

Construit pour une goutte d'eau arrière scène ce projet comporte certaines formes d'hexagone de 3/4 po tuyau PEX, semblable à un cerceau de LED, quelques 12 volts RGB LED strip et un NLED 30 Channel High Current LED Controller. Les hexagones PEX sont