Tiras de LED de Phone Remote-Controlled inalámbrico: RasPi con conductor Fadecandy con WS2811/WS2812 direccionable LED tiras con TouchOSC Smartphone App con el Iphone o el Droid (14 / 16 paso)

Paso 14: Programa de Python para tira de LED Control

¿Lo que hace el programa Python necesita hacer ahora?

Configuración del cliente OPC (para comunicarse con nuestra mesa de Fadecandy)
Configurar servidor de OSC (recibir la señal de TouchOSC app via Wifi conectado el teléfono)
Configuración de algunas variables para almacenar los valores actuales del sistema que pueden ser utilizados por todas las funciones que hizo esto con las variables globales con éxito, pero no estoy seguro si esta es la mejor práctica.
Ser capaces de detectar relativa-a-humanos-tiempo de reacción rápido asincrónico entrada (entrada en intervalos no periódicos que su general Python programa estructura necesidad comprobar tantas veces como sea posible de la entrada)
Guardar el mensaje entrante de OSC de TouchOSC en una matriz de caracteres
Analizar la matriz de datos OSC (nombre del canal, nombre del atributo y atributo rango; Personalizable en el Editor de TouchOSC en el menú izquierda)
Almacenar los datos analizados en las variables de la función temporal
Almacena el valor de la función temporal en la variable global correspondiente (programa recibe un nuevo mensaje OSC; Pasé un fader, está ahora en un valor de 10; el fader fue en la Página 1 y se llama "redfader" por lo que necesito actualizar mi pixelcolorred variable global (o cualquier nombre descriptivo). La variable global fue el enfoque heurístico. Lo estoy usando porque fácilmente puedo ver qué función se cachondeo con él debido al mensaje analizado osc. Entiendo que es una variable peligrosa porque todo puede acceder y editarlo, pero eso es lo que era tipo de lo que vi el trabajo del programa.
Inicio en un bucle principal en un modo inicial en un tiempo bucle (como canales de tv). Este es el modo de inicio por defecto que será el primer "efecto" la matriz de LED comienza a funcionar cuando se inicia el programa de Python (que estará en el arranque)
Ser capaz de cambiar fuera efecto tiempo-bucle de ese modo lo suficientemente rápido como para no aviso de retraso

El programa constantemente está pidiendo al cliente si se han recibido mensajes nuevos de OSC. Cualquier cambio en cualquiera de los controles de TouchOSC enviará el mensaje relevante de OSC que se detectan en cada línea que utiliza el programa:
Server.handle_request()

Una vez que se detecta un cambio de modo (a través de una funcionalidad similar al ejemplo del cambio de fader se detectan) el programa quebrará la previa mientras que lazo, ir a través de la lista mientras bucles hasta que encuentre del modo adecuado lazo y ejecutar hasta el otro modo de cambiar es detectada. He intentado organizar los modos en funciones en lugar de nido en el bucle principal de tiempo de ejecución, pero luego consiguieron un poco más complicado / desordenadas mediante la función server.handle_request() dentro de la otra función, y no muy quería lidiar con eso.

No quiero llegar demasiado específica ya es donde la creatividad entra en juego, junto con alguna experiencia de Python que completamente no puedo entrar. (Plan para editar en algunos de la configuración del OPC y OSC en Python) pero algunos recursos de gran arranque pueden encontrarse aquí:

Algunas herramientas útiles pueden encontrarse en:

  • Biblioteca de matemáticas (valor absoluto)
  • tiempo (buena para otra variable aleatoria que está progresando linealmente)
  • al azar (generar el valor pseudo-aleatorio)
  • color_utils (algunas funciones de sujeción un mix y max, reasignación de gamas, de bloqueo y otras funciones útiles relacionadas con LED de control) y proviene de bibliotecas Open Pixel Control Python desde

Artículos Relacionados

Acelerómetro Tilt control inalámbrico RGB LED-luces

Acelerómetro Tilt control inalámbrico RGB LED-luces

este es el video de mi instructable acelerómetro Tilt control inalámbrico RGB LED-luces. Muestra el transmisor inclinado en diferentes direcciones y la correspondiente luz de la lámpara.Instructivo
Agregar Control inalámbrico a mono luz M232

Agregar Control inalámbrico a mono luz M232

este instructable le guía a través de cómo agregar un control remoto inalámbrico para las luces de bicicleta mono M232 de luz existentes. Me encanta estas luces - rad 42 patrones, cargas de diferentes colores, dos ajustes de brillo y bajo consumo de
SMS control inalámbrico sistema de riego

SMS control inalámbrico sistema de riego

Actualización 13/02/11: la votación ha comenzado para el concurso de microcontrolador de Sparkfun. Por favor voten por mi!ACTUALIZACIÓN 26/02/11: gané un segundo premio!!!! Huzzah! Gracias por los votos!ACTUALIZACIÓN 17/03/11: me encantaría ganar un
Modding de un tanque para control inalámbrico

Modding de un tanque para control inalámbrico

en este instructable le mostraré cómo transformar su tanque de RF en algo controlado a través de wifi. La palanca de mando o panel de control será un programa escrito en C#. Aplicaciones pueden escribirse para los teléfonos android, para que el contr
El sistema de Control de velocidad del Motor inalámbrico NRF24L01 con Arduino

El sistema de Control de velocidad del Motor inalámbrico NRF24L01 con Arduino

Equipo de ICStation presentamos el sistema NRF24L01 Wireless prioridades de Control de velocidad Motor funciona bajo voltaje de 5V DC. Utiliza el Módulo inalámbrico de NRF24L01 para transmitir datos de control de velocidad y el Sensor de pasillo para
Convertir cualquier control remoto a un control inalámbrico interruptor ON/OFF

Convertir cualquier control remoto a un control inalámbrico interruptor ON/OFF

al construir un cronómetro de Toastmaster, necesitaba un interruptor para actuar como un interruptor de arranque/parada. Primero construí con un cable coaxial flexible larga, pero como pasaba el tiempo, resultó para ser impracticable: podría ser dema
Cómo hacer un robot de control inalámbrico en unos simples pasos

Cómo hacer un robot de control inalámbrico en unos simples pasos

1) perf board (pcb simulada)2) los cables de3) codificador ht12e y decodificador ht12d ic, controlador de motor l293d4) módulos rf5) resistencias de 1 m y 51 k6) de led7) regulador de voltaje ic78058) 2 interruptores de dpdt9) motores del engranaje 4
Sensor de temperatura inalámbrico IR con ATtiny85

