Los resultados de las acciones deben verse de inmediato, en motores, luces, o sonidos y graficos que aparezcan en las compus.
Es más divertido, fácil y cómodo poder coordinar varios dispositivos a la vez, ej. puedo usar el detector de movimientos de un movil o tableta (acelerometro) para controlar un motorcito (servo) conectado a un arduino microprocesador, o al revés alejar y acercar la mano de un sensor para controlar lo que dibuja la pantalla de una compu (o varias), etc.
Por ejemplo en este video use un sensor de distancia y un NodeMCU8266 para controlar un programa en java que "toca" una nota midi con un numero proporcional a la distancia, PERO tuve que programar bastante e hizo falta saber demasiadas cosas que para alguien que empieza no sólo no son relevantes sino que se vuelven una barrera imposible de pasar.
Encontre las piezas para armar más fácil "sistemas" como ese :)
¿Qué tenemos?
Un interprete javascript ejecutando en el NodeMCU8266, que tiene una IDE visual fácil en chrome que permite evaluar en el momento, programar con "piezas que encajan", y soporta muchos modulos.
(lo instalé fácil siguiendo este tutorial)
Una ventaja enorme es que una vez que configuraste la wifi y grabaste la configuracion te podes conectar por telnet y ejecutar/grabar el código que quieras, que habilita a hacer otras IDEs todavía más simples (ej. sin js asincrono que suele ser un plomo de programar)
Una ventaja enorme es que una vez que configuraste la wifi y grabaste la configuracion te podes conectar por telnet y ejecutar/grabar el código que quieras, que habilita a hacer otras IDEs todavía más simples (ej. sin js asincrono que suele ser un plomo de programar)
El protocolo de comuncicacion Open Sound Control que es muy simple, PERO tiene la ventaja de que a) ya lo aceptan muchos programas de audio y video (es como un sucesor del MIDI, menciono algunos abajo), b) es fácil de usar en cualquiera nuevo, c) se puede transmitir via UDP broadcast y enviar ej. la distancia que midio el sensor a todas las computadoras y dispositivos de la red.
Programas interesantes para conectar que se comunican usando osc
- Android
- oscHook envía datos de los sensores del movil/tablet a UN puerto en UNA compu
- QuickOSC viene con un set de botones y sliders configurables y tambien puede mostrar lo que recibe
- (mil más, varios que permiten diseñar la pantalla)
- PC
- Processing, un ambiente para generar gráficos simple de programar
- SuperCollider un programa (enooorme) para programar sintesis y efectos de sonido muy sofisiticado
- (mil más)
- Arduino/ESP8266
- Hay ejemplos y librerias para hacer broadcast (negoción para despreocuparse de la IP del micro aunque cuando no lo tenes conectado a la PC)
Varios sensores fáciles de usar y baratos para leer con el microcontrolador (además de todo lo que puede "sensar" la PC)
- el HCSR04 que mide distancias por ultrasonido (USD2 aprox)
- fotoresistencias LDR (USD0.3 aprox)
Varios actuadores faciles y baratos
- los típicos leds siguen siendo divertidos (se pueden hacer caritas ;) )
- servo motores chiquitos (USD2.5 aprox)
- displays OLED I2C de 144x64 puntos para mostrar letras e imagenes
¿Próximos pasos?
- Conseguir o hacer una implementacion simple de osc + UDP broadcast sobre espruino (se puede copiar de esta en C)
Armar un camino con "escalones" atractivos y alcanzables en sesiones breves, que den nuevos poderes
- Conseguir programas simples para controlar y mostrar resultados
- Hacer una lista de aplicaciones divertidas combinando eso, ej.
- el de prender el led desde el telefono
- avisarme al telefono cuando alguien entro a mi cuarto
- seguir cosas apuntandoles con un servo y ej. una carita dibujada o unos ojos...
- el "radar" moviendo el sensor de distancia con el servo
Y buscar ejemplos "impresionantes"
- Generar eventos OSC con la cara!!! http://artandtech.aalto.fi/?page_id=550
- Controlar otros actuadores, hay gente que hace arte alucinante
¿A quién le puedo preguntar?
@mauriciocap
0 comentarios :
Publicar un comentario