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

4/17/2017

Cómic: Hel'Blar

Saludos,


de entre muchos de los cómics que voy leyendo, que no son pocos, algunos despiertan la necesidad de crear una entrada, no para dejar mi opinión sobre el cómic, sino para recomendarlo. Con algunos no creo que sea necesario recomendarlos pues ya son muy conocidos y con otros ... estos tabajando en ellos, pero requieren de mas trabajo, estudio.


Llego a mis manos el trabajo de los hermanos Sierra, Sergio y Alex, “Hel´blar”, le había echado el ojo pero al ver escrito “Primer Volumen”... no quise liarme, el espacio es algo que adquiere importancia, y nos queda poco. Soy un enamorado de la palabra integral pues me gusta comenzar una historia y tener la oportunidad de terminarla. Pero un amigo se hizo con él, como no, salían vikingos,  y me lo dejo para que le echara un ojo, por Odín que se lo eche.





Hel’Blar nos sitúa en  una partida vikinga que regresa a Lagarvik, su hogar tras realizar los saqueos anuales para la supervivencia de su gente. Harek el nuevo Jarl de la aldea tiene que ganarse la confianza de todos, el botín que trasladan es quizá la parte más sencilla, o así lo cree el. Pero el regreso a la aldea en todo menos lo esperado, una niebla inunda el puerto y restos de sus conciudadanos flotan inertes en las frías aguas, un mal hace mucho tiempo olvidado se ha despertado y ha golpeado a la aldea llevándose a sus hijos. Harek y sus guerreros deberán ir tras ellos.




El dibujo de Alex es brutal, la edición española de Yermo Ediciones es magnífica, las páginas arecen lienzos y se nota trabajo en la ambientación y diálogos, respecto a tradiciones, vocabulario, mitos y leyendas. Los personajes están muy bien creados, no dejan de ser los estereotipos clásicos pero están muy bien marcados y definidos. La historia podría recordar a películas como  “Guerrero nº 13”, “Beowulf”, “Outlander” sin extraterrestres. Para la búsqueda de sus enemigos será necesario algo más que las fuerzas de sus brazos, la ayuda de sus dioses. Y esto es algo que normalmente siempre se menciona pero pocas veces se ve, es decir la magia suele venir del lado oscuro o en forma de maldiciones. Y aquí nos sorprende gratamente aunque eso si, pagando un alto precio.


Todos estos ingredientes hacen que Hel’Blar sea una muy buena historia que te deja con ganas de más. Si a esto añadimos la historia de cómo se forjo este cómic en tierras Galas, pues pese a el talento que demuestran los hermanos Sierra tuvieron que irse a Francia  para poder publicarlo en la editorial Sandawe tras una campaña de crowfunding. Es triste, pero como en otras muchas cosas nos aprecian más los de fuera que los de dentro.



Ya estoy esperando el volumen dos.



Anakleto

4/12/2017

MAME, Retropie y Arcade power

Saludos,

hoy vengo a hablaros de como instalarse una recreativa en casa, podríamos ponernos manos a la obra y realizar una maquina semejante a las de antaño, pero pese a su encanto tiene el inconveniente del espacio que ocupa.


Lo de hoy es más simple, tienes un ordenador conectado a la tele,  un equipo antiguo que no le das uso,  una raspberry pi o una Tablet, móvil etc. Pues si algo de esto tienes puedes montarte una máquina recreativa en casa, nada del otro mundo algo que te permita jugar y echarte unos vicios a esos antiguos juegos que recuerdas de tu infancia. O porque no, descubrir esas viejas glorias que en nada se parecen a los juegos actuales.



Que necesitaremos, si se dispone de un mando de pc inalámbrico o por cable (usb), o más sencillo un teclado. Es lo que emplearemos para jugar, en mi caso empleo un mando de la Xbox con el adaptador para pc y un teclado inalámbrico.




Para comenzar vamos a explicar que es un emulador, según la Wikipedia, es un software que nos permite ejecutar programas en un sistema operativo diferente para el cual fueron creados. Es decir, ejecutar programas de maquinas o sistemas antiguos en nuestros equipos actuales.

