Proyecto theP. behaviors machine

PERFORMANCE DOMÉSTICA pEixam

Grácias a la prótesis performática - theP puedes celebrar la acción pEixam con tus amigos en casa. Construye tantas prótesis como quieras y de esta forma podrán participar del evento más personas a la vez y éste se hará más complejo.
En esta página, AccNeo-grup te explica todos los pasos para construir tus propias prótesis y dotarlas del sistema de navegación requerido para realizar la performance

ver vídeo:

Desarrollo teórico

theP es un ‘performer-hormiga’. Ejecuta unas instrucciones almacenadas en su memoria. La acción se basa en la repetición de una serie de órdenes que permiten al autómata reproducir el camino de un mapa-mental en un espacio físico. El divorcio entre los dos planos dará como resultado una serie de encuentros que permiten a theP reconducir el itinerario. El funcionamiento de la hormiga (unidad-theP) se basa en el continuo fracaso de navegar dentro de un ámbito concreto.

Cuando introducimos una segunda unidad-theP dentro del espacio, conviven ambas ejecutando cada una su acción. Los dos recorridos se ejecutan con independencia pero, al igual que dialogar con la geografía, las unidadestheP lo hacen también entre ellas y por lo tanto, se reconducen de igual forma que lo hacen con el espacio. Emerge así una ‘performance-enjambre’. Para formalizar el concepto de ‘performance-enjambre’, entendemos nuestros performers como cyborgs: Una ‘prótesis tecnológica’ aplicada sobre ellos les otorga las capacidades indispensables para formar parte activa del evento.

El prototipo


Componentes:

Estructura ligera de cartón 30x30x40 cmts.
Microcontrolador Arduino
Detección de obstáculos por ultrasonidos a 80 cmts
Recepción de ordenes remotas por infrarojos (Protocolo RC-5)
Emisor de ordenes por infrarojos (Protocolo RC-5)
Panel de pilotos luminosos en el interior
Arnés sujeción cabeza
Interruptor ON/OFF
Autonomía de alimentación de 6V.

Descripción técnica

La prótesis performática theP ha sido desarrollada con Arduino

El sistema electrónico se compone de dos tipos de sensores: detección de obstáculos con ultrasonidos (PING) y receptor de luz infrarroja (TSOP1736), a partir de los cuales se reciben estímulos del contexto, un emisor IR y una interfaz de comunicación con el usuario a partir de un código lumino-cromático a base de leds.

La interpretación de los datos introducidos por los sensores se hace a partir de software, verificando a qué distancia queda el obstáculo y decodificando la trama IR (protocolo RC5). La emisón se hace con luz IR, codificando una trama RC5 también vía s/w.

Esquema de Fritzing

Sketch

/**************************************************************/
// INPUTS
#define PING 7 //Detección de obstáculos
#define TSOP 2 //Detección señal IR
// OUTPUTS
#define EMIR 11 //Emisión de trama IR a través del led C-2771
#define esquerra 10 //pins interficie interna
#define endavant 9
#define atura 5
#define dreta 3
#define chivato 8 //activar el led ‘busy’ que indica detección por parte de los sensores.
// FUNCIONES PROTOTIPO
bool detectaObstacle(void); //Detección de obstáculos con PING))). //Retorna ‘true’ detectado un obstáculo, ‘false’ en caso contrario
bool receptorIR(void); //Detección de señal IR con TSOP
//Retorna ‘true’ señal recibida, ‘false’ en caso contrario
void emitirIR(void); //Emite trama IR a partir del led IR (EMIR)
void encenLed(int pinLed); //Enciende el que led que le pasamos como parámero
//pinLed será: ‘esquerra’,’dreta’,’atura’ o ‘dreta’.
// MAIN
void setup(void){ //Inicialización de todos los valores
}//setup
void loop(void){ //Función que se repite en bucle a cada paso
if(receptorIR()) {
encenLed(‘chivato’); //Avisamos que hemos recibido data
encenLed(‘atura’); //Parar el performer
encenLed(‘esquerra’); //Girar dos veces
encenLed(‘esquerra’);
}else if(detectaObstacle()){
encenLed(‘chivato’);
encenLed(‘atura’);
encenLed(‘dreta’);
}else encenLed(‘endavant’); //Si no hemos detectado nada con los sensores, el
//performer avanza un paso.
}//loop
// FUNCIONES
void encenLed(int pinLed){ //Activa la luz del orden a hacer en la interficie interna y envia
//una ráfaga IR.
emitirIR(void);
digitalWrite(pinLed,HIGH);
}//encenLed
/////////////////////////////////////////////////////////////////////////////////////////////////

Este sistema nos permite hacer navegar a theP en el entorno elegido para realizar la acción. Por último debemos supeditar este algoritmo al seguimiento del itinerario ideal, que es lo que dará las órdenes a través de la interfaz como si de un piloto automático se tratara.

Implementamos el mind-map confeccionando una estructura de información:

struct{ int passes[]={5,3,12,....,9}; //Lista de números de pasos en línea recta int gir[]={0,1,0,1,1,...,0}; //Cuando acabamos una secuencia de pasos, se consulta //la posición correspondiente aquí para girar a izquierda //(0) o derecha (1) } itinerari;

Requerimos de 2 librerías, una para interpretar la señal infraroja por parte del receptor TSOP1736 y la otra para codificar la señal por el emisor.
Las podemos descargar en

http://wikiputer.org/arduino/NECIRrcv.zip

http://wikiputer.org/arduino/rc5xmit.zip
y copiarlas en el directorio usual libraries de la carpeta de la aplicación Arduino.
Deberemos incluirlas al inicio del sketch:

#include <NECIRrcv.h>
#include <irparams.h>

Finalmente, puedes DESCARGAR todo el software requerido y cargarlo directamente en el Arduino en el siguiente enlace:

http://accneo.com/theP/pEixamZip.php?arxiu=pEixam.zip

La duración de la acción es la de recorrer las dos listas de la estructura ‘itinerari’.