Trådlös Phone Remote-Controlled LED Strips: RasPi w / Fadecandy driver w / WS2811/WS2812 adresserbara LED Strips med TouchOSC Smartphone App med Iphone eller Droid
Här går en allt mer omfattande design översikt över mitt senaste projekt. Nedan är en video som jag har lagt upp visar vissa funktioner:
Den ursprungliga idén progressionen gick ungefär så här:
- Adresserbara lysdiodsrand (s vi vill alltid ha mer skinande saker!) att få cool visuella effekter som kan programmeras (på något sätt)
- kontrolleras av en iPhone (eller Android-telefon) med hjälp av olika tillgängliga maskinvarufunktioner närvarande i de flesta moderna smartphones (accelerometer, pekskärm, wifi/bluetooth anlagen, kunna köra mer & mer komplexa program nu)
- behöver inte en faktisk stationär dator eller laptop att köra. Jag hade sett vänner använda Python programmering språk med olika GitHub förråd att integrera Wiimote ingång eller iPad accelerometer data för olika olika projekt. Också nödvändigt eftersom det skulle användas för konstinstallation och jag ville inte behöver en dator lämnas med konst struktur.
- Jag visste att Raspberry Pi var en billig livskraftig mikrodator (ett steg över mikrokontroller i funktionalitet och hastighet) som kan köra vissa program tills den dag det dog, särskilt med Python och C språk. Jag gjorde inte riktigt har någon erfarenhet av Python och hittade de flesta av vad jag behövde till sätta den upp i Python så jag bestämde mig att gå den vägen. Pi datorer är kreditkort storlek och tjocklek på en fjärdedel. Behöver ingen kylfläns, och är billigt (under $40, men slutar upp att vara runt $70 med några nödvändiga och lyxiga tillbehör)
Jag hittade en hel del hjälp genom Adafruit lärande guider, och en hel del setup idéer var ympade från deras awesome team, men en hel del design tillägg tillfogades på min setup. Till exempel:
- Jag har min setup att köra via en Python program (vs behöver en nätverksansluten dator)
- Jag la trådlösa telefon fjärrstyrning av lysdioderna via PyOSC (där Python programmet och telefonen med TouchOSC app att kommunicera)
- Jag har Python program setup köras vid start så att när jag tar till mitt i ingenstans, allt jag behöver göra är att koppla in den och LED effekter programmet kommer start (och också inte behöver telefonen app öppna för att göra det)
- Behövs ingen bildskärm eller musen en gång SSH setup
- Integrera PyOSC med PyOPC, och lägga i några bra arkiv att ta hjälp med vissa gemensamma händelser med LED programmering
- Några extra förklaringar på några av programmering justeringar som behöver göras att redogöra för verkliga till digital interaktion (gamma-korrigering och gitter som exempel)
Adafruit (forum, komponent återförsäljare och knowledge hub http://www.adafruit.com/ ) säljer WS2811/WS2812 remsorna (de kallar dem "Neopixels") och de har en massa bra resurser för mer awesome projekt. Deras forum gemenskap och moderator/admins/projekt shamaner guider är fantastiska.
LED-strips behöver normalt en Arduino controller att köra, men Micah Scott Scanlime utformat en särskild styrenhet/driver som hjälper till att skymma bort att nöden. Styrenheten för LED strips integrerar förmåga att använda öppna Pixel kontroll med gitter och gamma korrigering kapaciteter.
Här är den Scanlime artikel om Fadecandy:
http://scanlime.org/2013/11/fadecandy-easier-tasti...
Gitter är en effekt som är relevanta för frekvens perception. Den kan tillämpas på musik bara så det är för bilder. Rastrering fungerar som en diffusion mellan två områden av låg färgdjup. Avsaknaden av färgdjup leder till artefakter i digitala fångar en miljö, och rastrering hjälper jämna dessa övergångar. Med lysdioder leder detta till modulerade intensitet att ge mer färgdjup, och kommer ofta resultera i en sorts twinkle (som jag tycker ser bra ut, som blinkande startlight).
Gamma korrigeringen hjälper åter skala kurvan för varje röd grön blå LED intensitet. Våra ögon uppfattar inte ljusintensiteten linjärt så gammakorrigering bidrar till att göra en linjär fade på rött från 0 till 255 verkar mer linjär för våra ögon. Om en ljus dimmer var linjär skala, första halvåret tycks slå på extremt snabb, men sista halvan verkar inte mycket ljusare släkting. Gammakorrigering sedan gäller inversen av våra ögats naturliga kurvan så att lysdioderna fungerar på ett visuellt rätt sätt.
Öppna Pixel kontroll (OPC) möjliggör ett enkelt sätt att nätverka och effektivisera kommunikation med RGB pixel matriser. PyOPC då tar som det nödvändiga steget längre och möjliggör Python programming language för att ordna en OPC klientserver mellan den pixel delarna och du Fadecandy/styrenheten som kan ta emot och använda OPC meddelanden.
TouchOSC är den sista biten i pusslet och vad tillåter vissa awesome unika och anpassningsbara funktioner. Jag visste om TouchOSC från DJ användning. I det scenariot jag använda MIDI-funktionen på TouchOSC, men jag visste att det var också kan skicka samtidiga öppna ljudkontroll meddelanden. Jag gjorde en del efterforskningar och fann att det var faktiskt har möjlighet att samverka med Python programmering språk via PyOSC.
De bästa delarna om TouchOSC app:
- Lätt att använda TouchOSC redaktör ansökan kan snabbt intuitiv controller design
- Enkla sync-till-telefonerna funktion via vanligen anslutning WIFI-anslutning kan enkelt sätt att uppdatera de layouter som du gör i redigeraren (jag har använt en ad hoc-anslutning för att synkronisera när en router inte var närvarande)
- drar nytta av telefonens befintliga maskinvarufunktioner (accelerometer & multi-input touch-kompatibla skärmar)
- ren lätt-till-använda app gränssnitt / design