Tenemos emuladores de Android, que nos permite ejecutar las aplicaciones del teléfono en el ordenador, y cuando digo aplicaciones también me refiero a juegos, esto ya nos podía ayudar a conseguir una máquina recreativa, de fácil manejo y configuración.


Pero si queremos jugar a aquellos clásicos pixelados, que nos hacían dejarnos nuestra semanada en las recreativas del barrio o del pueblo, hablamos de, la emulación de máquinas recreativas, videoconsolas etc. Desde hace muchísimo tiempo existen toda clase de emuladores, uno de los más conocidos es el MAME, “Multiple Arcade Machine Emulator”, que como indica su nombre es multi plataforma, es decir puede emular muchas maquinas.

Instalación en ordenador


La instalación es sencilla dependiendo de donde la queramos instalar, solo hay que seleccionar el sistema Windows, Mac o Linux y bajarnos la versión. La última versión es la 0.184 y esto lo comento porque es importante. Como os he mencionado el sistema MAME no es nuevo, tengo la versión 0.83 (aun operaiva) desde hace años y un montón de roms de recreativas, más de las que necesito para jugar. Al instalarme la nueva y exportar esas roms, algunas funcionan, otras no.


El motivo es que las roms se tienen que actualizar, al igual que el MAME, y esto podría parecer un coñazo porque son muchas. Pero, ¿realmente vamos a jugar a todas?... Por ello lo que vamos a plantear desde aquí es buscar las que realmente queramos, personalizando de esta forma tu entorno de juego. Desde paginas como Emuparadise, podéis buscar las roms de vuestros juegos favoritos, comprobando que funcionan con la versión de mame que tenéis instalada.


 


Para ponerlo en modo ventana, Configure Options/Video options/Window Mode ON. En avaible no hay nada porque no hemos cargado ninguna Rom, en la carpeta.

  
Una vez coloquéis las roms en la carpeta ../mame/roms/ os aparecerán  en la lista, en el caso de que os salgan todas las roms que están disponibles aunque no las tengáis instaladas hay una opción en: 

Configure options/miscellaneous options/ Hide roomless machine from available listà ON

Si como comentaba tienes una carpeta con roms antiguas pruébalas normalmente las de Arcade funcionan, pero no todas y las de neogeo suelen dar errores. Por ello os recomiendo haceros una lista de a lo que queréis jugar, antes de tener 4000 juegos.

Para configurar los mandos:

Configure options/General Inputs/








Si tenéis algún mando conectado os aparecerá listado sino podéis emplear el teclado, os aparecerá un listado infinito, solo tenéis que configurar los cursores y botones la mayoría de juegos como máximo tienen 6. En “Other controls” aparece los controles de meter moneda, start player 1 etc.




Desde el juego si pulsáis la tecla tabulador accedéis a un menú similar donde podéis modificar la dificultad del juego (DIP), el número de partidas por monedas, y cambiar los controles.

Instalación en dispositivo Android


Otras opciones es instalar el mame4droid, en nuestro dispositivo Android, ya sea teléfono Tablet o SmartTv, aquí nos indicara que las roms validas son las de la versión 0.134.Yo he instalado una versión de Super Pang para probar y pese a que recomendaba versión 0.141 ha funcionado correctamente.  En este caso si teneis algún mando se puede conectar al móvil Tablet mediante este cable. Si lo instaláis en la tele, lo podréis conectar a uno de los usb que tienen, esto último no puedo probarlo.




Al conectarle un mando el mando virtual desaparece convirtiendo el dispositivo solamente en pantalla, hay gente que se ha currado adaptadores para tener una mini consola portátil.

Instalación en Raspberry pi


Y otra opción, no por ser la última es la menos elegante viene a ser similar a la primera que he explicado, necesitaremos una raspberry pi , recomiendo la 3 que incluye wifi y bluetooth, aunque con las anteriores también funcionan, una tarjeta SD de 8 gigas, teclado  y monitor o televisión. Si tienes una raspberry pi de las primeras y no sabías que hacer con ella este es el proyecto.


