Raspberry Pi Spectrum-Analyzer met RGB LED-Strip en Python (1 / 3 stap)

Stap 1: Maak verbinding met LED-strip en RGB LED software installatie


Eerder dan omgaan met aparte LED strips voor elke kolom, ik net lus een enkele 152 LED-strip heen en weer vastzetten met zip banden met een baby-gate. Dit is een verspilling sommige LEDs als ik iets niet op de bochten weergegeven ben, maar u het LED afval vermijden kon door het snijden van de strip en het solderen van de draden tussen de kolommen.

Een goed schema voor het aansluiten van de RGB LED-strip aan de RasPi kan worden gevonden op de adafruit site.

Soldeer de 5V, grond, Clock en Data lijnen aan het einde van de Input van de LED-strip en sluit aan op de Pi, zoals op de link of in mijn foto's. Zorg ervoor dat de grond voor de levering van 5V verbinden met de grond van de Pi!

Pak de software en volg de instructies voor het krijgen van de staat waar de output heengaat SPI Pi. Het is belangrijk dat u de hardware SPI gebruiken, omdat iedere bit-banging benadering zal niet snel genoeg.

sudo raspi-config

om hardware SPI (Zie de instructies bij git pagina).

Ik voegde de installatiemap aan mijn PYTHONPATH in bashrc zodat ik de functies vanuit een willekeurige locatie aanroepen kon.
binnen .bashrc:

exporteren van PYTHONPATH = $PYTHONPATH: / home/pi/RPi-LPD8806-master

uit testen dat de strip werkt door het uitvoeren van de voorbeeldcode in het volgende:

python-example.py

De lichte code van xmas dat we gaan om te downloaden later wil draaien als root, en wanneer u dingen met een sudo vooraan, de variabelen van het milieu, specifiek, PYTHONPATH zijn niet overgebracht.

Ik moest /etc/sudoers bewerken door te typen

sudo visudo

en vervolgens toegevoegd aan de onderkant

Standaard env_keep = SYNCHRONIZED_LIGHTS_HOME
Standaard env_keep += PYTHONPATH

de eerste regel is iets wat die we moeten voor de xmas licht pakket later worden geïnstalleerd. Dit zorg ervoor dat deze variabelen van het milieu rond de stok wanneer u dingen als sudo uitvoert.

Om te testen dat je setup rechts hebt, sluit de terminal en opnieuw te openen, typ

sudo python
van bootstrap importeren *
LED.Fill(Color(50,50,50),0,10)
LED.update()

dat moet de eerste 10 LEDs inschakelen.

Een laatste stap is het maken van enkele wijzigingen te bespoedigen schrijven naar de strip.

Binnen ledstrip.py, zorg ervoor dat use_py_spi = True in de def __init__ lijn

def __init__ (zelf, leds, use_py_spi = ware, dev="/dev/spidev0.0", stuurprogramma = "LPD8806"):

Nu binnen LPD8806.py, we gonna de SPI-snelheid tot 16MHz wijzigen

als self.use_py_spi:

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

Dat print-statement er is alleen maar om ervoor te zorgen alles wordt correct ingesteld.

Een definitieve verandering in het LPD8806.py bestand bevindt zich in de update() functie. Voor welke reden dan ook, ik heb gemerkt led.update() nam een lange tijd, upwords van 25ms. Als u een goed visueel effect, wilde ik mijn volledige analyse en display lus uitgevoerd bij 20Hz of 50 MS per lus, en het branden van de helft die tijd wachten op de LED strip niet zou werken. En vreemd, van 16MHz, het moet hebben genomen minder dan een ms. 3 bytes per geleid, 152 LEDs, (3 * 152 * 8 bits / 16M) =.2ms! (niet 25ms) Toen ik een bereik tot de SPI-poort, elke byte kwam uit op 16 MHz, maar er was een 160uS pauze na elke aanroep van self.spi.xfer2(). Mijn oplossing was voor het verzamelen van de gehele tekenreeks van bytes in een buffer en alleen bellen self.spi.xfer2() eens:

def update (self, buffer):

temp_buffer =]
als self.use_py_spi:
voor x in range(self.leds):
temp_buffer = temp_buffer + [i want ik in buffer [x]]
#self.spi.xfer2 ([i want ik in buffer[x]])
Self.SPI.xfer2 (temp_buffer)
Self.SPI.xfer2([0x00,0x00,0x00]) #zero vullen de laatste om te voorkomen dat strooilicht kleuren aan het einde
Self.SPI.xfer2([0x00]) #once meer met gevoel - dit helpt :) time2 = time.time()

Schrijven van 152 LEDs op 16 dat MHz moet geen tijd--nemen moet u de laatste wijziging van de LED tegelijkertijd die het ene doet

Sommige andere mensen hebben moeite met dit en kreeg eromheen, check out de verbazingwekkende POV video-effect met een enkele verticale LED-strip (verzenden gegevens op 8 MHz t/m 20 ft voor cat 5!):

Gerelateerde Artikelen

Slimme telefoon kerstboom gecontroleerd met RGB LED-Strip

Slimme telefoon kerstboom gecontroleerd met RGB LED-Strip

sinds Kerstmis is hier, we deze kerstboom met RGB LED-Strip ingericht voor onze kerstfeest, en maakte het een slimme telefoon gecontroleerd boom. XD. It zal zeker een "last-minute" magie voor de show Xmas presenteren. Kerstmis komt eraan maar va
PEX Pipe zeshoeken met RGB LED-Strip

