Raspberry Pi spektrumanalysator med RGB LED Strip och Python (1 / 3 steg)

Steg 1: Anslut LED strip och setup RGB LED programvara



Snarare än ta itu med separat LED strips för varje kolumn, jag bara loopas en enda 152 LED strip fram och tillbaka, säkra den med zip band till en utfärda utegångsförbud för baby. Detta avfall några lysdioder som jag inte visar något vänder på, men du kan undvika LED avfallet genom att klippa remsan och löda sladdar mellan kolumnerna.

Ett bra diagram för att ansluta den RGB LED strip till RasPi finns på adafruit's webbplats.

Löda 5V, marken, Clock och Data linjer till Input slutet LED Strip och Anslut till Pi som visas på länk eller i mina bilder. Var noga med att ansluta marken i 5V leverans till marken av Pi!

Ta programvaran och följ instruktionerna för att få Pi kunna utdata till SPI. Det är viktigt att du använder hårdvaran SPI eftersom varje bit-banka strategi inte är tillräckligt snabb.

sudo raspi-config

för att aktivera hårdvara SPI (följa instruktionerna på git sida).

Jag la installationskatalogen till min PYTHONPATH i bashrc så jag kunde ringa funktioner från var som helst.
inuti .bashrc:

exportera PYTHONPATH = $PYTHONPATH: / home/pi/RPi-LPD8806-master

testa att remsan fungerar genom att köra exempelkod:

python example.py

Xmas ljus koden vi kommer för att hämta senare vill köra som root, och när du kör saker med en sudo framför, miljövariabler, specifikt, PYTHONPATH är inte överförs.

Jag var tvungen att redigera /etc/sudoers genom att skriva

sudo visudo

och sedan läggas på botten

Som standard env_keep = SYNCHRONIZED_LIGHTS_HOME
Env_keep += PYTHONPATH som standard

den första raden är något vi behöver för xmas ljus paketet installeras senare. Dessa kontrollera dessa miljövariabler stanna kvar när du kör saker som sudo.

För att testa att du har det setup rätt, nära terminal och åter öppna, skriv

sudo python
från bootstrap import *
led.Fill(Color(50,50,50),0,10)
led.Update()

som aktiverar de första 10 lysdioderna.

Ett sista steg är att göra några ändringar att påskynda skriva till band.

Inuti ledstrip.py, göra säker use_py_spi = True i def __init__ linje

def __init__ (själv, lysdioder, use_py_spi = sanna, dev="/dev/spidev0.0", driver = "LPD8806"):

Inuti LPD8806.py ska vi nu ändra SPI hastigheten till 16MHz

om self.use_py_spi:

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

Att utskrift förklaring är det bara att se till att allt blir korrekt inställd.

En sista ändring LPD8806.py filen är i funktionen update(). Av någon anledning märkte jag led.update() tog lång tid, upwords av 25ms. För att få en god visuell effekt, jag ville ha min hela analys och display slinga för att köra på 20Hz, eller 50 ms per slinga, och bränna hälften som tid väntar LED strip inte skulle fungera. Och konstigt nog på 16MHz, det bör ha tagit mindre än en ms. 3 byte per led, 152 lysdioder, (3 * 152 * 8 bitar / 16M) =.2ms! (inte 25ms) När jag satte ett scope till SPI porten, varje byte var på väg på 16 MHz, men det fanns en 160uS paus efter varje anrop till self.spi.xfer2(). Min lösning var att samla hela strängen byte i en buffert och bara ringa self.spi.xfer2() en gång:

def uppdatering (själv, buffert):

temp_buffer =]
om self.use_py_spi:
x i range(self.leds):
temp_buffer = temp_buffer + [i för jag i buffert [x]]
#self.spi.xfer2 ([i för jag i buffer[x]])
Self.SPI.xfer2 (temp_buffer)
Self.SPI.xfer2([0x00,0x00,0x00]) #zero fylla sist att förhindra herrelösa färger i slutet
Self.SPI.xfer2([0x00]) #once mer med känsla - det hjälper :) time2 = time.time()

Skriva till 152 lysdioder på 16 MHz bör ta ingen tid--bör du se den sista LED förändringen samtidigt den första som gör

Några andra människor har kämpat med detta och fick runt det, kolla in den fantastiska POV video effekten med en enda vertikala LED strip (skicka data på 8 MHz thru 20 ft av katt 5!):

Se Steg
Relaterade Ämnen

PEX rör hexagoner med RGB LED Strip

Byggd för en scen tillbaka droppe har detta projekt vissa hexagon figurer gjorda av 3/4" PEX rör, liknar en LED hula hoop, några 12 Volt RGB LED strip och en NLED 30 kanal hög nuvarande LED-Controller. PEX hexagoner är nästan Sömlös söker med hjälp a...

Smart telefon kontrollerade julgran med RGB LED Strip

eftersom julen är här, vi dekorerade denna julgran med RGB LED Strip för vår julfest, och gjorde det en smart telefon kontrollerade träd. XD. It kommer att säker presentera en "sista minuten" magi för Xmas showen. Julen kommer men fastnat räkna...

RGB - Led Strip 12 V kontrolleras av en ATtiny85 med en 125Khz RFID modul

Den grundläggande idén gav mig denna sida RGB-RFID-lampa. Men eftersom jag har en hel del ATtiny85 jag kommer använda denna mikro-controller. För att göra det lättare för mig, testade jag alla del först på en Arduino Uno.Material:1 x RGB – Led strip...

