Clon de Nintendo con Raspberry Pi


Recientemente se celebró   el 25 aniversario de la célebre consola de  Nintenedo,  de modo que la comunidad  de aficionados  ha querido rendirle un homenaje   a este dispositivo de juego clásico,  mediante la construcción de su propia versión actualizada gracias a la impresión 3D y la electrónica de la Raspberry Pi.

La caja  recreada   a imagen y semejanza de la versión   original, esta vez  se obtiene  impresa en 3D  alojando todos los componentes,  permitiendo ademas  un personalización total , pues se puede imprimir en su color favorito.

Existiendo los mini ordenadores Raspberry Pi y siendo más que suficientes para hacer funcionar en ellos varios emuladores de consolas como NES, SNES o incluso MAME, era cuestión de tiempo que se iniciara un proyecto como PIGRRL,  nombre realmente curioso    pues  esconde el diseño de la primera consola portátil impresa en 3D que funciona mediante una Raspberry Pi, una pequeña pantalla TFT y un controlador compatible.

Esta es la lista de la compra  (coste total alrededor de 90€):

  • Raspberry Pi Model B  ( descatalogado) o  en su defecto Raspberry Pi 3 modelo B
  • PiTFT Mini Kit –( pantalla TFT  con sensor capicitivo  pero puede usarse sin el sensor)
  • Cable GPIO Pi –   ( también sirve un  viejo cable IDE de 23 pnes de  los  usados   en ordenadores )
  • PowerBoost 500 –  ( convertidor  DC /DC  con salida a 5V DC)
  • Micro Lipo Charger   (circuito de carga para la  batería)
  • SNES Controller –   ( si no se tiene se pueden usar 10 mini-pulsadores roscados normalmente abiertos)
  • 2200mAh 3.7V  ( bateria de litio)ry
  • Power slide switch – ( cualquier interruptor pequeño nos deberia de servir)

Por supuesto, una vez tengamos todo el material podemos ir imprimiendo nuestra carcasa portátil en forma de Game Boy donde acomodaremos la Raspberry Pi una vez esté completamente configurada.

Las piezas necesarias las podemos comprar online por unos 90€, a los que habría que añadir la tarjeta SD que elijamos, por menos del precio de una Nintendo DS tenemos miles de juegos gracias a los emuladores libres que podemos utilizar en la Raspberry Pi dentro de PIGRRL.

Veamos   los  pasos para la construcción de esta ingeniosa consola:

 

1-Descargar la caja de Raspberry Pi con forma de Game Boy

PIGRRL Raspberry Gameboy 3

 

Este proyecto consta de sólo dos piezas  que están optimizados para imprimir en cualquier impresora 3D FDM con un área de construcción mínima de 150mm x 150mm x 100mm.  

Para ello debemos descargarnos todos los archivos STL de DIY Raspberry Pi Game Boy en Thingiverse.

Piboy-top.stl
Piboy-bottom.stl
PLA @ 230
2 conchas
10% Infil
0,2 altura de capa
Velocidades de 90/120
Sin balsa
Sin soporte

Ajuste a presión :  Las dos piezas encajan juntas y se aseguran con tornillos philips.Los cargadores Raspberry Pi, PowerBoost 500 y Micro Lipo se montan en la parte piboy-bottom.stl con tornillos phillips # 6-32 x 1/2 ‘.

 

Los acabados en 3D dependen de cada impresión pero los diseños se han optimizado para ser impresos en ABS, al ser dos impresiones: parte frontal y parte trasera, de modo que podemos tener una Game Boy de dos colores .

 

 

2-Ensamblaje

Una vez descargado el modelo 3D de Game Boy para PIGRRL deberemos proceder al montaje, para ello requeriremos un soldador, todos los componentes citados  y pro supuesto algo de perseverancia ya que toca cablear a mano todo el proyecto.

Todos los diagramas simplificados y una clara explicación del proyecto se pueden encontrar en esta guía de Adafruit   paso a paso  , pero para entender  el montaje  mejro resumiremos  las partes mas importantes para que  el lector se haga una ideal del montaje  final

La siguiente ilustración es una referencia del circuito de alimentación y los botones del controlador de juego cuyos circuitos impresos se han reciclado de un viejo mando . La posición de los componentes no es exacta y tampoco esta  a escala.Si no se tiene un viejo mando obviamente se pueden usar pulsadores roscados ( aunque no quedara tan realista)

Gaming_circuit-diagram.png
Circuitos de potencia
La carga de la batería se realiza mediante uno de los circuitos que soldaremos y dado el mínimo consumo de la Raspberry Pi pronto comprobaremos que podemos jugar muchas horas al MAME con PIGRRL.
Utilizaremos una batería recargable grande para alimentar el PiGrrl durante unas horas! Para mantener la batería recargada, utilice una tarjeta MicroLipo o MiniLipo (que son lo mismo básicamente, sólo uno tiene un microB toma, el otro tiene una toma de miniB)
Lo bueno de esta batería es que es bastante pequeña y densa, pero es  de 2.7V  ( y NO  de 5V ) asi que se se usa  un convertidor cc/cc para elevar a 5V.

El convertidor  es  un PowerBoost500 que puede aumentar el 3.7V hasta  5V para alimentar a la RPi

Cuando la batería cae demasiado bajo, se encenderá una luz roja en el PowerBoost para avisarle que debe recargar la batería.

Usted puede recargar y jugar al mismo tiempo

Circuitos del teclado

Con el fin de hacer que la almohadilla de control se sienta como el original, vamos a “reciclar” un controlador SNES. Al abrirlo y cortar el PCB podemos reutilizar los elastómeros de goma y los botones.

La forma en que funciona el teclado es súper simple. Cada elastómero tiene un pedazo de material conductor en la parte posterior. Cuando presiona hacia abajo en la PCB, pone en cortocircuito dos cojines de oro juntos. Una almohadilla está molida, la otra almohadilla es la señal. Reutilizaremos el código GPIO de CupCade para que cada pad sea un pin RasPi. Cuando el pin se pone en cortocircuito a tierra, vamos a generar una pulsación de tecla

