5/13/2017

Haptic con xbee

Saludos

hoy me han pedido que haga un “Haptic” para las manos.  O un sistema que dé una respuesta táctil al interactuar con el entorno virtual. Algo muy simple, instalar unos vibradores en unos guantes, para cuando toques algo del entorno virtual tengas una respuesta táctil.


http://www.eodyne.com/es/


Esto no es nada nuevo, todos estamos acostumbrados que el mando de la consola vibre al recibir nuestro personaje un impacto o golpe, pues hacer algo similar económico y funcional. En definitiva en colocar un motor vibrador, que ha de funcionar cuando entremos en contacto con algún objeto, controlar este tipo de motores es muy simple.





Para la comunicación entre el ordenador y los guantes desempolvare unos viejos conocidos los Xbee, no es una opción muy económica, pero si los tienes es una rápida solución para hacer este setup. En este caso simplemente con los Xbee podríamos prescindir de microcontrolador para activar los motores, pero he optado por incorporar un pic12fl1840 en comunicación serial por si hay que añadir algún otro sensor.


El setup de los Xbee es muy sencillo con la aplicación XCTU, el setup básico para configurar la red es:



Menú del XCTU Setup del sistema



El emisor enviara a los guantes y recibirá de los guantes, se podría emplear otro tipo de sistemas por wifi, como Omega2 Plus, Particle Photon, etc. Pero he optado por el xbee porque es simple rápido y tenía el material. Para hacer el setup utilizo una de las placas xbee shield montadas sobre el Arduino, en la foto se ve un Mega, pero normalmente utilizo un Arduino antiguo sin el microcontrolador para hacer de emisor, si queréis hacerlo “bonito” adquirir esta placa.






La conexión entre el xbee y el pic es muy simple, hay que cruzar el Tx-- DIN y el Rx--DOUT, el programa para este caso son pocas líneas de código  y solo contemplo recibir un byte por mensaje.






Esquema del proyecto para mostrar las conexiones. Modelo final para instalar en los guantes.





#include <12LF1840.h>
#device ADC=16

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES NOMCLR                   //Master Clear pin used for I/O
#FUSES NOBROWNOUT               //No brownout reset
#FUSES NOLVP         //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O

#use delay(internal=8000000)
#use FIXED_IO( A_outputs=PIN_A5 )
#use rs232(baud=9600,parity=N,xmit=PIN_A0,rcv=PIN_A1,bits=8,stream=PORT1)
int8 dato;
#INT_RDA
void  RDA_isr(void) 
{
dato=getc();
putc(dato);
}

void main()
{
   enable_interrupts(INT_RDA);
   enable_interrupts(GLOBAL);
   while(TRUE)
   {
      if(dato==0x32){ // 0x31 derecha 0x32 izquierda
      output_high(PIN_A5);
      delay_ms(500);
      output_low(PIN_A5);
      dato=0;
      }else
      {
      output_low(PIN_A5);
      delay_ms(500);
      }
   }
}


El programa es muy simple recibe un byte si es 0x31, en Ascii 1, se activa el motor de la mano derecha durante 500 milisegundos, si es un 0x32, en Ascii 2, se activará el motor de la mano izquierda. En cualquier caso, ambos guantes reciben el mensaje el microntrolador decide quien actúa y quien no, la opción de ponerlo es porque nos permite añadir más sensores o realizar algún otro calculo, el número de veces que se activado, etc. 




Anakleto.

5/09/2017

Agencia de Investigación y defensa Paranormal

Saludos,

Hoy vengo hablaros de una colección de comics, AIDP o sus siglas en ingles BPRD, publicada por la editorial Dark Horse  Cómics y aquí en España por Norma Editorial. Los Autores varios pues ahora mismo la colección consta de 5 volúmenes de más de 400 páginas cada uno son:

Guionistas Geoff Johns, Michael Avon Geming, Mike Mingola, Christopher Golden, John Arcudi y Joshua Dysart  