RGB LED Strip krets med Arduino

Detta Instructable omfattar montering av en krets kan PWM-ning (puls bredd modulerande) en 9-12v RGB LED strip och programmering en Arduino att cykla genom en rad olika färger. Jag kommer att diskutera hur man montera en transistor till en kylfläns &...

WiFi kontrollerad RGB LED Strip

De IR-fjärrkontroller som används för att styra RGB LED strips kan ibland bli irriterande på grund av deras begränsade räckvidd och jakt på fjärrkontrollen när du inte hittar den. Detta enkla, men effektiva projekt kan lösa ett problem genom att kont...

ARDUINO kontrollerade 12v RGB LED STRIP

Ungefär ett år sedan upptäckte jag RGB LED strips på Amazon. Att vara strax före starten av musik festivalen säsongen, gick jag naturligtvis direkt att arbeta att göra crazy ljusa blinkande festival leksaker. Icke-adresserbara remsorna är mestadels P...

Färgskiftande box hyllor med LED-strips och Arduino

Obs: detta instructable är en del av en tävling fram till 7 juli. Om du gillar det verkligen, kan du rösta på det övre högra hörnet.Detta började som jag behövde en extra lagringsutrymme nästa och över ett skrivbord, men jag ville ge det några specie...

RC kontrollerad rgb led strip

Skapa din egen rc kontrollerad led-strip för enskilda rum belysning!De flesta rgb-led-strips styrs av en infraröd fjärrkontroll. För att aktivera det eller inaktivera eller ändra färg, måste du stanna framför mottagaren. Detta är tråkigt och inte rik...

Arduino kontrollerad RGB LED strip för vardagsrummet

Tanken bakom denna lilla projekt var att ha lite ganska indirekta humör ljus i vardagsrummet. Den styrs av openHAB servern (det projektet är fortfarande på listan som ska läggas till denna webbplats) installerat på en Raspberry Pi. Naturligtvis, kan...

Hur man styr en RGB LED Strip - Arduino handledning

I denna tutorial använder vi en remsa med 8 RGB lysdioder med Arduino uno styrelsen. Vi kommer använda den Adafruit NeoPixel bibliotek för att ändra färg på varje ledde.Låt oss komma igång!Steg 1: Vad du behöverFör detta projekt behöver du:Arduino un...

RGB LED Strip Controller

Detta är en fjärrstyrd flerfärgad LED-Strip controller låda jag gjort för en vän. Vi planerade att installera subtil belysning inuti bilen som vi fick en liten controller låda + fjärrkontroll med flerfärgad LED Strips. Olyckligtvis, vi kunde inte öpp...

ArduDroid: En enkel 2-sätt Bluetooth-baserade Android Controller för Arduino RGB led strip

INTRODUKTIONFÅ det på google PLAY "ardudroid" appARDUDROID (tidigare Andruino) är en enkel Android app som hjälper dig att kontrollera stiften i Arduino Uno (eller klon) från din Android-telefon trådlöst. Det är både en Android app och en Arduin...

RGB LED strips

i detta instructable, jag ville visa er min RGB (röd, grön, blå) LED strips. Varje strip har 36 röda lysdioder, 36 gröna lysdioder och 36 blå lysdioder. Övergripande är remsorna 47 inches lång utom den som avbildas i längst till vänster, det är lite...

Everymans enkel WS2801 RGB LED Strip Controller

Syftet med detta instructable är man gör vanliga människor kunna ta kontroll över WS2801 RGB led strips för hem eller butik dekoration med minimal ansträngning. WS2801 ledde remsorna har ett litet chip i varje led och gör att du kan ange varje LED fä...

IKEA RGB Led Strip 2 WiFi Hack

följande projektet beskriver hur till hacka en IKEA DIODER RGB Led Strip för att lägga till en WiFi-anslutning och tillgång till en intern webbserver för att konfigurera färger med låg budget lösningar! Hacket utnyttjar en openPicus Flyport WiFi modu...

RGB LED STRIP färg orgel (utan MIKROKONTROLLER)

Det är en RGB LED STRIP ORGAN och inte använt några mikrokontroller. dess baserad N-kanal mosfet.Steg 1: delar HejDess en RGB LED STRIP färg orgel utan MIKROKONTROLLERoch här är listan del.1) 3,5 mm ljud socket-1ps2) 12V, 2AMP power adapter-1ps3) 5 m...

RGB LED Strip Disco Ball

Hej, detta är Brandon Neustadter en av elementärt LED kommersiella Account Managers. Jag ville skapa en LED-ljus show som skulle synka till min musik. Generellt detta tar timmar om inte dagar eller veckor, men med den Apollo Jammer det tar några minu...

Arduino RGB LED Strip Controller

Jag var nyfiken på använda RGB LED Strip, så jag fick en och beslöt att göra en liten kontroller för att se vad jag kan göra med den... så här är det.Om du har några frågor, kommentarer, konstruktiv kritik... tveka inte att skriva :)Om du gillar min...

Glödande möbler: RGB LED strip + IKEA sida Tabell Hack

IKEA-möbler är cool. Gör det coolare med detta snabbt, lätt och billig DIY uppgradering som gör dina möbler glöd!Här är vad du behöver:• IKEA bord (eller skrivbord, valfri storlek) - $7,99 - saknar sidobord• 3528 LED Light Strip komplett Kit - $19,99...