PEX Pipe zeshoeken met RGB LED-Strip

Dit project beschikt gebouwd voor een fase terug druppel over sommige shapes van de zeshoek gemaakt van 3/4" PEX pijp, vergelijkbaar met een LED-hoelahoep, sommige 12 Volt RGB LED-strip en een NLED 30 kanaal hoge huidige LED Controller. De zeshoeken
RGB LED STRIP kleur orgel (zonder MICROCONTROLLER)

RGB LED STRIP kleur orgel (zonder MICROCONTROLLER)

het is een RGB LED STRIP orgaan en een microcontroller niet gebruikt. zijn gebaseerd N-kanaal mosfet.Stap 1: onderdelen HalloHaar een RGB LED STRIP kleur orgel zonder MICROCONTROLLERen hier is de lijst.1) 3,5 mm audio-aansluiting-1ps2) 12V, 2AMP powe
RGB - Led Strip 12 V gecontroleerd door een ATtiny85 met een 125Khz RFID-Module

RGB - Led Strip 12 V gecontroleerd door een ATtiny85 met een 125Khz RFID-Module

Het basisidee gaf me deze kant van de RGB-RFID-Lamp. Maar daar heb ik veel ATtiny85 ik zal gebruik maken van deze micro-controller. Om het gemakkelijker voor mij, testte ik alle deel eerst op een Arduino Uno.Materiaal:1 x RGB – 12 V Led-strip1 x ATti
RGB LED Strip Circuit met Arduino

RGB LED Strip Circuit met Arduino

Dit Instructable heeft betrekking op de vergadering van een circuit PWM-ing (pulse breedte modulerende) staat een 9-12v RGB LED-strip en programmeren van een Arduino aan cyclus door een scala aan kleuren. Ik zal bespreken hoe te monteren een transist
ATtiny85 Spectrum-Analyzer met fix_FFT

ATtiny85 Spectrum-Analyzer met fix_FFT

ATtiny85 spectrum analyzer voor muziek naar RGB LED met FFTEnthousiast over de nieuwe ontdekking van FHT bibliotheek. Jou echt zeker wilt probeer het op een ATtiny85. Na uren masseren van de code om het te laten werken, helaas komen geen aan function
Arduino controlled RGB LED-strip in de woonkamer

Arduino controlled RGB LED-strip in de woonkamer

Het idee achter dit kleine project was dat sommige vrij indirecte stemming licht in de woonkamer. Het wordt beheerd door de server openHAB (dat project is nog steeds op de lijst moet worden toegevoegd aan deze site) geïnstalleerd op een Raspberry Pi.
RC gecontroleerde rgb led strip

RC gecontroleerde rgb led strip

Maak uw eigen rc gecontroleerde led-strip voor individuele kamer verlichting!Meeste rgb-led-strips worden gecontroleerd door een infrarood afstandsbediening. Om te schakelen of uitschakelen of wijzigen van de kleur, die je moet blijven voor de ontvan
WiFi Controlled RGB LED-Strip

WiFi Controlled RGB LED-Strip

Soms kunnen die IR-afstandsbedieningen gebruikt om te bepalen van de RGB LED strips worden irriterend als gevolg van hun beperkt bereik en jacht voor de afstandsbediening wanneer u kan niet het vinden. Dit eenvoudige, maar effectieve project kan een
Rgb Led Strip op een twee Cup Coaster fading

Rgb Led Strip op een twee Cup Coaster fading

deze twee cup coaster is 10 "x 3" x 2 5/16". Het heeft een Rgb led strip die verandert van vorm blauw in groen.Stap 1:Stap 2: Bouw van de behuizing The drill bit is about 3".Stap 3: Schilderen en lichten te zetten van de behuizing Behu
DIY gekleurde verlichting met RGB LED's

DIY gekleurde verlichting met RGB LED's

ik was op zoek naar enkele unieke verlichting en verfraaiend ideeën voor mijn kamer ooit sinds ik verhuisd naar mijn nieuwe plek (vier gewone witte muren krijgen nogal saai, vrij snel). Ik had gedaan over alle ik kon met de muren maar was nog steeds
RGB LED Strip Controller

RGB LED Strip Controller

Dit is een afstand bestuurbare meerkleurige LED-Strip controller doos die ik heb voor een vriend gemaakt. We gepland om het installeren van subtiele verlichting binnen zijn auto waarvoor we een kleine controller box + afstandsbediening met de meerkle
IKEA RGB Led Strip 2 Wi-Fi Hack

IKEA RGB Led Strip 2 Wi-Fi Hack

het volgende project beschrijft hoe hack een IKEA DIODER RGB Led Strip om toe te voegen een WiFi-connectiviteit en toegang naar een interne webserver voor het configureren van de kleuren met behulp van lage begroting oplossingen! De hack maakt gebrui
Hoe u kunt besturen een RGB LED Strip - Arduino tutorial Arduino Tutorial

Hoe u kunt besturen een RGB LED Strip - Arduino tutorial Arduino Tutorial

In deze tutorial zullen we een strip gebruiken met 8 RGB-LEDs met de Arduino uno board. Wij zullen van de Adafruit NeoPixel library gebruiken om de kleur van elk geleid.Laten we beginnen!Stap 1: Wat moet jeVoor dit project zal u het volgende nodig:Ar