Dibujo: Michael Avon Oeming, Cameron Stewart, Ryan Sook, Guy Davies, Herb Trimpe, Gabriel Bá, Paul Azaceta, Max Fiumara, Fabio Moon, Nick Filardi

Tinta: Curtis Arnold, Ryan Sook, Guy Davies

Color: Dave Stewart  




Volumen 1 incluye “Las tierras Huecas”, “El alma de Venecia”, “Una plaga de ranas”,...

Volumen 2 incluye “Los muertos”, La guerra contra las Ranas”, La llama negra”,...

Volumen 3 incluye “La máquina universal”, “El jardín de las Almas”, “Zona de caza”,...

Volumen 4 incluye “La advertencia”, “La diosa Negra”, “El rey del miedo”,...

Volumen 5 incluye “1946”,”1947”,”1948”,...




Los números más diversos en autores son el primer volumen y el ultimo el quinto, en principio se entiende, pues el primer volumen comprende unas cuantas historias auto conclusivas, y el último volumen nos habla del periodo del Aidp 1946/47/48 con unas historias también auto conclusivas. El resto de volúmenes incluyen historias cortas y una gran aventura relacionada con “Guerra contra las ranas”, una aventura con la que comienza la saga de Hellboy y continua en AIDP, que llevara a nuestros personajes a las últimas consecuencias, visto en el Volumen IV.



Pero quien son los miembros de AIDP, la serie se crea en el momento que HellBoy abandona la agencia. Lo cual permite a los guionistas centrarse más en los personajes secundarios que aquí ganan en protagonismo. El estilo de casos a los que se enfrentan, sigue la misma línea que en Hellboy, elementos paranormales de toda clase


Abe Sapien, hombre anfibio.   

Liz Sherman, pyrokinético.      

Roger, homunculus.    

Johann Krauss, ectoplasmic physical medium. 

Captain Ben Daimio.   

Sidney Leach, detecta y manipula el metal.      

Panya, ageless mummy.          

Mr. Garret Omatta, psíquica.   

Dr. Tom Manning, director.     

Dr. Kate Corrigan, encargada de agentes especiales.     

Professor Trevor Bruttenholm, exdirector.       

Dr. Howard Eaton, occult specialist, asistente del Prof. Butternholm     

Dr. O'Donnell, especialista en ocultismo.         

Andrew Devon, agente de campo.       

Bud Waller, agente de campo. 

Mr. Clark, agente de campo.    

Agent Van Fleet, agente de campo, antiguo Seal de la marina.  

Agent Hampton, agente de campo.      

Agent Pratt, agente de campo. 



Resumir cinco volúmenes en una pequeña entrada no hace un grato favor a la obra evidentemente, necesitaría una relectura para sacar mejor los detalles de la saga, pero sí que os puede dar una impresión general de la colección. Bajo el mismo universo que se desarrolla Hellboy, los casos extraños y paranormales caen en las manos de los miembros de la AIDP y tienen que resolverlos.



Una agencia fundada a finales de 1944 por el profesor Trevor Brunttenholm. En sus inicios y como se verá en el V volumen de la colección se estableció en una base aérea de Nuevo México. Más adelante se instaló en Connecticut, con fuerte vinculación por parte del ejército de los estados unidos, en la actualidad es una organización privada que recibe sus fondos de diferentes países, de ahí su extensa red de colaboradores. Y eso es en parte lo divertido de la serie, las localizaciones remotas en Rumania, Japón, Siberia dan ese toque clásico a las aventuras por todo el mundo, pero con el misterio a lo desconocido y el terror clásico de Lovecraft.



Que diferencia principal tenemos entre Hellboy y AIDP, pues principalmente la ausencia del demonio rojo, deja que exploremos mejor al resto de personajes. Con historias de sus origines, con sus posibles destinos dando a cada uno de ellos una tridimensionalidad que en la serie regular de Hellboy era difícil de intuir o imaginar. Al igual que los personajes humanos corrientes y molientes, analistas, soldados, historiadores, muchas veces carne de cañón en las historias y es que trabajar para la agencia debe estar muy bien pagado porque no son pocos los que mueren durante las misiones. Son estos tipos de grupos de personajes normales que acompañan en muchas ocasiones a los protagonistas   Liz, Abe, Johan, Roger, etc. los que me atraen pues los imagino como PJ de posibles partidas de rol.