Sensor de temperatura inalámbrico IR con ATtiny85

Arduino es sencilla y muy potente plataforma de open source y hardware donde sólo su imaginación puede detener. Hace unos días leí un instructivo que me inspiran a hacer mi propia. Es el instructivo acerca de cómo puede enviar cadenas de datos desde
Medidor de voltaje inalámbrico Bluetooth con Wiimote + Chip Pic AutoIt

Medidor de voltaje inalámbrico Bluetooth con Wiimote + Chip Pic AutoIt

en este tutorial voy a estar mostrando cómo puede enviar valores de tensión a su pc usando un chip Pic, Wiimote, y lenguaje de scripting Autoit3. El proceso funciona conectando un chip pic a las almohadillas de botón de un wiimote. Entonces usando lo
ESP8266 Inalámbrico indicador de uso higiénico (Smart Home)

ESP8266 Inalámbrico indicador de uso higiénico (Smart Home)

Como ingeniero, es suerte de trabajar para una empresa que con un grupo de fabricante. Porque a menudo nos encontramos con algunos problemas en nuestra vida, nuestro pesebre nos permite poner nuestra creatividad en juego completo debido a la atmósfer
Introducción el módulo Wixel USB inalámbrico

Introducción el módulo Wixel USB inalámbrico

edita: yo puse esto en el concurso de makerbot, por favor votar si te gustó. Estoy yo 'lo' le pregunte, que ideas y ganas de crear. :] /EDITHe estado jugando con un microcontrolador Arduino y robótica de los pedacitos y pedazos por un tiempo ahora.Yo
Cardán mando inalámbrico con Google Glass

Cardán mando inalámbrico con Google Glass

Este instructivo sirve como una versión acortada de un documento más largo en la instalación y operación de un sistema de control inalámbrico de cardán con Google Glass.Los métodos y los resultados suelen ser en fase de pruebas beta y no será necesar
Sencillo mando a distancia inalámbrico para Robot

Sencillo mando a distancia inalámbrico para Robot

Se trata de simple control remoto de 4 canales para el control de dos motores de corriente continua en dirección hacia adelante y reversa.Paso 1: Diseño transmisorTransmisor se construye usando el codificador HT12E, módulo inalámbrico de 433MHz y los
Nunchuck Wii inalámbrico controlado por Arduino

Nunchuck Wii inalámbrico controlado por Arduino

Utilizar un sin modificar totalmente inalámbrico Wii Nunchuck como un sistema de control para cualquier proyecto basado en Arduino. No pares de transmisor/receptor de radio mayor etc..Este instructable asumir alguna experiencia con el microcontrolado