Gaming_diagram-buttons.png
Su teclado puede ser un poco diferente mirando pero no se preocupe  pues basta con trazar el cobre para identificar la traza de tierra común para cada conjunto de botones
A continuación se muestra una lista de conexiones de Raspberry Pi que se conectarán a los botones correspondientes. 1-26 son el número de cables en un haz de cables Pi, siendo 1 el cable blanco (tierra). No nos conectamos a los últimos 6 pines, ya que se utilizan para la pantalla PiTFT!
  1. n/c – not connected (3v3)
  2. connect to output of PowerBoost500 (5v0)
  3. LEFT BUTTON (SDA)
  4. n/c (5v0)
  5. RIGHT BUTTON – (SCL)
  6. connect to ground of boost (GND)
  7. DOWN BUTTON (GPIO #4)
  8. n/c (TXD)
  9. connect to ground on Dpad (GND)
  10. n/c (RXD)
  11. UP BUTTON (GPIO #17)
  12. START BUTTON (GPIO #18)
  13. A BUTTON (GPIO #27)
  14. Select/start ground pad (GND)
  15. B BUTTON (GPIO #22)
  16. SELECT BUTTON (GPIO #23)
  17. n/c (3v3)
  18. n/c (GPIO #24)
  19. n/c (MOSI)
  20. AB BUTTON ground pad (GND)
  21. n/c
  22. n/c
  23. n/c
  24. n/c
  25. n/c
  26. n/c

 

Para conectar Al GPIO lo mejor es usar un conector de 26 pines ( de los  usados en los conectores IDE de los HDD) . Retire los cables # 1, 4 , 8 , 10 , 17 , 18 , 19 . ¡No necesitaremos éstos también, así que recórtelos abajo!

Gaming_cut-wires-4_8_10_17_18_19-too.jpg

Estas  son las conexiones  a realizar

  • Izquierda DPad :Alambre de soldadura # 3 al botón izquierdo en el rastro expuesto del PCB de DPad. Hay un pequeño agujero que puedes enhebrar el cable.
  • Derecho DPad :Alambre de soldadura # 5 al botón derecho del PCB de DPad.
  • Abajo DPad ;Añada el alambre # 7 al botón de desconexión de la PCB de DPad. Pinzas son útiles durante la soldadura!
  • DPAD común :Alambre de soldadura # 9 a la mas de la DPad.
  • Up DPad :Alambre de soldadura # 11 al botón de arriba de la DPad.
  • Botón de inicio:Alambre de soldadura # 12 al botón de arranque en la PCB de arranque + seleccione.
  • Un botón :Solde el alambre # 13 al botón A en el A + B PCB.
  • Inicio Común + Seleccionar :Alambre de soldadura # 14 al suelo de la PCB de arranque + seleccione.
  • B Botón:Solde el alambre # 15 al botón B en el A + B PCB.
  • Botón Seleccionar:Solde el alambre # 16 al botón de selección en la PCB de Start + Select.
  • Común A + B: Alambre de soldadura # 20 a la tierra común del A + B PCB.
Gaming_Wire-_20-AB-ground.jpg

 

Como vemos el montaje de esta videoconsola impresa en 3D es relativamente simple  y quizás lo mas  laborioso  sea  las conexiones de los pulsadores realizando  las soldaduras y asegurándonos eso si  de que los cables son suficientes para que todo encaje en la propia carcasa.

raspberry pi game boy

Montada la energía  y los controles   ya solo queda montar la  pantalla  y la propia Raspberry Pi

Pantalla  PiTFT Mini Kit
Gaming_screen-solder-front.jpg

 

El  kit de pantalla táctil de 2.8 ‘incluye los extras que se necesita para montar la pantalla. Sólo necesita soldar los cabezales extraxuales macho y hembra 2×13 a la PCB. Asegúrese de revisar la  guía paso a paso haciendo clic en el enlace de abajo!

Sugerencia de montaje; Aquí está una extremidad rápida en soldar esas cabeceras. Si tienes algo divertido, coloca un poco de tac en los lados de los cabezales para mantenerlos en su lugar mientras suelda y lo retira cuando hayas terminado.

 

 

3-Configuración de la tarjeta SD

Puesto que estamos usando la misma configuración de controlador en el CupCade también vamos a utilizar la misma imagen de tarjeta SD! Descargue esta imagen que tiene soporte NES

Este es un archivo grande (alrededor de 840 megabytes) y tomará un tiempo para transferir.

Después de descargar, la imagen del disco necesita ser instalada en una tarjeta SD (4 GB o más). Si eres nuevo en esto, el proceso se explica en Adafruit’s Raspberry Pi Lesson 1 .

4-Configuración de Pi

Conecte un teclado al PiTFT + Pi e inserte la nueva tarjeta SD CupCade.
El Pi puede arrancar y reiniciar para terminar la configuración (como expandir la imagen)
Una vez que arranque el Cupcade usted notará que la pantalla es vertical. ¡Tiene que girar la pantalla!

Pulse Alt-F3 para abandonar el software GAMERA y el shell. Inicie sesión con pi / frambuesa y edite /etc/modprobe.d/adafruit.confcon sudo nano /etc/modprobe.d/adafruit.conf

Y cambiar la línea fbtft a esto:

options fbtft_device name=adafruitts frequency=80000000 fps=60 rotate=270

 

A continuación, sudo reiniciar para que la nueva rotación activar!

Siempre se puede cerrar con un teclado conectado escribiendo ESC que saldrá del emulador / GAMERA

5-Cargar ROMs

Su PiGrrl puede ejecutar MAME ROMs, así como NES!  Haydocumentación sobre cómo instalar ROMs en la página tutorial de cupcade

Para ROMs MAME, ¡sólo podrás jugar con estilos “horizontales / paisajistas”!

Para ROMs NES, necesita utilizar el formato de archivo .nes (no .ZIP!) Y colocarlos en la ruta de directorio siguiente.

~ / BOOT / fceu / rom 

Todas las ROM de NES deben estar en esta carpeta para que el emulador los ejecute.

 

Uan vez creada la imagen de ls SD , insertela  y pruebe el circuito con un micro cable USB conectado al puerto micro USB del Raspberry Pi. Conecte un teclado USB al lado del Pi para la entrada.

El PiTFT debería arrancar en la ROM del juego de   Aggregator

Recuerde que tiene que configurar la rotación de la pantalla para que sea 270 así que comprueba el paso anterior si aún no lo has hecho!

Coloque la junta de elastómero D-Pad sobre el PCB y coloque la parte de plástico en la parte superior. Presione el D-Pad hacia arriba y hacia abajo para probar una conexión sólida. Añadir el resto de las juntas de elastómero y seleccionar un juego para jugar la prueba.

Ejecutar Mario o algo similar para probar la latencia. Puede ser un poco difícil de jugar con las gomas asi  pero se sentirá más natural con la parte superior  montad  así que una vez probado todo ya es momento de terminar de montar todo  y cerrar  la caja.

raspberry pi game boy 2

Vemos el aspecto final donde quizás destaque  la tarjeta SD insertada , pero  lo cierto es que es una consola portátil mucho más versatil que la Nintendo DS o incluso la Playstation Vita, no es especialmente más potente pero dado su espíritu open source seguro que encontraremos decenas de emuladores que hacer funcionar con ella.

Además, podemos acompañarla con un mini teclado inalámbrico para poder realizar todo tipo de tareas con ella en cualquier lugar, aunque la pantalla sea táctil

En el siguiente vídeo de Adafruit podemos ver resumidamente el proceso de montaje completo para hacernos una idea completa de  lo relativamente sencillo que es el proceso de su construcción:

 

 

Como muchos de los proyectos que vemos realizados con impresoras 3D PIGRRL es completamente opensource y tenemos las instrucciones de montaje a nuestra disposición.

 

Imágenes de Adafruit y usuarios de Thingiverse

Anuncios

Reparar una nike+ sportband


El sensor Nike+ recopila información sobre sesiones de carrera o caminatas  enviando  esa información a un receptor, como pueden ser : un iPod, iPhone o  Nike+ SportBand, que  permiten registrar la distancia, el tiempo, el ritmo y las calorías consumidas.

 

 

El sistema Nike+ se basa en colocar o fijar dicho  sensor correctamente en las zapatillas Nike, fabricadas especialmente para el dispositivo ( es decir con la plantilla preparada para albergar el sensor), o bien de otra marca a través de un soporte(como vamos a ver) : una vez en el lugar, el sensor funcionara de forma automática.

Los pasos para conectar este sensor son los siguientes:

  • Quitar la plantilla del zapato izquierdo de cualquier par de zapatillas Nike para acceder al compartimiento que puede contener el sensor.
  • Colocar el sensor en el compartimento con los logotipos hacia arriba y luego vuelve a colocar la plantilla. De este modo el sensor estará en su lugar y listo para funcionar.
  • Fijar el sensor a una zapatilla que no sea Nike también es posible  usando uno de los muchos métodos caseros:
    •  Cortando un agujero del tamaño del sensor en la suela interior de la zapatilla izquierda, imitando la cavidad que puede encontrar en una zapatilla Nike, desliza el sensor en los cordones en la parte superior de la lengua de la zapatilla o
    • Adhiriendo el sensor a la parte superior de la misma con cinta adhesiva.
    • Comprando un soporte de terceros para mantener el sensor en su lugar en una zapatilla que no sea Nike de modo que el sensor se adapta en una bolsa que se coloca en los cordones de las zapatillas y se mantiene cerrado con Velcro    como el siguiente diseño    que puede comprarse por unos 12€                                                                nikess
    • Las posibilidades son infinitas, pero debe tener varios puntos importantes en mente para garantizar resultados precisos: el sensor debe estar colocado con el logotipo hacia arriba en la zapatilla izquierda, y  debe estar  fijado  firmemente en su lugar, y debe colocarse bastante paralelo al suelo.
  • Moverse  para activar el sensor, el cual automáticamente comenzará a transmitir cuando detecte el movimiento, y dejará de transmitir cuando no lo haga.
  • Apagar la batería del sensor presionando el botón en el lado opuesto del logo y manteniendo pulsado el botón durante tres segundos. Esto sólo debería ser necesario cuando se pasa por la seguridad del aeropuerto y en los aviones, de acuerdo con Nike y Apple, ya que la batería entra en modo de espera automáticamente  cuando no está en uso. Si desconecta la batería, recuerda que deberás activarla antes del próximo uso. Nike y Apple recomiendan hacerlo presionando el mismo botón con un clip o un bolígrafo.

El sensor  Nike +  es pues el elemento que  facilita el seguimiento de  tiempo, distancia, ritmo y más mientras corre  para después al conectarlo al ordenador  sube los datos de ejecución a Nikeplus.com, el club más grande del mundo, donde se puede  supervisar el progreso, unirse a retos, asignar  carreras y conectarse con  amigos.

Inicialmente lanzado para correr en 2006, la comunidad Nike + ha crecido para incluir aproximadamente 7 millones corredores. Desde sus inicios, Nike + ha ampliado en un ecosistema deportivo que incluye baloncesto Nike +, Nike + y el recientemente lanzado Nike + Kinect. Los atletas de cualquier nivel pueden encontrar una gran variedad de productos que incluyen una nueva gama de colores en el Nike + SportWatch GPS Powered by TomTom y el Nike + FuelBand, Nike + Sportband Nike + corriendo aplicaciones y nano iPod con Nike +. Los usuarios deportivos pueden visitar solo destino nikeplus.com para acceder a todos sus datos incluyendo NikeFuel puntos acumulados de todos los dispositivos de Nike +, creando una comunidad globalmente conectada del deporte de por vida (para más información: http://www.nikeinc.com/news/nikeplus-experience)

 

El sensor se vende de forma individual, por lo que es ideal si tiene que reemplazarlo,  o  para un segundo par de zapatos listos para Nike + o necesita conectarlo a su dispositivo Apple.

Este sensor mide ritmo, distancia, tiempo transcurrido y calorías quemadas enviando la información   mediante un enlace  de  radio a un receptor qeu en principio solo puede ser gestionado por dispositivo  compatible con tecnología  Apple como son 

  • Nike + SportWatch GPS alimentado por TomTom (sensor incluido y opcional);
  • Nike + SportBand (sensor incluido);
  • IPod nano ® y receptor Nike +;
  • IPod touch ® 2G;
  • IPhone 3GS ®
  •  iPhone 4 ®

La información pues  se transmite de forma inalámbrica a su dispositivo para obtener una retroalimentación en tiempo real  en alguno de los dispositivos  anteriores ,mientras se entrena.

En teoría se debe adquirir un nuevo sensor de Nike+, cuando se recibe un mensaje de que la batería se está agotando. De acuerdo con Nike, la batería tiene una duración de cerca de 1000 horas de “uso activo”, y enviará una señal de batería baja a su receptor aproximadamente dos semanas antes de que se quede sin energía. Si bien Nike y Apple dicen que la batería no es reemplazable y un nuevo sensor completo debe ser comprado, el proceso  que vamos a describir para la Nike+ sportband  iigualmente ,tambuen   puede ser replicado para este a fin de reemplazar  la batería del propio sensor:

  • Cortar el sensor  entre caja blanca  y la naranja con un cutter
  • Abir finalmente el sensor  con cuidado
  • Medir con un polimetro la tensión de la batería
  • Eliminar la vieja  batería  y reemplazarla por una nueva
  • Pegar para remover y reemplazar la batería.

 

 

Nike +sportand

Anteriormente a este  dispositivo  se necesitaba un Ipod o Iphone  para capturar  y procesar la información procedente del sensor Nike+  ,pero  desde que  Nike saco esta banda deportiva ,  se dejo de necesitar  todo ello , bastando tan solo en esta banda  que  pesa unos 23 gr más el peso de su sensor 6,5 gr así que todo en conjunto 28 gr lo que es muy ligero

Para monitorizar la actividad  basta pulsar el botón de inicio de la Nike+ SportBand y ya se puede correr almacenándose la información de cada carrera en la propia  banda ademas de poder ser visualizada  informando del ritmo o velocidad, los kilómetros, el tiempo transcurrido (crono a modo reloj) y las calorías que se queman y todo para consultar al instante.

La pantalla de la Nike+ SportBand está diseñada para llevarse cómodamente en la parte interior de la muñeca ,lo cual es muy importante porque se tiene visibilidad en cualquier momento de la carrera.

El dispositivo USB está integrado en el frontal de la pantalla, pero se puede extraer a través de la correa de la Nike+ SportBand, de forma que puede conectarse fácilmente a un ordenador como si fuese una memoria extraible o un pen drive  sirviendo tanto para cargar al batería de 60mAh como para enviar la información almacenada al ordenador   que permite  comunicarse con corredores de todo el planeta en nike plus,habiendo herramientas para motivar  ,con un panel que muestra cómo corren los miembros comparándolos con otros del mundo.

 

Después de algunos años de uso , es normal que la batería termine agotándose , llegando incluso el extremo de que al intentar cargarla via usb  , aunque en el display aparezca FULL, lo cierto es que al soltarlo de usb ni siquiera aparezca  nada en pantalla signo de que realmente la batería esta inservibles

 

Aunque el dispositivo en teoría es irreparable al estar sellado herméticamente , lo cierto  si es posible repararlo como vamos a ver  a continuación :

Cortar entre la unión de las partes superior e inferior con un cutter teniendo un cuidado especial de no penetrar en el interior rompiendo la electrónica

img_20161120_1758301

Una vezse  haya conseguido practicar una abertura ,abrir finalmente la caja  con mucho cuidado.

 

 

img_20161120_1759211

Ahora abierta la tapa con mucho cuidado soltar el cuerpo con toda la electrónica

 

 

img_20161120_1800021

 

Nos vamos a centrar ahora en el cuerpo :

img_20161120_1802281

 

En l cuerpo todavía hay 4 tornillos que fijan la placa  al lcd.

img_20161120_1808541

Quitado los 4 tornillos ,tener un cuidado especial con el cable de cinta del lcd

img_20161120_1810231

Ya vemos el modelo de la batería incluida  :251214.

Ahora soltamos la batería por completo y medimos con un polímetro la tensión de la batería (si no se enciende el lcd  habrá una tensión muy baja)

 

img_20161120_1811221

 

Si la tensión es inferior a 3V  debemos eliminar la vieja  batería  y reemplazarla por una nueva del mismo modelo  que podemos localizar por Internet en portales asiáticos.

La  batería  incluida  es de polímero 3.7 V con  tensión de carga: 4.2 V y lo importante para reemplazarlo es utilizar el mismo modelo :251214, Estos modelo  son muy usadas en  MP3/MP4, Bluetooth/GPRS/GPS del teléfono móvil, PDA, juguetes pequeños, cámaras y cámaras digitales y otros productos digitales.

251214

 

Alguna características principales de este modelo:

  • Tensión media es superior a 3.7 V,
  • Tiempo de carga rápida
  • Buena seguridad, con más de protección de la carga, protección de sobre-descarga, sobre la protección actual
  • Protección del IC parámetros de la tecnología: sobrecarga de voltaje 4.20 V 0.05 V
  • Sobre-descarga la protección del voltaje 2.7 V 0.1 V
  • Protección actual 3.0 1.0A (2.7 V ~ 4.25 V)
  • Temperatura de descarga:-20 C ~ + 60 C
  • Alta densidad de energía
  • Largo ciclo de vida
  • Alta capacidad
  • Baja resistencia interna
  • Funcionamiento estable: largo ciclo de vida: 500 continuo de carga y descarga, la capacidad de la batería no es menos del 80% de la capacidad nominal.
  • No tiene efecto memoria: en cualquier momento para cargar y descargar
  • Seguridad: circuito incorporado junta de protección Seiko no tiene fuego en corto circuito, sobrecarga, sobre descarga, choque, vibración, acupuntura, calor, y otros estados, no explosión y así sucesivamente.

 

Una vez conseguida la batería de recambio, desoldaremos la antigua, soldaremos la nueva respetando la polaridad y haremos los mismos pasos descritos anteriormente pero, a la inversa:

  • Ubicaremos la batería dentro de la carcasa,
  • Colocaremos los 4 tornillos
  • Atornillaremos estos a la caja.
  • Fijaremos el mecanismo a la caja inferior  ,
  • Colocaremos la tapa
  • Cerraremos el conjunto ,
  • Debemos volver a sellar la unión con pegamento  o con silicona

Es sorprendente la sensación de volver a ver funcionando un dispositivo que según el fabricante debería desecharse cuando en realidad puede tener una vida aun mas larga

 

Manejo de un robot con node.js


Node.js es un entorno en tiempo de ejecución multiplataforma de código abierto  para  servidor , aunque como vamos a ver,  se puede usar para otros propósitos . Fue creado con el enfoque de ser útil en la creación de programas de red altamente escalables, como por ejemplo, servidores web. 

Es un lenguaje de programación ECMAScript, asíncrono, con I/O de datos en una arquitectura orientada a eventos y basado en el motor V8 de Goog asi que desde este punto de vista Node.js es similar en su propósito a Twisted o Tornado de Python, Perl Object Environment de Perl, libevent o libev de C, EventMachine de Ruby, vibe.d de D y JEE de Java existe Apache MINA, Netty, Akka, Vert.x, Grizzly o Xsocket.

Como nota  muy diferenciadora,al contrario que la mayoría del código JavaScript, no se ejecuta en un navegador, sino en el servidor.

Asimismo Node.js implementa algunas especificaciones de CommonJS   e  incluye un entorno REPL para depuración interactiva

Tal es la potencia de  Node.js  que ya existen plataformas basadas en este entorno para intereactuar con placas como Arduino ,Linino. Intel Edison, Raspberry pi,etc  en aplicaciones de Robotica o plataformas de IoT

Johnny – Five    es una Plataforma JavaScript Robótica  e  IO  lanzada por bocoup en 2012  y mantenida por una comunidad de desarrolladores de software apasionados e ingenieros de hardware (más de 75 desarrolladores han hecho contribuciones a la construcción de éste).

onny

Como  ejemplo de “Hola Mundo”  con un LED parpadeante sencilla , el  siguiente ejemplo para Arduino nos muestra lo sencillo que es hacerlo en el entorno de Johnny Five :

 

var five = require("johnny-five");
var board = new five.Board();

board.on("ready", function() {
  var led = new five.Led(13);
  led.blink(500);
});

 

  • Ejecute el  códido Run: npm install johnny-five

 

Como ejemplo mas avanzado en el repositorio de github  (https://github.com/stylixboom/lr_motor ) Siriwat Kasamwattanarote   nos ensela  como podemos  controlar  un coche de juguete  directamente a través de SSH  (mediante  el terminal)  usando  Node.js.

Desde SSH no  se aceptan 2 teclas de flecha al mismo tiempo, es por eso que la forma en que gira a la izquierda / derecha no es tan suave (al cambiar las dos teclas en consecuencia) pero el funcionamiento es muy fluido

Los requerimientos son los siguientes:

 

Este proyecto es pues aprender a controlar dos motores ( izquierda – derecha) mediante el uso de la Raspberry Pi . El código proporcionado  está escrito en Node.js , y requiere un paquete de ‘ Pigpio ‘ para  acceder al puerto GPIO en la Raspberry Pi . ‘ Pulsación ‘ es escuchar a la entrada de teclado de la tecla de flecha ( arriba-abajo – izquierda – derecha) .

Este experimento apoya dos controladores de motor diferentes :

  • Toshiba – TB6612FNG Texas Instruments
  •  L293D

Notas:

-TB6612FNG es más eficiente , pero más caro (unos  10 $ ) , y se necesita soldadura .

 

TB6612FNG
Ref: http://www.robotshop.com/media/files/PDF/Datasheet%20713.pdf
Truth table
Input                           Output
IN1     IN2     PWM     STBY    OUT1    OUT2    Mode
H       H       H/L     H       L       L       Short brake
L       H       H       H       L       H       CCW
L       H       L       H       L       L       Short brake
H       L       H       H       H       L       CW
H       L       L       H       L       L       Short brake
L       L       H       H       OFF(High ohm)   Stop
H/L     H/L     H/L     L       OFF(High ohm)   Standby

-L293D es mucho más barato ( $ 0,6 ) y más fácil de utilizar con una placa.

L293D
Ref: http://www.robotplatform.com/howto/L293/motor_driver_1.html
Truth table
Input                   Function
PWM     IN1     IN2    
H       H       L       Reverse
H       L       H       Forward
H       H       H       Stop
H       L       L       Stop
L       X       X       Stop

En caso de usar la primera opcion , este es el esquema seguido: 





Una vez montado el circuito y ya vez tenga el código descargado  (https://github.com/stylixboom/lr_motor)  ,simplemente para ejecutarlo use :

                        $ sudo node app_t.js

Finalmente en el vídeo que os dejo a continuación podemos ver el conjunto del  robot utilizando una Raspberry Pi combinando NodeJS y el controlador de motores. .

Construcción de un droide casero


Para los amantes de Star Wars, si se tienen las ganas  y el tiempo suficiente  también es posible  crear su propia versión de un BB8 en tamaño real usando materiales reciclados.De hecho debido a la limitación de materiales, el autor recurrió a su ingenio usando muchos materiales que encontró a su alrededor como por ejemplo desodorantes roll-on como rodamientos de bolas, de lona como fibra de vidrio, bolas de Navidad como el ojo & etc ..).

Puede parecer poco ortodoxo pero haciendo uso de estos materiales el enfoque en la construcción del proyecto no requiere  impresoras 3D,  CNC o fresadoras.

El androide puede ser controlado por cualquier smartphone y ademas también habla . El diseño del conjunto además el autor decidió limitarlo a $ 120, para que sea más barato que el juguete esfero .

Mas concretamente el autor uso para el cuerpo  del  droide los siguientes materiales:

  • Pelota de playa inflable ( diámetro: 50 cm)
  •  Antiguo Periódico
  •  Llanura de tela de lona
  •  2 botellas de cola blanca ( a.k.a pegamento Elmer )
  • 1 Botella de Woodglue
  •  Negro, gris y naranja ( mandarina ) pintura de aerosol
  •  Roll-on Desodorantes

Y para la cabeza de BB8  los siguientes:

  • Espuma de poliestireno de la bola ( diámetro: 300 mm / 12 pulgadas )
  • Bola de Navidad ( tamaño de un ojo BB8 )
  • Una  antena de WiFi ( Prop solamente)
  • Paños Percha
  • Roll-on Desodorantes
  • Negro, gris y naranja ( mandarina ) pintura de aerosol
  •  Super pegamento
  • Imanes de neodimio

Por supuesto también  hará falta de una mínima  electrónica para gobernar el droide :

  • Arduino Uno
  • Pololu Dual VNH5019 Motor Shield
  • 2x Pololu (19:1) 37D Metal Gearbox
  • Módulo Bluetooth HC05
  • Pack de 4 Cell batería de litio ( 2x )
  • Interruptor,jack  DC  , cable s , estaño para soldar,tec

Aparte de ser muy espectacular  BB8 también tiene un diseño muy interesante de construcción  de modo que uno  no puede dejar de preguntarse cómo funciona este droide

Realmente tomó un poco de ingeniería avanzada y una mente creativa para inventar una cosa así. La idea de cómo funciona el mecanismo, implica en gran medida los conceptos de la física y la electrónica. Todo es cuestión de mantener simpre estable el  centro de gravedad. El diseño BB8 original que se utilizó forma la película, utiliza un diseño de rueda de hámster. Básicamente, hay un robot de dos ruedas rodando dentro de una esfera. La cabeza se mantiene pegada  gracias  a la presencia de imanes.

 

Además, este sitio web explica muy bien, cómo funciona BB8! (http://www.howbb8works.com/ )

Para el cuerpo el autor coloco tiras de papel de periódico en la superficie de la pelota de playa  con su mezcla de pegamento. Básicamente es como una enorme piñata utilizando  la pelota de playa como  molde para el papel maché.

Para acelerar el proceso  adema se puede  utilizar un secador de pelo para acelerar el proceso de secado. O tal vez encender  un ventilador eléctrico para el papel maché y  dejar secar durante la noche.

Sobre el papel ya seco se pude poner  fibra de vidrio o lienzo normal en lugar de la fibra de vidrio. El lienzo se endurece muy bien y funciona como un buen papel maché. (Cartón tela)

Para el proceso de alisado se hace con una multiherramienta con el accesorio de lijar y  una lata de masilla de madera cuidadosamente aplicándolo sobre la superficie exterior del cuerpo de BB8 usando un aplicador de metal para hacer el trabajo. La masilla llena los vacíos.Cualquier exceso de masilla será eliminada después del proceso de lijado.

Una vez seca la masilla el autor lijo  la superficie del cuerpo del BB8 utilizando  un grano grueso (100-400 grit) de papel de lija.

Lijado el cuerpo utilizando videos e imágenes de la red como nuestra referencia dibujo formas circulares mediante el uso de una brújula. Mientras que las líneas rectas que cae sobre la superficie curva del cuerpo pueden ser rastreados con cinta métrica de sastre. Una vez perfilado el autor pintó el cuerpo de BB8 con 3 colores diferentes de pintura en aerosol: blanco, gris y naranja.

Respecto a la cabeza, mide  30 cm de diámetro. Básicamente se trata de una cabeza semicircular con un borde biselado, un poco fuera de la mediana. Se pude utilizar un contenedor de basura como una plantilla, a continuación, utilizar un marcador para marcar su recorte y una sierra para cortar la pelota de espuma de poliestireno en la mitad (casi la mitad).Puede reducir el peso de ahuecamiento la parte interna de la pelota o mediante la fusión / quema de la espuma de poliestireno usando un soplete o un encendedor.Una vez aplicada masilla el autor también pintó la cabeza de BB8 con 3 colores diferentes de pintura en aerosol: blanco, gris y naranja.

BB8  tiene dos antenas: Una es una antena inopertiva de WiFi caliente pegada a la cabeza. Por la otra antena, se utilizó un alambre sólido blanco.

BB8 tiene un mecanismo magnético que mantiene la cabeza erguida. Él tiene una interna y externa. En este  diseño, el autor ha pegado en caliente de cuatro desodorantes roll-on (como  improvisadas rodillos) en una placa de madera redonda. A continuación se adjunta un servo con dos grandes imanes que se le atribuye. La placa está montada a la base con cuatro árboles de madera alargados.

Mecanismo 

Se utiliza una madera MDF de 1/4 del grosor de la base del mecanismo robótico dentro del cuerpo de BB8.

En cuanto a la  batería es una de 4 celdas construida en base de  cuatro baterías 18650 (3.7v 2000 mAh) de iones de litio en serie. 18650 baterías recargables son muy baratos y comunes hoy en día. Hizo dos conjuntos de éstos y los conectó en paralelo que dan un total de 14,4 V (4,000mAh)

Ya solo queda montar la caja de engranajes de metal junto con los soportes en la plataforma de MDF / madera utilizando tuercas y tornillos .

Gracias a una aplicación de teléfono a través de Bluetooth se envían caracteres cada vez que se pulsa un botón. El módulo Bluetooth recibe los datos mientras que el Arduino interpreta y procesa estos datos. El Arduino envía señales al blindaje del conductor del motor para dar una señal de ir por la conmutación de los motores.

Solo nos queda montar el Arduino a la plataforma, enchufar el controlador del motor Escudo encima del Arduino,conectar los cables del motor izquierda a M1A y M1b,conectar los cables del motor derecho de M2A y M2B y finalmente las   baterías Ion-Litio

Para terminar tenemos que conectar el modulo de bluetooth al escudo de Arduino:

 

bluettooth

Y  solo queda programar Arduino . Antes de cargar el código / programa para la placa Arduino Uno, asegúrese de instalar el controlador de biblioteca de Pololu motor. También, por favor no se olvide de desconectar las líneas TX-RX del módulo Bluetooth desde el Arduino. Esto se hace para evitar que el módulo Bluetooth de interferir con el Arduino durante el proceso de programación.

No sabe cómo instalar una biblioteca de Arduino? Encontrar las instrucciones aquí! ( Haga clic en mí ).

 

El autor ha usado  una  aplicación de teléfono  llamada  ‘Arduino Bluetooth RC Car’. Es una aplicación muy fácil de usar.

Cómo usarlo:

  • Descargar la aplicación de la forma de Play Store / itunes.
  •  Poner en marcha la aplicación
  • Abra la ventana de configuración (icono de llave inglesa)
  • Toque; conectar.
  • Seleccione HC-05 (El nombre del módulo Bluetooth)
  •  La luz roja cambiará a verde una vez que se establece la comunicación BT.

 

!Y con esto ya estaría listo el droide!

Si quiere ver el proceso completo puede ver el siguiente vídeo de construcción de droide:

 

 

Es un proyecto grande pero todo está explicado gracias a Instructables y el vídeo anterior  de YouTube . Si cree que no es posible, en el siguiente vídeo puede verlo en acción:

 

Fuente   aqui 

Una nintendo mejorada gracias a una Raspberry pi


Vermy   nos muestra como a veces como con un poco ingenio  ,tesón y muchísimo trabajo  se pueden crear cosas  increíbles, en esta ocasión  construyendo  una computadora de mano utilizando una Frambuesa Pi cero y un original DMG – 01 Game Boy .Es tan pequeña que Vermy, el autor de este proyecto, ha conseguido modificar una Game Boy original pero con un acabado realmente espectacular utilizando una Raspberry Pi Zero.

El cableado ,que muy pronto   vamos a ver , es una auténtica locura , pero desde luego   hasta que se enciende, exteriormente  no se  pude saber que es una Game Boy modificada ,gracias al gran trabajo de re-acondicionamiento de la vieja electrónica de los años 70   por la nueva de este siglo.

Realmente ademas de  usar la misma caja , ha aprovechado muchas de las partes como los pulsadores, cruceta, el jack de audio para los cascos y el altavoz interno.

Ademas  ,para dar mas realismo ,también  ha cableado de forma muy ingeniosa el cartucho original para alojar la micro SD de la Raspberry Pi Zero.

 

Veamos los pasos  básicos que ha seguido en su construcción:

En primer lugar se  usa la placa  de los pulsadores , usando el autor ​​cinta de cobre para agregar un par de almohadillas de botón extra . Dos tiras paralela ssuficientemente cerca de cobre son suficientes para que cuando la placa del botón haga contacto , se cierre la conexión.

 

pi1

 

Ahora le toca el montaje del interruptor de alimentación y de carga micro USB que se muestra a continuación:

 

pi2

Se muestra el montaje de la  nueva  pantalla, la tarjeta de conexión   de los pulsadores( con las conexiones extra )   y el altavoz.

 

pi3

 

La pantalla seleccionada es lo suficientemente grande  por lo que el autor tuvo que quitar los topes  de los tornillos superiores . Se pega con epoxi para unir los topes de los tornillos originales a una pieza de metal que ha pegado a la caja por encima de la pantalla, por lo que todavía puedo utilizar los orificios de los tornillos originales,

 

pi4

Ahora toca el cartucho

Básicamente ha modificado un cartucho original de Game Boy para actuar como un adaptador de tarjeta SD para la Pi , para que pueda tener la misma satisfacción de poner un cartucho en la alimentación y en que lo haría en una Game Boy regular.

Podemos   ver el cableado del cartucho de juego modificado, donde desde lueho al cerrar  el cartucho desde luego no se nota para nada la modificaicon

pi5

Ahora  viene el lío  , toca  cablear  el lector de  cartucho para los contactos  de tarjetas SD en la parte posterior del Pi cero .

 

pi6

 

!Fin !  Sólo  toca arrancar el Pi a través del cartucho de tarjetas SD por primera vez …

pi7

¡Funciona! El autor descubrio  que cuando tuvo la carcasa cerrada  provocó que los cables del lector de tarjetas  presionasen  contra   el lector de tarjetas SD , lo cual demostro quue éste era bastante poco fiable . Como  falló al arrancar a veces , dando errores de lectura cuando se cargan grandes juegos, etc. añadió un poco de blindaje alrededor de los cables del lector de tarjetas SD , y sin entonces  quedo solucionado el problema.

 

Ahora finalmente ,  toca montar todo  el conjunto:

pi8

Se puede  ver los controles que están cableados hasta un Teensy LC , que solo se muestra como un teclado para la Pi .

pi9

Vemos ahora el concentrador USB con adaptador Blutooth , con botones en la parte superior para controlar el brillo, el contraste y el color de la pantalla . pi10

!!Es  un trabajo realmente espectacular!!!   y que podemos ver en el video a a continuación:

 

 

Por cierto  , el autor  tambien ha creado  un canal para  las  dudas sobre su contrucción  y funcionamiento en   Reddit

Fuente aqui

Mejora de juegos Nintendo por NFC


Los amiibo son figuras y también  tarjetas interactivas para  usar con los nuevos  juegos que ha desarrollado Nintendo como pueden ser Mario Party 10,Splatoon,Super Mario maker,SuperSmash Bros,New style Boutique 2, etc

La idea es tocar  con estas tarjetas  o muñecos (con un amiibo )  el punto de contacto NFC   mientras  se está jugando a un juego compatible de Wii U o Nintendo 3DS , al igual que se hace cuando se paga  con tarjetas  NFC  en un supermercado ,   para  descubrir sorprendentes nuevas funciones que no eran posible directamente disfrutar desde el propio juego .

En algunos juegos, incluso podrá mejorar las habilidades de la figurita  amiibo a medida que juega, de modo que “creará” un personaje amiibo exclusivo. Asimismo también se puede cambiar el aspecto de personajes dentro del juego y ampliar las opciones de personalización con atuendos temáticos en los juegos compatibles y  en ciertos títulos compatibles, podrá acceder a nuevas misiones .

Así vemos como  los amiibo tienen diferentes efectos dependiendo del juego. Es posible que desbloqueen nuevos modos, armas o atuendos para personajes, o incluso que mejore las destrezas del amiibo para convertirlo en el aliado perfecto ¡o en el rival más mortífero!

Ejemplos de funcionalidades nuevas que aportan los amiibo:

  • En Animal Crossing: Happy Home Designer, al usar un amiibo de Animal Crossing, se puede diseñar la casa de ese personaje o invitarlo a visitar cualquiera de las casas o edificios públicos que haya diseñado.
  • En  New Style Boutique 2 – se pueden marcar tendencias pues al usar un amiibo compatible desbloqueará artículos especiales después de realizar algún encargo para un cliente, ¡entre los que es posible que encuentre caras famosas!
  • En Super Smash Bros. for Nintendo 3DS / Wii U, puede entrenar a los amiibo para ser los mejores aliados o los más feroces enemigos. Por ejemplo puede hacer que un amiibo entre en el combate y lucha con o contra él. Cuanto más luche, más subirá su nivel, y hasta es posible que aprenda tácticas de los luchadores con los que se enfrente.
  • Al usar un amiibo compatible en Super Mario Maker, Mario se transformará en ese personaje cuando consiga un champiñón ?. En Yoshi’s Woolly World, podrás usar un amiibo para desbloquear patrones de Yoshi basados en ese personaje. ¡Descubre qué aspecto tendría Yoshi como Mario, Kirby o Donkey Kong, entre otros!
  • Ponte a prueba en retos especiales con amiibo en Splatoon. Al tocar el Wii U GamePad con un amiibo de Splatoon, podrá emprender misiones con un toque especial y cuando las supere desbloqueará armas, equipo y minijuegos especiales.
  • En Mario Party 10, toque el punto NFC con cualquier amiibo compatible para que juegue en amiibo Party: su amiibo se convierte en una ficha sobre un tablero lleno de sorpresas por doquier.
  • En Animal Crossing: amiibo Festival, cuando uses una figura amiibo de Animal Crossing, podrás usar ese personaje como tu ficha sobre el tablero de juego. ¡También puedesusar tarjetas amiibo de Animal Crossing para jugar a divertidos minijuegos!

 

Como  era de esperar,  no todas las consolas  incluyen el lector y  grabaodr   de NFC, por lo que si no dispone de dicho lector ,p ara poder usar los ammibo , se deberá adquirir el lector aparte:Nintendo – Lector/Escritor NFC (Nintendo 2DS, 3DS) por  unos 16€ en Amazon.

 

Las consolas  que  soportan NFC  sin lector adicional son   Wii U y   New Nintendo 3DS y New Nintendo 3DS XL.

Wii U    New Nintendo 3DS y New Nintendo 3DS XL

Si embargo las consolas  Nintendo 3DS ,Nintendo 3DX XL    y Nintendo 2DS+, no soportan la tecnologia NFC ,por lo que para disfrutar de las posibilidades que ofrecen los ammibo ,tendrá que adquirir el lector grabador aparte  (Nintendo – Lector/Escritor NFC (Nintendo 2DS, 3DS), el cual  alimentándose por dos  pilas de 1,5V AA  lleva un lector /grabador de NFC que es capazar de transmitiendo ( o recibir) por infrarrojos los datos de las consolas 3DS y 2DS.

Nintendo 3DS y 2DS + lector/grabador de NFC

Este  nuevo accesorio Lector/grabador NFC pues  permite a todas las consolas de la familia Nintendo 2DS y Nintendo 3DS ser compatibles con las figuras Amiibo y las tarjetas Amiibo  (como decimos  no es necesario para las consolas New Nintendo 3DS que tienen la funcionalidad NFC integrada).

Para activar el accesorio en el menú de ajustes hay una opción de Amiibo y ahí se gestiona todo el proceso. Además, cada propio juego tiene su menú de configuración para los Amiibo.Por ejemplo en  Super Smash Bros  únicamente debe acceder a apartado Amiibo y ahí indica todo el proceso de conexión con la Nintendo.

Requiere la versión más reciente del sistema, pero la propia consola  avisa si debe actualizarla, tanto la versión del juego como la versión de la consola

 

2015-11-25_23h39_25

Como vemos con el accesorio actualizaremos las consolas  Ninetendo 2DS  y 3DS   a  la nueva era  de  las consolas  NFC , tecnología por la cual se  basan las funcionalidades Amiibo  para dar un mayor dinamismo  y variedad  a juegos como como Super Smash Bros 3DS, Animal Crossing Happy Home Designer, New Style Boutique 2, Code Name Steam… 

Mas información  aqui

 

Accionar mecanismos con el pensamiento


Las personas con discapacidades graves no pueden interactuar con su entorno como la gente normal. Ellos siempre necesitan ayuda para hacer pequeñas tareas como encender un ventilador o un televisor. Para cerrar esta brecha entre un paciente y un interruptor es necesario que haya alguna manera que no requiera movimientos musculares. La mejor manera que podía imaginar era la tecnología EEG. Esto significa que uno puede controlar un dispositivo por el uso de sus / sus ondas cerebrales sin realizar ningún movimiento físico.

 

Para ello   ha usado un juguete disponible comercialmente denominado Mindflex ,el cual utiliza el mismo chip Neurosky EEG. El autor integró un módulo Bluetooth HC-05   con  el auricular NeuroSky MyndWave para  por medio de ingeniería inversa  asi  como con  la ayuda de un Arduino y Processing    fue capaz de controlar un ventilador.

 

Los componente usados son:

  • Un auricular EEG
    Solía ​​Mindflex el auricular del juguete, ya que puede funcionar de la misma en comparación con otros auriculares a un precio razonable muy bajo. Usted puede conseguir uno en Ebay por un precio tan bajo como $ 15.
  • Un HC-05 o HC-06 del módulo del bluetooth
    Se utiliza para ajustar el auricular Mindflex – $ 6.
  • Arduino Uno – $ 12
  • Un pequeño ventilador
    Usé un pequeño ventilador del equipo de 12V para la demostración, ya que estaba mintiendo alrededor y satisfacer la necesidad.
  • Tres pequeños cables de puente.

Hay dos partes en el auricular. Un lado contiene las baterías y el otro que contiene del interruptor   contiene tambien la electrónica necesaria

  • Abra el lado que tiene un interruptor en él.
  • Retire los 4 tornillos para acceder a la placa de circuito.
  • Una vez dentro, quite los 2 tornillos que sujetan la placa de circuito a la carcasa.

Ahora tiene que soldar tres pequeños cables al circuito dentro de la caja.

  1. “T” (de transmisión) pines en el chip
  2. Uno con el GND (tierra).
  3. En tercer lugar, con el VCC (Power).

Espero que su módulo bluetooth venga on cables de puente hembra-hembra. Ahora,

  • conectar el cable soldado al pin T del circuito con el RXD
  • GND a GND
  • y el VCC a la VCC del módulo Bluetooth.

Ahora aislar todo y fijar el módulo Bluetooth con el auricular. Coloque las baterías en el otro lado del auricular y encenderlo. Una luz roja en el auricular y una luz en el módulo Bluetooth muestra que esta funcionando

El siguiente paso será el de establecer comunicación entre el auricular y el ordenador para leer los datos de EEG de ella,para lo cual primero debeemparejar el módulo Bluetooth a la computadora (puede seguir los pasos que se indican en este enlace ).

Imagen de Lea sus ondas cerebrales usando BrainWaveOSC.

Ahora, Descargue BrainWaveOSC para su plataforma y descomprimirlo en una carpeta.

Antes de ejecutar la aplicación, tendrá que identificar cómo el sistema ve su dispositivo bluetooth.
Usuarios de Windows:
Usted necesita encontrar el puerto COM que el dispositivo Bluetooth está conectado. Este enlace le ayudará a encontrar el puerto COM al que está conectado el dispositivo Bluetooth.

Una vez que encuentre el dispositivo, abra el archivo settings.xml ubicado en la carpeta de datos de BrainWaveOSC.
La cuarta línea debe decir algo así como COM6 entre las etiquetas. Cambiar eso a su cadena de dispositivo que ha encontrado antes.

Después de abrir la aplicación, se debe comenzar con un panel rojo a la izquierda y se pone verde una vez que se inicia la recepción de datos. Eso es todo, usted está leyendo sus ondas cerebrales de la corteza prefrontal del cerebro, que por lo general se ocupa de la lógica.

 

Ahora nuestro siguiente paso será utilizar estos datos para controlar un ventilador utilizando Procesamiento y Arduino

Processing es un lenguaje de programación de código abierto que está diseñado para ser fácil de usar y es ideal para principiantes. Se basa en Java, por lo que si usted está familiarizado con eso, verás algunas de las similitudes. Descárgalo aquí e instalarlo antes de empezar.

Ahora tenemos que analizar los datos (mensajes OSC) recibida a través BrainWaveOSC.

Comience abriendo procesamiento y la creación de un nuevo boceto.

Importe la Biblioteca OSC

A partir de un boceto en blanco, tendrá que importar la biblioteca de la OSC.Puede hacerlo escribiendo:

 

import oscP5.*;

or

Go to Sketch->Import Library->oscP5.

Si usted no puede encontrar oscP5, puede que tenga que añadir primero yendo a bosquejos> Importar Library-> Añadir Biblioteca … y la búsqueda de oscP5.Una vez hecho esto, tendrá que crear un objeto vacío para que en la siguiente línea escribiendo:

Oscp5 OscP5;

Crear su configuración y dibujar funciones

Esta es fácil. Sólo tienes que escribir lo siguiente:

void setup () {

}

void draw () {

}

Acaba de crear el esqueleto.

Ahora que usted tiene su esqueleto, vamos a rellenarlo y comenzar a leer los mensajes OSC difundidos por BrainWaveOSC. Asegúrese BrainWaveOSC se está ejecutando y el auricular está conectado. Usted puede decir por el color del panel de la izquierda. Si es verde, entonces estás bien.

Encontrar a su puerto de OSC
En BrainWaveOSC, busque el puerto OSC. En la esquina superior izquierda, debería ver algo como:

OSC – 127.0.0.1:7771

El 127.0.0.1 es la dirección ip localhost y 7771 es el número de puerto. Tendrá que guardar este número de puerto para después.

Configuración de procesamiento para recibir mensajes OSC

Ahora usted querrá añadir esta línea dentro de su función de configuración () entre las llaves. Consulte las imágenes como una referencia.

Su función setup () debería tener este aspecto:

void setup () {

oscp5 = new OscP5 (esto, 7771);

}

¡Genial! Sólo ha contado la aplicación para empezar a escuchar en el puerto 7771 para mensajes OSC entrantes. Ya que está en la función de configuración, sólo va a correr una vez al principio.

Recibir los mensajes OSC

A continuación vamos a crear una función para recibir los mensajes OSC.Mientras setup () sólo se ejecuta una vez, y dibujar () funciona todo el tiempo, la función crearemos sólo se ejecuta cuando se recibe un mensaje OSC.

Crear una función que tiene este aspecto:

anular oscEvent (OscMessage theMessage) {

// Imprimir la dirección y typetag del mensaje a la consola

println (“Mensaje recibido OSC El patrón de dirección es!” + theMessage.addrPattern (+) “La typetag es:”. + theMessage.typetag ());

}

 

Analizamos  el código  hacia abajo:

void oscEvent (OscMessage theMessage) dice que esta función se llamaoscEvent, y se necesita un objeto OscMessage como un parámetro llamado theMessage. Ignorar el vacío de momento, significa que no se espera que la función para devolver un valor.

La segunda línea es println, que es la abreviatura de impresión Line. Esto escribe mensajes en el área de color negro debajo de su editor de texto cuando se ejecuta la aplicación (llamada la consola). El contenido de println dicen que imprimir “OSC Mensaje recibido!” y utiliza dos métodos de OscMessage:

  • Patrón Dirección – Esto es como el tema de un correo electrónico. Es el nombre del mensaje
  • Typetag – Esto le indica lo que los contenidos del mensaje son
    • Por ejemplo, un typetag de iii significa que hay 3 números enteros dentro del mensaje

Ejecutar la aplicación

Lo que tenemos que hacer ahora es extraer los números de los mensajes que hemos estado recibiendo y hacer algo útil con él.Para esto, yo sólo voy a centrar en el valor Atención procedentes de BrainWaveOSC. Así que todo lo que tenemos que hacer es comprobar los mensajes entrantes para él y sáquelo.Dentro de su función oscEvent, tendrá que añadir:

if ( theMessage.checkAddrPattern(“/attention”) == true ) {

println (“Su atención está en:” + theMessage.get (0) .floatValue ());

}

Impresionante. Así que ahora estamos recibiendo sólo los valores de atención e imprimirlas a la pantalla. Necesitamos una manera de pasar esta información a otra función para que podamos hacer algo con él. La forma más fácil de hacerlo es con una variable global. Añadir esta línea debajo

Oscp5 OscP5;

float currentAttention;

Cambie su función oscEvent a tener este aspecto:

if (theMessage.checkAddrPattern (“/ atención”) == true) {currentAttention = theMessage.get (0) .floatValue (); println (“Su atención está en:” + currentAttention); }

Ahora, usted ha creado una variable que se puede acceder desde cualquier función y es actualizado cuando oscEvent ve un mensaje de OSC con el patrón de dirección “/ atención”.POR TANTO AHORA  USTED ES CAPAZ DE EXTRAER LOS VALORES DE ATENCIÓN A PARTIR DE LSO DATOS EEG, el siguiente paso seria enviar este valor a su Arduino Uno:

  • Conecte el Arduino al ordenador.
  • Compruebe el número de puerto al que esté conectada al.
  • Enviar valores de la transformación de este puerto.
  • Escribir un boceto que lee los valores enviados desde el procesamiento.
  • Conecte el ventilador a cualquiera de los pines de Arduino.
  • Establezca un valor de umbral de la atención y hacer un disparador para el ventilador para encender y apagar.

 

 

Fuente  aqui