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 (14 / 16 steg)

Steg 14: Python Program till kontroll LED strip

Vad gör programmet Python behöver göra nu?

Setup OPC klient (att kommunicera med vår Fadecandy styrelse)
Konfigurera OSC-server (för att få input från TouchOSC app via Wifi ansluten telefon)
Ställa in vissa variabler för att lagra de aktuella värdena för system som kan användas av alla funktioner jag gjorde detta med globala variabler framgångsrikt, men jag är inte säker på om detta är bästa praxis.
Att kunna upptäcka släkting till mänskliga-reaktion-tid snabbt asynkron ingång (input kommer icke regelbundna mellanrum att göra dina övergripande Python program struktur behöva kontrollera ingång så ofta som möjligt)
Lagra inkommande OSC budskapet från TouchOSC till en karaktär array
Tolka matrisen för OSC data (Kanalnamn, namn och attribut utbud; Anpassningsbar i TouchOSC Editor i egenskaper-menyn vänster)
Lagra analyserad data i tillfälliga funktionen variabler
Lagrar temporära funktionen värde till den relevanta globala variabeln (program får ett nytt OSC meddelande; Jag flyttade en fader, är det nu på en värdera av 10. Fadern var på sidan 1, och kallas "redfader" så jag behöver uppdatera min global variabel pixelcolorred (eller oavsett beskrivande namn du vill). Den globala variabeln var den heuristiska metoden. Jag använder den eftersom jag kan lätt se vilken funktion är jävlas med det på grund av analyserad osc meddelandet. Jag förstår att det är en farlig variabel eftersom allt kan komma åt den och redigera den, men det är vad var typ av vägen såg jag programmet arbetar.
Start i en huvudloop på en inledande mode i ett tag loop (som kanaler på tv). Detta är standardläget landning som kommer att vara den första "effekten" arrayen LED börjar löpa när Python programmet startar (som kommer att vara på boot)
Att kunna växla från det läget effekt tag-loop tillräckligt snabbt för att inte märka lag

Programmet ber ständigt klienten om något nytt OSC meddelande har tagits emot. Varje ändring av någon av TouchOSC kontrollerna kommer att skicka relevanta OSC meddelandet som kommer att upptäckas på varje rad används:
Server.handle_request()

När en förändring upptäcks (via liknande funktioner till exempel fader förändringen upptäcks) bryter programmet från föregående loop, gå igenom listan medan slingor tills den hittar den korrekta läget slinga, och kör det till ett annat läge ändra är att upptäcka. Jag försökte ordna lägen i funktioner istället för boet dem alla i den huvudsakliga körning slingan, men då det fick lite mer komplicerat / belamrad med funktionen server.handle_request() i den andra funktionen, och jag ville inte riktigt ta itu med detta.

Jag vill inte få alltför specifik här eftersom det är där kreativitet kommer in, tillsammans med några Python upplevelse som jag inte helt komma in. (Jag planerar att redigera i några av OPC och OSC inställningarna i Python) men några bra starter resurser kan hittas här:

Några användbara verktyg finns i:

  • Math-biblioteket (absolut värde)
  • tid (bra för en annan slumpvariabel som är linjärt framåt)
  • slumpmässig (genererar pseudo-slumpmässiga värde)
  • color_utils (vissa fastspänning funktioner låsa en mix och max, remapping spänner, och andra användbara funktioner som hänför sig till LED kontroll) och kommer från öppna Pixel kontroll Python bibliotek på
Se Steg
Relaterade Ämnen

Remote control LED.

Hej vänner, i detta instructable jag ska visa dig hur man gör fjärrkontrollen ledde med hjälp av unuseful knapparna för din TV-fjärrkontroll. I detta projekt kommer vi inte att använda trimpot, motstånd eller IC. Så, låt oss göra det!Steg 1: Samla de...

RGB-Led klocka med Bluetooth Smart

Detta instructable visar hur du använder en Cypress-BLE-Devkit för att bygga en RGB-LED-klocka.Du behöver endast mycket få saker:RGB-LED-Strip med 30 eller 60 WS2812b-lysdioder.en grid-stil dator ombordnågra pins pin-header och lite tråd.en 5V kraftk...

Grunderna i förvandlar ditt Remote Controll fordon till ett autonomt System (Drone) genom att använda en Arduino

jag började detta projekt med målet att billigt vrida min RC helikopter till något av en UAV eller åtminstone att passa vissa sensorer att minska kollisioner och andra "mis haps."Nu är tyvärr i början av projektet missbedömde jag min lilla helik...

Laddning Remote Control Robot

laddning Remote Control RobotFÖRST AV ALLT VILL JAG KLARA DIN ALLA TVIVEL INNAN DU BÖRJAR. JAG ÄR INTE NÅGON TEKNISK OCH MEKANISK EXPERT I MASKIN SÅ DU INTE BEHÖVER SPENDERA 100 DOLLAR I DETTA PROJEKT DET ÄR SÅ BILLIGT OCH ENKELT PROJEKT. Du kan bygg...

Remote Controlled Arduino Car

Jag har alltid gillat att gå till lägren, etc där det finns många av mina vänner, jag har alltid gillat att ha en massa vänner och en dag när jag letade upp youtube för fjärrkontroll bilar, och hur de gjordes, jag listat ut att jag kunde göra en till...

Öka känsligheten för IR Remote Control

detta instructables är att guida dig på hur du kan förbättra känsligheten av IR-fjärrkontrollen. Modell av fjärrkontrollen är AXD7461 för din information.Steg 1: Höljet blockerar IR-signalen Gemensamma anledningen till att IR-fjärrkontrollen inte är...

RS-232 IR-mottagare i en seriell anslutning (LIRC) dator Remote Control

detta instructable avser att visa dig hur du skapar en liten och enkel infraröda (IR) mottagare för din dator. Konfigurationen av programvaran är utanför omfånget för detta instructable, men jag använder denna mottagare med LIRC (Linux Infrared Remot...

Remote Control Robot Arm

detta är talet High School Science Olympiad Robot Arm som tävlade på Minnesota 2012 staten Science Olympiad turneringen med 32 andra lag. Jag byggde och körde denna fjärrkontroll robotarm för turneringen, utsläppande 8 (på grund av oförutsedda proble...

LinkSprite Ethernet Shield + yeelink WEB remote control IO

Ethernet-Shield kan omedelbart Internetkonnektivitet för Arduino projekt. En ombord Wiz5100 ethernet styrenhet hanterar upp till fyra TCP och UDP-anslutningar, stack bara det till en Arduino att skapa dina egna enheter på nätverket. Enkelt kontroller...

Remote Control sällskapsdjur dörren

Dilemma:6 på morgonen den 1 januari. Du festade till 03: 00. Nu ska du sova det off när du väcks av ett påträngande avlysningen kommer från bakdörren. Din hund behöver gå ut och ta hand om sin verksamhet, men du är varm, skön, och golvet är kallt och...

Remote Control pipig leksak

detta är en enkel leksak för sällskapsdjur. Jag kom upp med detta att underhålla min hund. Du kan använda olika storlek fjärrkontroll bilar för olika stora hundar och olika typer av terräng.Steg 1: material Vad som behövs:Remote Control bilPipig leks...

Styr Ikea Dioder LED Strip med Arduino + 16 X PWM LED Fader styrelsen

vi kommer att visa hur man binder upp och styra en Ikea DIODER LED strip med en arduino, med en 16 X PWM LED Fader styrelse som mellansteg.16 X PWM styrelsen är i grunden en massa mosfets under PWM kontroll (strömbrytare som slår på och av riktigt sn...

Remote Control Laser skär bil

Det är något mycket tilltalande om fjärrkontroll bilar. De flyttar runt, kör in i saker, och de är helt kontrolleras av dig.Kolla in min vinranka av detta projekt här.Byggnad av makenaifri och öppen källkod laser skärbar eller 3D utskrivbara bil chas...

Spela in IR-koder för någon fjärrkontroll för användning med Linux Infrared Remote Control (LIRC) på Raspberry Pi GPIO-baserade infraröd mottagare

IntroduktionDe fjärrkontroller som är föräldralösa när enheten kontrollerar de kan slutat fungera återanvändas på din Raspberry Pi. Efter att ha avslutat detta instructable, du kan bli intresserad i försökande ute den följande instructables:Återanvän...

Installera Linux Infrared Remote Control (LIRC) paket

IntroduktionLinux Infrared Remote Control (LIRC) är en svit av program som styr den IR hårdvaran av Pi-hallon. Lirc debian-paketet innehåller ett antal program:ircat - Skriv ut strängar när du trycker på knapparnairrecord - ansökan om inspelning IR-k...

Hur man gör en Remote Controlled Stunt bil hemma

I detta Instructable lär vi att göra en fantastisk gadget som varje kille önskat och hade också iallafall försökte en gång göra det under hans barndom. Det är inget annat än en Remote Controlled bil och gissa vad, i detta instructable, vi kommer inte...

Remote Control mörkar för $20

Så jag var trött på den mödosamma uppgiften att manuellt öppna och stänga mörkarna varje dag... och jag hade gjort motoriserade persienner innan med en kontinuerlig revolution servo vända staven när jag var liten men som inte ser trevligt med en serv...

Teddy Bear Remote Control

nallebjörn fjärrkontrollen sitter bra på din soffa eller säng och kan användas för att styra din iPod eller dator. Det är en söt ändring till en RF-fjärrkontroll och är förvånansvärt mjuk! Projektet är svårt att göra och kräver en hel del udda materi...

TV Remote Controlled bil

ingenting är värre än att förlora den registeransvarige som följde med din fjärrkontroll bil. Ersätta att sucker med en arduino och en fjärrkontroll som alltid verkar vara runt, TV-fjärrkontroll!Steg 1: material Material för detta projekt är ganska r...