Primero descargas la imagen de Retropie que necesites según la version de raspberry que tengas.


Si operamos desde Windows necesitaremos Win32DiskImager, para instalar la ISO en la tarjeta SD. Si lo hacéis desde Linux aquí tenéis una pequeña guía y desde Mac esta otra.


Podéis seguir esta guía de instalación, que explica paso por paso, una vez hayáis configurado el mando o en su defecto el teclado, entrar en el menú de configuración de  la raspberry pi.







Configurar el wifi si lo hubiera o bluetooth si es necesario. Interesa activar SSH , para poder operar desde otro ordenador.


Ahora nos faltan las roms, la versión del mame que instalada el Retropie no es idéntica al mame explicado anteriormente, aquí tenéis una lista de roms que son compatibles o no se han probado, como os recomendé anterior mente descargaros las  roms que os apetezca probar jugar.



¿Cómo poner las roms?, en la anterior guía había una explicación de cómo hacerlo, yo empleo  Winscp, creando una nueva conexión SCP con la dirección ip de la raspberry.


usuario: pi
password: raspberry







Las roms se guardan en la carpeta /home/pi/Retropie/roms/ en la carpeta que corresponda según la maquina Neogeo, Mame, Snes, Atari…


Las roms de Nintendo64 necesitan activar la aceleración 3D de la GPU, acto que nos deja sin retropié porque el menú no funciona con esa configuración, si queréis jugar a esas roms seguir esta guía de instalación, aunque deberéis instalar algún ventilador en vuestra raspberry pi, para evitar sobrecalentamiento,  obviamente me refiero al modelo 3 o la Zero.



Y ya no doy más la chapa, a jugar.




Anakleto.

3/25/2017

Achtung Cthulhu: Three Kings

Saludos,

hoy vengo a hablaros de Achtung Cthulhu  un juego de rol publicado por Modiphius, que salió de un Kickstarter allá por febrero de 2013, con diferencia uno de los proyectos más prolíferos de los que participado, bueno digo esto sin haber tenido tiempo aun de mirarme los 48 pdfs de Conan que me descargue hace poco también de esta gente.



Yo me pillé un básico con la “Guía del investigador” y “Guía del Guardián” en formato físico, el resto de contenido lo recibí en pdf. En la tienda Gigamesh de tanto en tanto iban trayendo algún modulo o guía y me hice con alguno. Básicamente y resumiendo mucho Achtung Cthulhu serviría como una ambientación para la llamada de Cthulhu durante la segunda guerra mundial.



En la guía del investigador tenemos un resumen de eventos producidos durante el conflicto, descripción de las habilidades y creación de personajes militares, de las diferentes países y agencias, británicas, francesas, alemanas, americanas, soviéticas etc. Incluso cabe la posibilidad de que el pj sea un excombatiente republicano en el exilio. Los años del conflicto son del 39 al 45, pero como se explica el Hellboy, la guerra no termino 45… Y menciono esto porque el cómic de Hellboy tiene el aire y estilo que creo ha de tener este juego, se le podría dar un estilo pulp o un estilo comando.




La creación del personaje la traduje casi entera, pero no la publique en su día porque había rumores que se iba a publicar en castellano, esos rumores se han confirmado y Achtung Cthulhu saldrá publicada por EDGE, las fechas ya son más complicadas de confirmar, AC está pensado para jugar con el manual de la llamada 6 edición. Como curiosidad tiene un par de campañas que tienen muy buena pinta, “Asalto a las montañas de la locura” y “Sombras del Atlantis” que sin habérmelas leído son dos campañas de más de 300 páginas tienen muy buena pinta.

Sobre aventuras hace un par de semanas dirigí “Three Kings”, es una aventura introductoria a la trama.




Verano de 1939, el tercer Reich ha tomado Checoslovaquia convirtiéndola en el protectorado de Bohemia y Moravia y sometiendo a la población. El gobierno de Checoslovaquia en el exilio, en Londres, está recibiendo informes por parte de los rebeldes de las actividades Nazis. Desde Londres, aun fuera del conflicto, están atentos a como se desarrollan los eventos. Entre los mensajes recibido hay uno de un tal ANGEL, que menciona que los nazis están realizando atrocidades en el castillo de Karlstein.