Su equivalente entre muchos tipos de juegos de rol seria Delta Green, que tengo pendiente hacer una  reseña o su “homologo” nacional Ragnarok tercera Edición que le falta poquito para salir al mercado y que tratare de hacer otra reseña.  Señalo estos dos juegos, pero habría más, por ejemplo, otro que también se aplicaría bien este tipo de universo sería el Atchung Cthulhu principalmente para las misiones en tiempo de guerra, que el último volumen es ideal.

Esta niña tan inocente en un personaje brutal.



Ahora lo que toca hacer es repasar aquellas historias que son fácilmente adaptables a partidas de rol y hacer un intento, dos tengo en mente “ La guerra de las Ranas” y “Vampir Sturn”, pero seguro que saco más historias.



Anakleto.

5/08/2017

Eddibot con palanca y control python

Saludos, 


he estado trabajando ya nuestros Eddiebots les he añadido algunas curiosidades, además del sensor de distancia APDS 9960, le hemos puesto un seguidor de línea y una barra para que se levante del suelo el solo.  En ambos caso los sensores/actuadores que hemos instalado son I2c.




Esta entrada podría ser la continuación de la sensores i2c con pic o una segunda entrada del Intel Edison. Al modelo original de Ediboot le he añadido unos soportes en la parte posterior para que se quede en una posición semi-vertical.




En la parte delantera he instalado una palanca controlada por un motor micrometal de 298: 1 de reducción, más que de sobra para poder desplazar el peso del robot, para controlar el motor he empleado como en otras ocasiones el driver L272M controlado por el pic12lf1840 configurado como esclavo i2c. Podría haber empleado alguno de los pines libres de la placa de GPIO pero no son tantas las que están libres por el uso de la placa de motores y opte por este método que me da más libertad de diseño, reduciendo los problemas a otros más pequeños.


Controlar el motor al fin y al cabo no es mucho más complicado que el control del Led, que explique en el primer ejemplo de i2c, se le puede enviar tres instrucciones:



0x31: Bajar palanca

0x32: Recoger palanca

0x30: Parar Palanca


Al no tener encoder el motor o bien se hacía un control por tiempos, algo que suele descalabrarse, así que opte por colocar un pulsador en el pecho del robótico para que actuara de final de carrera cuando se recoge la palanca.  A la hora de bajarla el limite lo impongo controlando el ángulo del “kalmanfilter”, cuando llegue a cierto ángulo el robot se pondrá de pie solo.





Otro de los sensores que le instalado en el seguidor de línea, en varias versiones, esto quiere decir que he ido modificando como colocar el sensor en función de cuantas cosas llevara el robot.





Al igual que la “pata”, su nombre oficial es otro en la oficina no dejan de reírse con el robot con “pene”, el sensor de línea he empleado el picf1840 para hacer el sensor esclavo i2c. El sistema es cómodo y te permite realizar sensores que se pueden adaptar a cualquier plataforma, Arduino, raspberry pi, Intel edison … 

El aspecto final del sensor que he empleado es:




Placa “home Made” con picf1840, se instala entre los motores del Eddiebot







Otra cosa que debíamos hacer con los Eddibot es que colaborasen entre ellos transportando una plancha o algo similar, haciendo pruebas es algo “relativamente” sencillo de implementar, lo complicado era posicionarlos en una poción concreta para realizar el experimento. 






Para que esto fuera sencillo realice un control mediante Python para poder situar a los robots en la posición correspondiente. No necesita de mucha explicación simplemente cambiar las ip’s para que coincidan con la de vuestros robots y poco más.


Conectarse con los Robots Z
Robot 1 control W,S,A,D
Robot 2 Control I,K,J,L,
Control común T,G,B
Salir X

Anakleto