La sección D, un previo del MI6, decide enviar a cuatro valientes sobre el terreno para que contacten con la resistencia y averiguar que están realizando allí los alemanes y si está dentro de sus posibilidades tratar de sabotearlo.   




Esta es básicamente la introducción que dan a los jugadores, junto con unos mapas de la zona y poco más, el modulo viene con cuatro personajes pregenerados listos para jugar… Bueno quizá no tan rápido, uno de los personajes Killer, solo tiene dos habilidades, Artes marciales y esquivar… Luego enviar cuatro a un país extranjero y solo dos de ellos puedan hablar Checo o alemán respectivamente y el resto solo inglés es un tanto arriesgado, pero como resultado fue muy divertido y emocionante con final explosivo una partida para el recuerdo y con ganas de continuarla. Ahora me pondré con “Heroes of the sea” y de la lectura de ADIP he sacado unas cuantas ideas para aventuras  una de ellas llamada “Vampir  Sturm”.

Lo he recuperado tres años después de su salida, pero creo que puede dar muy buenas partidas, y la respuesta mi grupo ha sido muy bueno nos dio para una sesión hasta las 6 de mañana que no es poco.


Como aporte os dejo la hoja de personaje mal traducida que hice en su día, 


Anakleto.

3/14/2017

Intel Edison : Eddie Bot + APDS-9960 + Line Sensor

Saludos,

llevo unas semanas trabajando con este ordenador Intel Edison, y que decir… Algo sino no haría esta entrada. Para ser un ordenador en miniatura de 25x35 mm con un Dueal Core Atom a 500 Mhz y un MCU Quark SOC a 100MHz, con wifi, bluetooth, 40 GPIOs, un giga de RAM y 4 Gigas de memoria Flash. Lo que lo convierte en una pequeña joya muy potente quizá comparable con la raspberry pi 3 pero aun no la he probado.




Como ya mencione en otro hilo empleamos estas placas para desarrollar balancings como EddieBot, que es un proyecto muy bien desarrollado con un ajuste de PID  muy conseguido. Pero necesitamos más sensores, un sensor de distancia, un seguidor de línea y posiblemente un sensor de color.



Un sensor de distancia, normalmente usamos el  GP2Y0A21YK, pero funciona a 5V, Edison a 3,3V y necesitaríamos una placa ADC, pero mirando especificaciones podíamos emplear el sensor APDS-9960, funciona a 3,3V y por I2C pero no había driver para el Edison. Bueno no había, he adaptado el driver de Sparkfun, para el Edison. No he probado todas las funcionalidades pero funcionar funciona.





El segundo sensor es un seguidor de línea que usamos en la mayoría de robots para los cursos de robótica, pero en esta ocasión lo hemos hecho I2C con el PIC12LF1840, un prototipo de una serie de sensores que estamos diseñando para nuestros robots que funcionen por I2C.

No ha sido fácil, si bien el sensor funcionab sin problemas conectándolo a un arduino con el Edison, nos daba problemas al emplear la instrucción.

mraa_i2c_read(i2c,message,4); //4 bytes para dos valores de 16 bits de los sensores de linea.

La solución ha sido hacer.

void GetLineSensor(uint16_t * temp)
{
mraa_i2c_context i2c;
mraa_init();
 i2cline = mraa_i2c_init(1);
mraa_i2c_address(i2c, address);
int i;
uint8_t message[4]={0,0,0,0};
for(i=0;i<4;i++)
{
message[i]=mraa_i2c_read_byte(i2c);
i++;
}
temp[0]=(uint16_t)message[1]<<8;
temp[0]=temp[0]+message[0];
temp[1]=(uint16_t)message[3]<<8;
temp[1]=temp[1]+message[2];
 }


No es una solución muy elegante pero funciona.



Va un poco borracho ... Working progress...



Anakleto.