Reconocimiento de colores con Pixy


En efecto, si no tenemos demasiado tiempo  para experimentar con algoritmos de reconocimiento de imágenes con opencv o similares ,por ejemplo para integrar  la visión artificial en un robot que siga una linea, hay un producto llamado   Pixy2    que puede hacer todo eso y mas. Además, esta segunda version,  es más rápida, más pequeña y más potente que el Pixy original, agregando algoritmos de seguimiento / seguimiento de línea, así como otras características  (de  hecho la velocidad de procesamiento  en tiempo real   se ha mejorado en 60 fotogramas por segundo)

Como  puede  suponer  Pixy2  incorpora una cámara  y  una fuente de luz , y con todo  este hw puede detectar líneas, intersecciones y pequeños códigos de barras, diseñados para robots que siguen líneas.

Precisamente  por la utilidad de integrarlo en pequeños robots ,se han agregado algoritmos de seguimiento a la detección de objetos basada en color. Ademas tampoco descuidan su conexión con otras placas pues proporcionan bibliotecas mejoradas y simplificadas para Arduino, Raspberry Pi.

Veamos a continuación   mas detalles sobre esta interesante  placa

 

Hablamos de una placa  bastante pequeña(de unos 8x7cm) ,  tanto que incluso se puede conectar varios Pixy2 a un microcontrolador pues  Pixy2 es más pequeño, más rápido y más potente que el Pixy original. 

Este sistema de visión inteligente plug-and-play para Arduino-compatibles, Raspberry Pi u otros microcontroladores / sistemas de computadora.

 Al igual que su predecesor, Pixy2 puede aprender a detectar objetos que le enseñe, simplemente presionando un botón. Además, Pixy2  implementa nuevos algoritmos que detectan y rastrean las líneas para su uso con robots de seguimiento de línea (  incluso con  los nuevos algoritmos también pueden detectar intersecciones y “señales de tráfico”.)

 

Aunque la nueva cámara puede funcionar hasta 60 fps, se  ejecuta aproximadamente la mitad de esa velocidad y existen múltiples opciones para el ajuste fino del reconocimiento de objetos, todo  ello  para  mejorar la precisión   el reconocimiento de imágenes   ya que la cámara no esta diseñada para la grabación de imágenes pero si  pasará el centro X, Y, y el ancho, la altura de un objeto, y lo hace muy bien.

La nueva version  Pixy2  lleva  modo de seguimiento de línea y fuente de luz LED integrada simplificando  su programación recibiendo solo los objetos que le interesan.

Se puede utilizar el controlador que desee pues incluye bibliotecas de software para Arduino, Raspberry Pi y BeagleBone Black.

Si lo conectamos a  un pc, podemos instalar la utilidad de configuración (se ejecuta en Windows, MacOS y Linux) asi como el sw  Pixy2 CMUCam5, un sensor de imagen para su microcontrolador que puede enseñarle qué buscar.También es una gran mejora con respecto a las versiones anteriores de Pixy CMUCam, que agrega una mayor flexibilidad cuando se trata de cambios de iluminación y exposición. También puede recordar siete firmas de colores diferentes, encuentre cientos de objetos en a visión del robot es fácil: presione el botón para enseñarle a Pixy2 un objeto

Por ello el   Pixy2   es un sensor de imagen con un potente procesador que puede programar para enviar solo la información que está buscando para que su microcontrolador no se vea abrumado por los datos  ya que Pixy2 exporta su información en una variedad de formas útiles (UART serie, SPI, I2C, salida digital o salida analógica) para que su microcontrolador o microcomputadora pueda comunicarse fácilmente mientras realiza otras tareas.

Las coordenadas  enviadas  desde   Pixy2  pueden decirle a su robot qué hacer, como girar a la izquierda, girar a la derecha, disminuir la velocidad, etc. Y Pixy2 hace todo esto a 60 cuadros por segundo, para que su robot también pueda ser rápido. Pixy2 utiliza el tono y la saturación como su principal medio de detección de imágenes, en lugar del RGB normal. Esto significa que la iluminación o la exposición no afectarán la detección de Pixy2 de un elemento, lo cual es un problema frustrante con muchos sensores de imagen. .

 

 

Vamos  a ver un ejemplo publicado en instructables.com  de un interesante  robot seguidor que implementa  esta tecnologia  creado  por chaabani houssem 

Necesitaremos  al menos los  siguientes componentes:

  • 1 Arduino mega (o en su defecto un Arduno uno o Arduino nano … )
  • Pixy2  
  • 2 motores  paso  a paso
  • 2 ruedas y sus engranajes 
  • Un l293d
  • Una batería de  9v  (o   cualquiera que pueda reciclar 

 

Podemos  enseñar cualquier objeto a pixy a través de este enlace:

http: //cmucam.org/projects/cmucam5/wiki/Teach_Pixy …

Para controlar  los dos motores usaremos un famoso controlador , el CI   l293d

Este circuito integrado     de 16 pines ofrece los siguintes carasterciticas: 

  • Capacidad del canal: 600 mA de corriente de salida / canal.
  • Sistema de activación.
  • Pico de salida de corriente: 1,2 A / canal (no repetitivo).
  • Protección contra sobretemperatura.
  • Entrada lógica “0” a 1,5 V (alta inmunidad al ruido).

Picture of Build the Robot

Conectemos  los pines del L293D   a un  Arduino   de la siguiente manera :

  • Pin  1 al pin Arduino 2.
  • Pin 2 al pin 3 de Arduino.
  • Entrada 3 al pin 4 de Arduino.
  • Entrada 4 al pin Aduino 5.

Con estas conexiones ya  se puede probar el robot como verificar el avance, probar el giro a la izquierda o  el giro a la derecha y la parada.

Si todo va  bien ahora ya puede agregar pixy, pero para que  funcione el robot  antes tendrá que  programar Arduino  para  que  en función de la  salida de  Pixy2   de las  ordenes oportunas a los motores

Como  ejemplo de código  vamos a ver  una demostracion de como podemos  controlar lso dos motores usando  unicamente la informacion apoportada por Pixy2  

 

//definición de  puertos  que se usaran

int mg2 = 4;

int mg1 = 5;

int md1 = 3;

int md2 = 2;

int enag= 6;

//librerias  externas

#include <Wire.h>

#include <Pixy.h>

//llamada a las primitivas de Pixy

Pixy pixy;




//definición de puertos 

void setup()
{
pinMode(enag, OUTPUT);

pinMode(md1, OUTPUT);

pinMode(md2, OUTPUT);

pinMode(mg1, OUTPUT);

pinMode(mg2, OUTPUT);

//sacamos  por consola de Arduino mensajes de depuración

Serial.begin(9600);

Serial.print("Arrancando...\n");

pixy.init();

}







//comienzo del programa  principal

void loop()
{

static int i = 0;

int j;

uint16_t blocks;

char buf[32];


blocks = pixy.getBlocks();

if (blocks)

{
i++;

// Hacer esto cada 50 cuadros porque si se  supero colapsaria Arduino


if (i%50==0)

{
sprintf(buf, "Detected %d:\n", blocks);
Serial.print(buf);


//bucle for que recorre todos lox bloques enviados por Pixy
for (j=0;  j<blocks;    j++) 

{

sprintf(buf, " block %d: ", j);

Serial.print(buf);  //sacamos las salida por consola

pixy.blocks[j].print();

}


}

if((pixy.blocks[0].x>120)&&(pixy.blocks[0].x<190))
{
go();  //avanzar
}

if((pixy.blocks[0].x<120) && (pixy.blocks[0].x>10))
{

gauche();//girar a derecha

}

if(pixy.blocks[0].x>190)
{

droite();} //girar  a izda
}

else
{

o9if();//hacia atras

}
}






//giro a la derecha
void droite()
{
analogWrite(enag,210);
analogWrite(mg1,0);
analogWrite(mg2,0);
analogWrite(md1,255);
analogWrite(md2,0);
delay(30);
}




//giro a al izda

void gauche()
{
analogWrite(enag,210);
analogWrite(mg1,255);
analogWrite(mg2,0);
analogWrite(md1,0);
analogWrite(md2,0);
delay(30);
}




//hacia atras
void o9if()

{
analogWrite(mg1,0);
analogWrite(mg2,0);
analogWrite(md2,0);
analogWrite(md1,0);
delay(30);
}

//avanzar

void go ()
{
analogWrite(enag,210);
analogWrite(mg1,255);
analogWrite(mg2,0);

analogWrite(md1,255);
analogWrite(md2,0);
delay(30);
}

 

Y   ahora en un vídeo podemos ver el robot   funcionando:

 

En general,   Pixy2   es un excelente sistemas de visión inteligente introductorio  pues  podemos dar seguimiento de objetos a un  robot de manera mucho más fácil que usar un pc de una sola placa con OpenCV (más requisitos de menor potencia) pues se conecta fácilmente a un Arduino Nano o Uno (entre otros sistemas)  gracias  a los ejemplos de código que proporcionan que  ayudan a ponerlo en marcha rápidamente .Ademas es  muy fácil configurarlo utilizando las instrucciones en su sitio web pues hay ejemplos integrados en su software.

 

Anuncios

Controlando placas de IoT desde javascript


Node.js framework  fue  creado por Bocoup para controlar placas de desarrollo en una configuración de host-cliente   aunque   realmente su uso mayoritario sea como plataforma web   siendo    Johnny-Five la plataforma open  source de Robótica e IoT de JavaScript 

En realidad existen diferentes  plataformas donde se puede ejecutar el programa Johnny-Five :

  • En un entorno Linux a bordo: beagleBone Black,Chip,Intel Galileo gen 1,Intel Galileo Gen 2,Intel Edison Arduino,Intel Edison Mini, SparkFun Edison GPIO Block,SparkFun Arduino Block, Intel Joule 570x (Carrier Board),Linino One,pcDuino3 Dev Board,Raspberry Pi 3 Model B, Raspberry Pi 2 Model B. Raspberry Pi Zero,Raspberry Pi Model A Plus,Raspberry Pi Model B Plus, Raspberry Pi Model B Rev 1, Raspberry Pi Model B Rev 2, Tessel 2
  • En una máquina host conectada (a través de Serial USB o Ethernet) a un cliente.: Arduino Uno,SparkFun RedBoard, On a host machine communicating over Bluetooth to the client. Arduino Uno,Arduino Leonardo, Arduino Mega, Arduino Fio,Arduino Micro,Arduino Mini,arduino Nano,Arduino pro Mini,Boatduino,chipKit uno32,Spider robot Controller,DfRobot Romeo,Teensy 3,
  • En una máquina host que se comunica por wifi al cliente: Electric Imp April, pinoccio Scout, Particle Core ( Spark Core) ,Particle Photon, Sparkfun Photon RedBoard
  • En una máquina host que se comunica a través de Bluetooth al cliente :Blend Micro v1.0,LightBlue bean,

Johnny-Five como vemos hacer un énfasis especial en la robótica, pero tambien puede hacer muchas cosas diferentes con el software.De hecho ha existido durante hacer  más tiempo que la mayoría de los marcos de JavaScript para hardware . Ademas iene una API clara  y “fresca” ,ambas cosas ideales para los principiantes de hardware.

Lanzado porBocoup en 2012, Johnny-Five esta mantenido por una comunidad de desarrolladores de software apasionados e ingenieros de hardware. De hecho más de 75 desarrolladores han hecho contribuciones para construir un ecosistema robusto, extensible y muy versatil.

 

Hola Mundo! 

A los microcontroladores y las plataformas SoC nos gusta decir “Hola mundo” con un simple LED parpadeante, así  que veamos en primer lugar un ejemplo como lo hariamos  usando el Ide clásico  de Arduino

Como vemos en la imagen ,conectaremos un led entre el pin 13  y masa , respetando la polaridad (el ánodo al pin13 y el cátodo o pin corto a masa )

Para  hacer destellear el citado led,  estos son los pasos básicos  que tenemos que seguir en nuestro sketch  programandolo desde el IDE de Arduino:

  1. Configurar el pin 13 (con LED incorporado) como una SALIDA
  2. Establecer el pin 13 ALTO para encender el LED
  3. Esperamos 500 ms (medio segundo)
  4. Establecer el pin 13 BAJO para apagar el LED

Y este es el código completo para ejecutar desde el Ide de Arduino:

void setup() {
pinMode(13, OUTPUT);    
}
void loop() {
digitalWrite(13, HIGH);
delay(500);
digitalWrite(13, LOW);  
delay(500);
}

Y ahora vamos a ver el mismo ejemplo , pero ejecutandolo en Javascript por medio de node-js,

Desgraciadamente  si usamos un Arduino o alguno de sus variantes (Arduino Uno,SparkFun RedBoard, On a host machine communicating over Bluetooth to the client. Arduino Uno,Arduino Leonardo, Arduino Mega, Arduino Fio,Arduino Micro,Arduino Mini,arduino Nano,Arduino pro Mini,Boatduino,chipKit uno32,Spider robot Controller,DfRobot Romeo,Teensy 3,)   necesitaremos que el programa JavaScript se ejecute en una máquina host que ejecute Node.js. de modo que el programa transmitirá instrucciones básicas de E / S a la placa a través de una interfaz  serie USB , que actuara como un cliente ligero .

El método host-cliente implica la comunicación a través de una API común entre el host y el cliente. El marco Node.js usado con Arduino y placas similares , Johnny-Five, se comunica (de forma predeterminada) con las placas  utilizando un protocolo llamado Firmata, protocolo que permite que los hosts (computadoras) y los clientes (microcontroladores) intercambien mensajes de ida y vuelta en un formato basado en mensajes MIDI. El protocolo Firmata especifica cómo deben ser esos mensajes de comando y datos. La implementación de Firmata de Arduino proporciona el firmware real que puede poner en su tablero para hacer que “hable” Firmata. Toma la forma de un boceto de Arduino que sube al tablero.

Firmata es lo suficientemente popular como para que los bocetos de Firmata que necesita vengan empaquetados con el IDE de Arduino asi que bastara con subir este a Arduino una única vez  ya que  el código javascript  correra en el host usando node.js.

Puede seguir estos pasos para cargar el interfaz correcto de Firmata en su Arduino  para que se pueda utilizar como cliente en una configuración de host-cliente:

Resumidamente estos son los pasos previos para ejecutar el   mismo  ejemplo del led parpadeante  que hemos visto pero   en  javascript en una placa Arduino;

  • En primer lugar  conectar  su Arduino  mediante USB a  su ordenador
  • Lanzar el IDE de Arduino.
  • Asegurarse que esta configurada la version de su placa,  así como el puerto COM  virtual al que esta conectado
  • Acceda al menú Archivo> Ejemplos> Firmata
  • Seleccione StandardFirmataPlus de la lista y despliegue este sw sobre su Arduino

  • Ahora Instale Node.js   en su pc . Funciona  con ultima version 11.3.0  de  64 bit que incluye  npm 6.4 (no olvidar de chequear que se instalen  otros componentes )Este es el link de descarga https://nodejs.org/en/download/ 
  • En la instalación de Node.js, repetimo  no debemos olvidar de chequear que se instalen  otros componentes  pues  con ellos se   instalara automáticamente
    • Python 2.7.3 (http://www.python.org/getit/releases/2.7.3/)
    • Visual Studio Express 2010 de 32 bits (con  las dependencias de C ++)
    • El comando npm
    • Alternativamente si dispusiésemos de npm podríamos instalar ambos entornos  con  npm --add-python-to-path install --global --production windows-build-tools
  • Este pasos anterior ( instalacion de componentes ) es  innecesario  si chequeamos en la instalación  de node.js  pues se instalaran  esos componentes  automáticamente
  • Ahora instalar node-gyp  medianete  el comando  npm install -g node-gyp (esto instalará node-gyp globalmente)                          
  • Ya puede  crear su primer proyecto Johnny-Five, por lo que en primer lugar cree un directorio para él e instale el paquete framework npm, como se muestra en la siguiente lista:
    • < mkdir hello-world
    • < cd hello-world
    • < npm install johnny-five
  • Ejecute  el comando “npm install johnny-five” desde la carpeta del proyecto
  • Ya por fin podemos crear el fichero javascript  con su editor de texto  que contendrá el código en javascript  . 

Realmente estos son los pasos  que tenemos que seguir:

  1. Requerir el paquete johnny-five
  2. Inicializar un nuevo objeto Board que represente a su placa .
  3. Esperar a que el tablero dispare el evento listo
  4. Crear una instancia de un objeto LED en el pin 13 (el pin LED incorporado de Uno)
  5.  Hacer que el LED parpadee cada 500 ms

Este es el código en js :


const five = require(‘johnny-five’);
const board = new five.Board();
board.on(‘ready’, () => {
 const led = new five.Led(13);
   led.blink(500);
});


Guarde el archivo como hello-world.js  y  conecte su Arduino  a un puerto USB en su ordenador  si aún no está conectado.

En una terminal  de windows  vaya al directorio del proyecto y ejecute este comando:

<node hello-world.js


Verá una salida como la siguiente en su terminal ejecutando hello-world.js en una terminal

 

 

Si el LED incorporado parpadea ,!enhorabuena !  !acaba de controlar una placa Arduino con JavaScript!  ¿a que es realmente sencillo?.

Aunque en el caso de la familia Arduino tiene la innegable penalización de necesitar un host para operar , la ventajas de este  modelo son evidentes pues no tenemos que estar constantemente compilando  y  subiendo el sketch con el ide de Arduino ya que el programa corre en host . Ademas  podemos usar un simple editor de texto para cambiar el código en javascript fácilmente

Asimismo el lenguaje javascript ha ido evolucionando hasta un ritmo que no podemos imaginar   incluyendo muchas características que no son soportadas de forma directa desde Arduino

Por ultimo mencionar la autentica potabilidad del código , pues el código que hemos visto en el ejemplo podremos usarlos  en múltiples plataformas  tan diferentes como Raspberry pi, Intel Edison , etc usando siempre el mismo código fuente aun siendo soportado por placas muy diferentes ¿ a que es interesante?

 

 

Placas soportadas

Johnny-Five ha sido probado con una variedad de tableros compatibles con Arduino . 

Para los proyectos que no están basados ​​en Arduino, los complementos de IO específicos de la plataforma están disponibles. Los complementos IO permiten que el código Johnny-Five se comunique con cualquier hardware en cualquier idioma que la plataforma hable.

Como comentábamos   existen diferentes  formas de   ejecutar  el programa Johnny-Five  segun la placa:

  • En un entorno Linux a bordo: beagleBone Black,Chip,Intel Galileo gen 1,Intel Galileo Gen 2,Intel Edison Arduino,Intel Edison Mini, SparkFun Edison GPIO Block,SparkFun Arduino Block, Intel Joule 570x (Carrier Board),Linino One,pcDuino3 Dev Board,Raspberry Pi 3 Model B, Raspberry Pi 2 Model B. Raspberry Pi Zero,Raspberry Pi Model A Plus,Raspberry Pi Model B Plus, Raspberry Pi Model B Rev 1, Raspberry Pi Model B Rev 2, Tessel 2) ,   Es  facil adivinar qeu este es el mabiente ideal   pues dentro de la placa se oprtan tanto el host como el cliente  por lo qeu no ncesitamos conectarnos con otro dispositivo
  • En una máquina host conectada (a través de Serial USB o Ethernet) a un cliente.: Arduino Uno,SparkFun RedBoard, On a host machine communicating over Bluetooth to the client. Arduino Uno,Arduino Leonardo, Arduino Mega, Arduino Fio,Arduino Micro,Arduino Mini,arduino Nano,Arduino pro Mini,Boatduino,chipKit uno32,Spider robot Controller,DfRobot Romeo,Teensy 3,
  • En una máquina host que se comunica por wifi al cliente.: Electric Imp April, pinoccio Scout, Particle Core ( Spark Core) ,Particle Photon, Sparkfun Photon RedBoard
  • En una máquina host que se comunica a través de Bluetooth al cliente :Blend Micro v1.0,LightBlue bean,

Veamos  ahora cada  caso en concreto;

Arduino Uno 

Ambiente 

  • Firmware / Runtime: : StandardFirmataPlus (additional instructions)
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere tethering.

Plataforma específica 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable
Paso a paso
Serial / UART
Dac no
Ping

SparkFun RedBoard 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus (additional instructions)
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere tethering.

Plataforma específica 

ping

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable
Paso a paso
Serial / UART
Dac no
Ping

 

Arduino leonardo 

Ambiente 

  • Firmware / Runtime:  StandardFirmataPlus (additional instructions)
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere tethering.

Plataforma específica 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable
Paso a paso
Serial / UART
Dac no
Ping

Arduino Mega 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus (additional instructions)
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere tethering.

Plataforma específica 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable
Paso a paso
Serial / UART
Dac no
ping

Arduino Fio 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus (additional instructions)
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere tethering.

Plataforma específica 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable
Paso a paso
Serial / UART
Dac no
Ping

Arduino Micro 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus (additional instructions)
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere tethering.

Plataforma específica 

  • Admite la extensión PING_READ , cuando se usa con PingFirmata .
Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
One wire no
Paso a paso no
Serial / UART
Dac no
Ping

Arduino Mini 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus (additional instructions)
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere tethering.

Plataforma específica 

  • Admite la extensión PING_READ , cuando se usa con PingFirmata .
Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
One wire no
Paso a paso no
Serial / UART
Dac no
Ping

Arduino Nano 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus (additional instructions)
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere tethering.

Plataforma específica 

  • Admite la extensión PING_READ , cuando se usa con PingFirmata .
Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART
Dac no
Ping

Arduino Pro Mini 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus ( instrucciones adicionales )
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere tethering.

Plataforma específica 

  • Admite la extensión PING_READ , cuando se usa con PingFirmata .
Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
One wire no
Paso a paso no
Serial / UART
Dac no
ping

BotBoarduino 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus ( instrucciones adicionales )
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere amarre.

Plataforma específica 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable
Paso a paso
Serial / UART
Dac no
ping

chipkit uno32 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus ( instrucciones adicionales )
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere tethering.

Plataforma específica 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
One wire
Paso a paso
Serial / UART
Dac no
ping

Spider Robot Controller 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus ( instrucciones adicionales )
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere  tetehering.

Plataforma específica 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable
Paso a paso
Serial / UART
Dac no
ping

DFRobot Romeo 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus ( instrucciones adicionales )
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere amarre.

Plataforma específica 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable
Paso a paso
Serial / UART
Dac no
Ping

Teensy 3 

Ambiente 

  • Firmware / Runtime: StandardFirmataPlus ( instrucciones adicionales )
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a la placa a través de una serie USB , que actúa como un cliente ligero .Requiere amarre.
Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable
Paso a paso
Serial / UART no
Dac no
ping

BeagleBone Black 

Ambiente 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
ping no

CHIP 

Ambiente 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo no
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
Ping no

Blend Micro v1.0 

Ambiente 

  • Complemento IO: BlendMicro-IO ( instrucciones adicionales )
  • Firmware / Runtime: BLEFirmata
  • El programa JavaScript se ejecuta en una máquina host que ejecuta Node.js. El programa transmite instrucciones básicas de E / S a través de Bluetooth a la placa, que actúa como un cliente ligero .
Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
Ping no

 Electric Imp  April 

Ambiente 

Plataforma específica 

  • Requiere una conexión WiFi conectada a Internet y está sujeto a la limitación de la tasa de solicitud por parte del servidor de Electric Imp API.
Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C no
Un cable no
Paso a paso no
Serial / UART no
Dac no
ping no

Intel Galileo Gen 1 

Ambiente 

Plataforma específica 

  • Las compilaciones que no son IoTKit ya no son compatibles.
Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
ping no

Intel Galileo Gen 2 

Ambiente 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
Silbido no

Intel Edison Arduino 

Ambiente 

Plataforma específica 

  • El hardware es capaz de soportar solo 4 salidas PWM. Como resultado, los enlaces nativos no admiten PWM en los pines 10 y 11.
  • Aunque Galileo-io / Edison-io / Joule-io todavía no admite comunicaciones en serie, puede enlazar a / dev / ttyFMD1 en la placa Edison Arduino usando el módulo serialport .
Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
Silbido no

Intel Edison Mini 

Ambiente 

Plataforma específica 

  • analogRead componentes analogRead pueden analogRead a través de instancias de Expander . Ver Expander API para ejemplos.
Lectura analógica no
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
Silbido no

SparkFun Edison GPIO Block 

Ambiente 

Plataforma específica 

  • analogRead componentes analogRead pueden analogRead a través de instancias de Expander . Ver Expander API para ejemplos.
Lectura analógica no
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
ping no

SparkFun Arduino Block

Ambiente 

Plataforma específica 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable
Paso a paso
Serial / UART no
Dac no
ping no

Intel Joule 570x (Carrier Board) 

Ambiente 

Lectura analógica no
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
ping no

LightBlue Bean

Ambiente 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
ping no

Linino uno 

Ambiente 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
ping no

pcDuino3 Dev Board 

Ambiente 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo no
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
ping no

Pinoccio Scout 

Ambiente 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C no
Un cable no
Paso a paso no
Serial / UART no
Dac no
ping no

Raspberry Pi 3 Modelo B 

Ambiente 

Plataforma específica 

  • analogRead componentes analogRead pueden analogRead a través de instancias de Expander . Ver Expander API para ejemplos.
Lectura analógica no
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART
Dac no
ping no

Raspberry Pi 2 Modelo B 

Ambiente 

Plataforma específica 

  • analogRead componentes analogRead pueden analogRead a través de instancias de Expander . Ver Expander API para ejemplos.
Lectura analógica no
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART
Dac no
Silbido no

Raspberry Pi Zero 

Ambiente 

Plataforma específica 

  • analogRead componentes analogRead pueden analogRead a través de instancias de Expander . Ver Expander API para ejemplos.
Lectura analógica no
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART
Dac no
ping no

Raspberry Pi Model A Plus 

Ambiente 

Plataforma específica 

  • analogRead componentes analogRead pueden analogRead a través de instancias de Expander . Ver Expander API para ejemplos.
Lectura analógica no
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART
Dac no
ping no

Frambuesa Pi Modelo B Plus 

Ambiente 

Plataforma específica 

  • analogRead componentes analogRead pueden analogRead a través de instancias de Expander . Ver Expander API para ejemplos.
Lectura analógica no
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART
Dac no
Silbido no

Raspberry Pi Modelo B Rev 1 

Ambiente 

Plataforma específica 

  • analogRead componentes analogRead pueden analogRead a través de instancias de Expander . Ver Expander API para ejemplos.
Lectura analógica no
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART
Dac no
Ping no

Raspberry Pi Modelo B Rev 2 

Ambiente 

Plataforma específica 

  • analogRead componentes analogRead pueden analogRead a través de instancias de Expander . Ver Expander API para ejemplos.
Lectura analógica no
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART
Dac no
ping no


Particle Core (Spark Core)

Ambiente 

Plataforma específica 

  • Los temporizadores se comparten en grupos: Temporizador 2: A0 , A1 , Temporizador 3: A4 , A5 , A6 , A7 , Temporizador 4: D0 , D1
Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
ping


Particle Photon

Ambiente 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
ping no
Silbido

Sparkfun Photon RedBoard 

Ambiente 

Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART no
Dac no
ping

Tessel 2 

Ambiente 

Plataforma específica 

  • El soporte de servo se proporciona a través de componentes I2C (por ejemplo, PCA9685 )
  • DAC está limitado a Puerto B, Pin 7
Lectura analógica
Lectura digital
Escritura digital
PWM
Servo
I2C
Un cable no
Paso a paso no
Serial / UART
Dac
ping no

Mas información en  http://johnny-five.io/platform-support/

LLegan los robots limpiacristales


Cecotec Innovaciones,la innovadora empresa valenciana que está detrás de varios tipos de  robots ,  fue fundada hace 10 años, por lo que no son unos recién llegados del sector tecnológico y su éxito es fruto del esfuerzo de  ingenieros y diseñadores españoles que han conseguido llegar a plantar claramente cara a empresas mucho mas famosas  como quedo demostrado la  temporada pasada donde   no dio abasto a fabricar sus robots limpiadores para cubrir toda la demanda que tuvieron  ( de hecho se e vieron obligados a abrir una lista de espera, para poder ir enviandolos a medida que los fabricaban.)

Este éxito pues es  fruto de los años de trabajo y constancia de todo su equipo  y en esta ocasión hablamos de un concepto similar al robot aspirador cuyo diseño inicial se lo debemos al fabricante Irobot con su  famosisima Roomba , pero que los de Cecotec han dado un giro innovador  convirtiendo el robot clásico  replicado por casi todos los fabricantes  en uno vertical para poder limpiar los cristales,  y de hecho como podemos ver en el vídeo  lo hace de maravilla:

 

Este diseño como vemos realiza una limpieza uniforme y eficiente en vertical  mediante una potente bomba de succión que lo  mantiene adherido a cualquier superficie acristalada para eliminar la suciedad con la máxima seguridad

Vemos pues que para ser posible que pueda desplazarse por los cristales necesita alimentación continua para mantenerse vertical , pero para evitar que se caiga o se desprende del cristal,  cuenta con un sistema de seguridad integral.:

  • Incluye una batería de litio con alimentación ininterrumpida que evita que el robot se caiga al suelo cuando hay un corte de corriente durante 15 minutos
  • Un algoritmo de control anticaída que ayuda a detectar obstáculos, vacío, marcos y bordes,
  • Un arnés de seguridad muy resistente, que dispone de una ventosa para adherirse al cristal consistente en una cuerda de seguridad muy resistente con una ventosa para adherirse al cristal..

 

 

Si bien el fabricante propone tres modelos las version Conga WinRobot Excellence de Cecotec es la mas avanzada ( y por ende la de mayor  precio)  por su  diseño cuadrado para limpiar todos los bordes y las esquinas,  limpiando todo tipo de superficies como cristales, espejos, mamparas, azulejos, superficies lisas y ventanas tanto interiores como exteriores. 

Este  modelo usa algoritmos de inteligencia artificial iTech Win 2.0 para calcular la ruta idónea, detectar los límites de la ventana y limpiar completamente las superficies gracias a sus novedosos sensores de posición, bordes y distancia realizando un recorrido de limpieza eficiente  ( el modelo anterior WinRobost 870  solo implementa el algoritmos de control anticaida  para marcos).

En gran venatja frente al modelo 870  , el  modelo Excelent   limpia en 5 etapas para conseguir un acabado profesional  gracias  a que  la mopa superior realiza un movimiento de vaivén constante para fregar y eliminar hasta la suciedad más difícil.

Implementa  4 modos de  limpieza automáticos seleccionables con un mando a  distancia para limpiar una ventana desde cualquier posición: modo N, modo Z, modo Loop en el que el robot realiza 10 pasadas por el mismo punto.Obviamente también dispone de AutoStop System  parando  de forma automática al finalizar la limpieza avisando obviamente al usuario.

 

 

Respecto a aspectos técnicos el nivel de ruido prometido por el fabricante es  menor de 71 dB contando con un motor de succión de 75w, una batería Ion Litio 700 mAh 14,4 V que tarda 120 minutos en cargarse alimentándose el robot directamente de la red ca 100-240ac   con un cable de 4mt
Por ultimo es eco-friendly gracias  a las  mopas de microfibra reutilizables de alta calidad con 2 modos de limpieza posibles: en seco y en húmedo con productos especializados.

Por cierto si alguien se pregunta también puede limpiar en superficies horizontales

 

Este robot cuesta unos 215€ en Amazon aunque es enviado directamente por el propio fabricante

 

Cónstruya un robot con Raspbery Pi y Arduino


 

En el video anterior en efecto vemos  un robot controlado a distancia basándose  en interfaces web usando para ello  una red  inalámbrica .Dado la potencia de la Raspberry Pi se usa esta para el soporte de Video  y  una placa  Arduino  para el control de los motores 

Se usa la Raspberry Pi pues para la gestión  de la cámara, una red Wi-Fi para la  interfaz de usuario  entre el robot u el usuario  y una placa  Arduino para controlar servos, sensores y motores.


¿Qué necesitamos para construir el robot?,pues propprcionamos a continuacion la siguiente lista de componentes:

 

En realidad dado que  todos estos módulos ya vienen montados , el esquema de conexiones es bastante sencillo ,pues se usa  un convertidor dc/dc  para alimentar  el puente  en h para los 4 motores , los 2 servos y el sensor ultrasonico  , y otro convertidor dc/dc para alimentar exclusivamente  el Arduino Nano

La comunicación entre  Raspberry Pi y Arduino se lleva  a cabo a través de GPIO TX serie / RX (/ dev / ttyAMA0) por medio de un convertidor de nivel.

Otro aspecto destcable  es que tanto el sensor ultrasonido como los dos servos son controlados por la propia placa Arduino Uno

Esquemas cameraRobot

Asimismo se  hace uso de un modulo de cámara para Raspberry Pi  , la cual va conectada con un cable de cinta  a la Raspberry Pi . La cámara se sujeta al soporte movil especial el cual  permite gracias a los dos servos  mover la cámara  en los tres ejes

Aquí puede echar un vistazo a los detalles de  ensamblaje de los componentes mas importantes:

Pan Tilt & detalle con los servos
Detalle de conexion con los servos
Frambuesa Pi / Arduino y convertidor de nivel
Raspberry Pi / Arduino y convertidor de nivel
las conexiones del sensor y Servos

 

Software:

El software se divide en dos secciones: software para Raspberry  Pi  y software de Arduino.

Para la Raspberry se usa dawnrobotics SD imagen para su cámara robot Pi , la cual proporciono  con una pequeña modificación  el  archivo robot_web_server.py  para permitir la comunicación serie con Arduino Nano en lugar del controlador dawnrobotics.

A continuación se detalla el código fuente empleado:

 

#include <ecat.h>
#include <Servo.h>

Servo servoP1B2; Servo servoP1B3;

#define MAX_GRAUS 170
#define MIN_GRAUS 20

String szMissatge;
Ecat ecat;
int valorServoV;
int valorServoH;

void setup(){
  ecat.setupNibbleMode(NIBBLE_H_P1,OUTPUT);
  ecat.vUltrasonicSensorP1b0b1_init();
  
  valorServoV=90;
  valorServoH=90;
  pinMode(ecat.nPinP1B2,OUTPUT);
  pinMode(ecat.nPinP1B3,OUTPUT); 
  servoP1B2.attach(ecat.nPinP1B2);
  servoP1B3.attach(ecat.nPinP1B3);
  servoP1B2.write(valorServoV);
  servoP1B3.write(valorServoH);  
  pinMode(ecat.nPinP2B7,OUTPUT);
  pinMode(ecat.nPinP2B6,INPUT);
  pinMode(ecat.nPinP2B5,INPUT);
  pinMode(ecat.nPinP2B4,INPUT);
  ecat.setupNibbleMode(NIBBLE_L_P2,INPUT);
  Serial.begin(115200);
}

void vRobotAturat(){
  ecat.vWriteHighNibbleP1(0x00);
}

void vRobotEndarrera(){
  ecat.vWriteHighNibbleP1(B00000110);
}

void vRobotEndavant(){
  ecat.vWriteHighNibbleP1(B00001001);
}

void vRobotEsquerra(){
  ecat.vWriteHighNibbleP1(B00000101);
}

void vRobotDreta(){
  ecat.vWriteHighNibbleP1(B00001010);
}



void vManageMsg(){
 
  if(szMissatge == "b"){
    vRobotEndarrera();
  }
  if(szMissatge == "f"){
    if (ecat.nUsDistanceCmP1b0b1()>7) {
        vRobotEndavant();
    }
  }
  if(szMissatge == "s"){
    vRobotAturat();
  }
  if(szMissatge == "l"){
    vRobotEsquerra();
  }
  if(szMissatge == "r"){
    vRobotDreta();
  }
  if(szMissatge == "w"){
    if (valorServoH<MAX_GRAUS) {
      valorServoH++;
    }
  }
  if(szMissatge == "x"){
    if (valorServoH>MIN_GRAUS) {
      valorServoH--;
    }
  }
  if(szMissatge == "a"){
    if (valorServoV>MIN_GRAUS) {
      valorServoV--;
    }
  }
  if(szMissatge == "d"){
    if (valorServoV<MAX_GRAUS) {
      valorServoV++;
    }
  }
}

void loop(){

  while(Serial.available()){
    delay(3);
    char c = Serial.read();
    szMissatge += c;
  }
  vManageMsg();
  szMissatge = "";
  if (ecat.nUsDistanceCmP1b0b1()<7) {
    vRobotAturat();
  }
  servoP1B2.write(valorServoV);
  servoP1B3.write(valorServoH);
}

Como estamos utilizando versión ligeramente modificada de la imagen downrobots, la Raspberry Pi está configurado para actuar como un punto de acceso Wi-Fi, por lo que para conectarse a la nueva red inalámbrica   debe aparecer llamada ‘CameraRobot’. La contraseña de la red es “raspberry”.

Nota: En algunas ocasiones el dongle WiFi en el Pi no obtendrá una dirección IP (error conocido) y por lo que no será capaz de conectarse a la red (el dispositivo pasará edades autenticación y obtener una dirección IP).Este problema suele resolverse girando el robot apagado y otra vez.

 

Para la sección de Arduino Nano,  gracias a @JordiBinefa y @electronicscat se  usa su  biblioteca de e-cat .

El robot se controla con una interfaz web que significa que debería ser accesible desde la más amplia gama de dispositivos posibles. La interfaz web hace uso de HTML5 sin embargo, por lo que tendrá que utilizar un navegador hasta la fecha. Se encontró que Chrome funciona bien en todas las plataformas que se ha probado.

 

Para controlar el robot escriba la dirección IP 192.168.42.1 en la barra de direcciones.

 

 

robot coche con PICAM. Prespectiva.

 

Tiene conexión Wifi, por lo tanto se puede trastear con ella sin cables y eso es muy cómodo. Con éste sistema básico, se puede expandir muchísimo y quizás dar el paso con OpenCV o algún otro tipo de funcionalidad compleja gracias a la potencia que ofrece la Raspberry Pi.

El proyecto desde luego es sumamente interesante  y desde luego abre un camino para nuestra imaginación para replicarlo y mejorarlo dotándolo de nuevas modificaciones   que sin duda lo harán mucho mejor si cabe

Fuente aqui

Construyen un Pancreas artificial con una Raspberry Pi


Dana Lewis tiene diabetes tipo 1,  enfermedad  que ha tenido que hacer frente desde que tenía 14años . En la diabetes tipo 1, el páncreas no produce suficiente insulina – la hormona que hacen que la glucosa disponible para que las células del cuerpo para utilizar como combustible – o, a veces, el páncreas no funciona en absoluto.

El páncreas es responsable, entre otras funciones de producir y segregar hormonas importantes como la insulina (disminuye los niveles de glucosa sanguínea) y el glucagón (eleva los niveles de glucosa en la sangre),así que su falta o mal funcionamiento puede poner en peligro nuestras vidas excepto que puedas conectarte a un páncreas artificial.

La gente como Dana tienen que controlar los niveles de azúcar en la sangre muy de cerca con el uso de un monitor continuo de glucosa (CGM) bajo la piel de su abdomen, o pincharse un dedo 12 veces al día y medirse la glucosa en la gota de sangre resultante. La dosis de insulina se calcula entonces para que se corresponda con los niveles de azúcar en la sangre de la persona diabética. Este proceso es incómodo y puede ser difícil en algunas circunstancias: en particular, Dana encontró que la alarma era tan débil que no la oia al dormir en toda la noche. Si una persona diabética no corrige sus niveles los resultados pueden ser muy peligrosos. Así que Dana y su novio (ahora marido) de Scott Leibrand decidieron iniciar un proyecto para hacer que la alarma de CGM fuera suficientemente fuerte como para despertar a ella en la noche.
DIY Páncreas , es finalmente su dispositivo basado en una Raspberry Pi . La Raspberry Pi recibe los datos del CGM, controla un algoritmo de aprendizaje y provee de los comandos a su bomba de insulina. Ese algoritmo de aprendizaje significa que después de observarlo Dana presionando el botón que controla la bomba de insulina, el páncreas artificial a aprendido de sus hábitos, y obtiene su dosis correcta 100% del tiempo, incluso cuando está durmiendo.

pancreas

 

Desgraciadamente las normas de la FDA significa que Dana y Scott no pueden publicar instrucciones completas de como han construido su páncreas artificial   así  que  están trabajando en la fabricación de páncreas de forma casera de código abierto ( se puede encontrar más información aquí )  y de forma que haya  suficiente información disponible para que el sistema pueda ser replicado, para que otras personas con diabetes pueden beneficiarse de su trabajo. Necesitan voluntarios con todo tipo de habilidades: si usted está interesado en ayudar, se puede obtener más información sobre el proyecto aquí.

Para saber mas del proyecto Dana podemos ver en el video compartiendo la experiencia de la vida real de lo que sucede cuando una comunidad de código abierto se acopla con ambos fabricantes de dispositivos y los organismos reguladores como la FDA los EE.UU. , y lo que esto significa para el futuro de la innovación .

El vídeo está en inglés aunque es posible activar los subtítulos para seguir mejor la presentación e incluso activar la traducción simultanea al español.

 

 

Sencillamente es fascinante todo lo que se puede llegar a hacer gracias a la voluntad de una  comunidad y al uso de tecnología que nos acerca cada vez más  a tratamientos accesibles a todas las personas que lo necesiten aunque no dispongan de un presupuesto elevado que les posibilite acceder a esta tecnología a un coste mucho mayor.

Más información:
http://fossforce.com/2016/05/artificial-pancreas-raspberry-pi/
https://www.raspberrypi.org/blog/artificial-raspberry-pi-pancreas/
https://ourhealthandenvironment.wordpress.com/2015/11/13/i-am-now-a-bionic-woman/

Las manos bionicas comienzan a ser una realidad


El primer usuario del Reino Unido de una mano sustancialmente realista es de 29 años de edad, y es Nicky Ashwell, que ahora estaba equipada con la mano bionica llamada bebionic. El evento marca un paso adelante en el desarrollo de los más pequeños y versátiles manos mioeléctricas. El bebionic y su tecnología se presentaron el martes en un lanzamiento en Reino Unido, en el Centro de Prótesis de Londres.
Esta entidad es un centro que ofrece servicios en prótesis. Abdo Haidar, técnico ortopédico consultor y director del Centro, dijo que la “pequeña bebionic mano marca un punto de inflexión en el mundo de la prótesis. “
Ashwell nació sin una mano derecha, también descrito como un “amputado congénito.” Ella había sido incapaz de hacer muchas de las tareas diarias a dos manos que otros puedan tomar por sentado-sosteniendo un vaso con las dos manos, la apertura de una bolsa, andar en bicicleta. Ella había estado usando una mano cosmética sin movimiento antes de ser equipado con la nueva mano.

 


El “bebionic” marca un cambio significativo para ella, ya que imita las funciones de una mano real a través de 14 diferentes patrones de agarre y posición de las manos. Esto ahora le da la capacidad de realizar una serie de movimientos de precisión.
La mano tiene 337 partes mecánicas. Sus materiales incluyen imanes de tierras raras. Sus actuadores individuales se involucran los imanes en cada dedo para mejorar el rendimiento a través de un equilibrio de la velocidad con la fuerza.
Los desarrolladores de la bebionic son más pronunciadas. Este es un fabricante con sede en Reino Unido y proveedor de productos de tecnología de prótesis, órtesis y ayudas técnicas. Ellos dijeron que la pequeña mano bebionic era la única mano multi-articulado con el control dedo patentado sistema de uso de la tierra rara imanes .
La mano pesa sólo 390g, con la distribución de peso hacia la muñeca, por natural de movimiento. Al mismo tiempo, la mano es lo suficientemente fuerte como para manejar 45kg-el peso de alrededor de 25 ladrillos.
Steeper creó la mano en la escala para las mujeres, adolescentes y hombres pequeños enmarcada. “Una precisa estructura esquelética se desarrolló en primer lugar, con el complejo de la tecnología entonces desarrollado específicamente para caber dentro de este con el fin de mantener la precisión anatómica. En otras manos mioeléctricas la tecnología se desarrolló por primera vez, a costa de la verosimilitud “, dijo Ted Varley, Steeper de director técnico.
La mano tardó siete años en desarrollarse. Cómo funciona-a través de sensores y microprocesadores potentes. El pequeño bebionic mano hace uso de sensores activados por movimientos musculares del usuario que se conectan a motores individuales en cada dedo. La tecnología cuenta con un sistema único que rastrea y detecta cada dedo a través de cada uno de sus movimientos, dijo Steeper.
La única barrera de BeBionic es que resulta un tanto complejo de usar pues necesita de práctica y entrenamiento,lo cual es algo lógico pues se debe acostumbrar al cuerpo a cambiar entre los 14 perfiles disponibles, una acción natural para cualquier persona con los dos brazos. Pero el avance conseguido  es enorme. Existen ya muchos acercamientos neuromotores que permitirán mejorar la precisión y acción de los brazos biónicos del futuro. Esto quiere decir que seremos capaces de transmitir mejor y más precisamente lo que queremos hacer a nuestro miembro biónico(incluso muy probablemente se hará directamente con el pensamiento) . La ingeniería, además, está dando pasos agigantados para crear cada vez piezas más perfectas. Gracias a todo este trabajo, gente como Nicky, puede recuperar su vida normal, día a día.

El brazo actual  es portable por lo que no necesita ser conectado permanentemente,y  recibe las señales mioelectricas del músculo del brazo a través de la piel,  permitiendo  al brazo moverse a voluntad del usuario

 

¿Que nos deparará el futuro ? Sin duda ,muchas cosas y muy impactantes  aún mas si cabe que los avances actuales .

Quizás lo más apasionante es cómo la tecnología puede llegar a ayudar  a los seres  humanos  hasta tal punto que una persona sin movilidad en una mano pueda llevar una vida normal, una persona con un pie amputado pueda andar (incluso correr) , una persona con ella se pueda comunicar usasndo un ordenador   ,etc

Fuente aqui

Robots de todos los precios y para todas las edades


Lo que se ve se recuerda  y  lo que se hace se aprende, de modo  que la educación  quizás sea nuestro mayor recurso a explotar para cambiar y mejorar el mundo en el que vivimos.

La robótica es, sobre todo, un medio para aprender y según todas las previsiones  de  analistas  parece ser que será la tecnología del futuro .

Con la robótica, los niños potencian su creatividad, la lógica visual y sus habilidades sociales para trabajar en equipo. Al ayudarles a construir sus propios robots, se hacen más responsables de ellos ya que valoran más el resultado final.  Además, es una forma divertida para que se familiaricen con el funcionamiento de la electrónica y la programación.

A continuación,  vamos  a  ver  un pequeño resumen  (ordenados de menor  a mayor precio ) de  algunas  posibilidades de “robots” educativos sin duda  ideales para regalar a los más pequeños en esta fechas : de una forma muy divertida no solo jugaran sino  que también aprenderán nociones de electrónica y robótica de un modo muy didáctico.

 

 

 24,95€

Ecorobot

Estimula la curiosidad por el entorno, el interés por conocer como funcionan las cosas y el pensamiento creativo y constructivo.Ayuda a desarrollar el interés por las energías alternativas sostenibles y la conciencia ecológica.Los 14 robots son: Row, Boxer, Crab, Turtle, Slither, Quadru, Surf, Boat, Walker, Wheel, Auto, Roly Poly, Beetle y Dog.

Funcionan directamente bajo la luz solar gracias a un minipanel solar que incorpora  si bien e interiores también puede utilizarse   bajo luz  potente  (recomiendan exponerlo  a   luz halógena de 50W).

Hay dos niveles de construcción, en el segundo están Roly Poly, Auto, Slither, Surf, Boxer, Crab y Row, constituyendo un divertido reto para la habilidad (hasta 14 robots diferentes )

En este producto ,el objetivo está más relacionado con la construcción y comprensión del funcionamiento de un robot que  la  propia programación, aunque se da una vision de las energías renovables al funcionar el Ecorobot por energía solar.

Ideal para niños  a partir de 9 años.

 45,87€

Cebek

Es un brazo robotizado con pinza y mando con cable, en formato kit para ensamblar ref C-9895 de la marca CEBEKIT de FADISEL.Viene con un manual muy gráfico y entretenido de montar. De fácil manejo con su mando, como se ve en el video.

Se trata de un autentico brazo-robot con cinco grados de libertad. Equipado con 5 motores independientes, las palancas de la unidad de control controlan la rotación de la base, el movimiento del codo y de la muñeca, y la apertura y cierre de la pinza.Puede agarrar, liberar, levantar, bajar y girar. Una luz de búsqueda en la pinza aumenta la diversión cuando funciona en la oscuridad.

Se suministra con su mando por cable. Es ideal para prácticas de Ciclos Formativos y de robótica. Manual muy gráfico y entretenido de montar.

Permite una carga máxima de 100 gramos. Precisa de cuatro pilas de 1,5 V tipo D (no incluidas).

También puede programar y controlar automática y autónomamente su brazo-robot a través de la plataforma abierta Arduino. Esta alternativa evita la necesidad de que el controlador sea un ordenador, y permite añadirle sensores al robot y practicar con distintos algoritmos de teoría de control y cinemática inversa.

Compone una serie de Kits Robot para el futuro ingeniero permitiendo descubrir de una manera agradable como familiarizarse con la electrónica y la mecánica

Recomendado a partir de 10-12 años. Se recomienda la supervisión de un adulto.

 

 50$

Ozobot

Papel en blanco y rotuladores de colores bastan para programar el funcionamiento de Ozobot. Este pequeño dispositivo es capaz de interactuar tanto con dispositivos electrónicos (la pantalla de un tablet iOS o Android) como con entornos físicos clásicos como el papel.

Ozobot se programa en el ordenador para que siga una serie de instrucciones o indicarle las reglas básicas que deben regir su movimiento, y posteriormente, en un entorno real, podemos componer su campo de prueba.

Como otros robots de este tipo, las aplicaciones principalmente para competir y jugar con ellos son bastante variadas.

Se aconseja  para niños de más de 9 años.

80€

Bee Bot

 

Una opción pensado  para los mas pequeños (hasta 5 años ) que proviene del sector educativo es Bee Bot. Este pequeño robot permite escalar el grado de dificultad del aprendizaje a realizar, partiendo de un juguete con controles físicos que nos dejan la programación direccional sin ningún elemento extra, pero que también acepta la programación desde una aplicación o el ordenador con una simulación más compleja.

Es además recargable, por lo que nos evitamos las pilas  y de paso  se da una visión de las energías renovables .

85€

Mi primer kit de robótica

Desde el milagro  tetecnológicoe la empresa española   BQ   nos proponen un kit único en el mercado con todo lo necesario para que pueda montar sus propios robots en casa de una forma cómoda y sencilla,  con un público destino de  niños entre 5  a 9 años .

Una oportunidad perfecta para compartir tiempo y afición con los más pequeños en una actividad muy enriquecedora para ambas partes.

El kit está formado por 10 componentes electrónicos y un portapilas con los que podrá montar la electrónica de cualquier PrintBot y muchos otros juegos .

En un mundo en el que el dominio de las nuevas tecnologías será muy pronto esencial para cualquier ciudadano, este kit es el primer paso para alcanzar nuestro objetivo: revolucionar el proceso de aprendizaje, incluso ya desde la primera etapa, jugando.

Nos  explican ademas   que el proceso de montaje es muy sencillo:

  • Elija los componentes electrónicos necesarios para montar un printbot o cualquier juego robótico que se te ocurra.
  • Elija la carcasa adecuada
  • Comience el montaje de todas las piezas.
  • Programe e instale el código.
  • Disfrute del robot y recuerde que siempre podrá desprogramarlo y desmontarlo para fabricar otro toda las veces que quiera

Los juguetes y robots que implican total libertad de diseño nos fascinan. La imaginación entra en juego en la fase de diseño y construcción y posteriormente, a la hora de programar, entra más la parte lógica y esquemática del juego, que corre a cargo de Arduino.

 

Este kit de robótica de BQ podemos ampliarlo cuanto queramos, pues disponemos de numerosas piezas y elementos a añadir. Y por si fuera poco, es compatible con las impresoras de BQ, por lo que podremos crear e imprimir nuestra propia carcasa para el robot en tres dimensiones.

Más información  aqui: Mi primer kit de robótica

 

 

 

 

100€

Ollie Sphero

Los creadores de la Sphero 2.0 han puesto recientemente en el mercado una evolución de la misma llamada Ollie pensado  para los mas pequeños (hasta 5 años ). Este robot se centra más en la velocidad, giros y piruetas que podemos hacer con él mediante una conexión bluetooth con un smartphone.

Pero tanto la Sphero como el nuevo Ollie incluyen una serie de aplicaciones para comenzar a conocer el mundo de los robots, que se complementa con dos aplicaciones de programación (macroLab y orbBasic) muy sencillas de usar y que son ya usadas en algunos centros educativos de EEUU.

 

150€

Lego Wedo

Lego es toda una referencia al hablar de juguetes y robótica para todas las edades. Wedo es su plan para los más pequeños (a partir de 7 años), y se compone de piezas con engranajes, motores, sensores y demás elementos necesarios para construir libremente un robot o seguir las instrucciones y acabar montando alguno de los 12 modelos preestablecidos y que cuentan con instrucciones paso a paso.

 

Estos robots, una vez construidos, se conectan de forma sencilla y directa a un ordenador mediante un cable USB, donde el niño/a puede programar mediante iconos el comportamiento que desea para su creación.

Más información  aqui:  LEGO 9580 WeDo – Conjunto de construcción

160€

Parrot Jumping Sumo

Esta incorporación a la colección de MiniDrones de Parrot es rápido, resistente y también ágil, efectúa acrobacias que nunca se han visto antes. A través de este aparato, simple y fácil de utilizar, Parrot ha reinventado la experiencia de jugar con robots.

Jumping Sumo genera su propia conexión Wi-Fi (AC), lo que permite una conexión automática con tu smartphone o tableta en cuanto ejecutas la aplicación gratuita FreeFlight 3 (para smartphones y tabletas iOS y Android, disponible en octubre de 2014 para Windows 8.1 y Windows Phone 8.1). Gracias a su avanzado sistema de saltos, Jumping Sumo puede saltar hasta 80 cm vertical y horizontalmente. Se desplaza hasta 7 km/h  se detiene, gira y coge curvas de 90° o 180° muy rápidamente.

Con sus ruedas ajustables, Jumping Sumo ofrece 2 experiencias diferentes. Según tu nivel de experiencia, puedes optar por la estabilidad (ruedas desplegadas) o la velocidad (ruedas plegadas). Gracias a su diseño robusto y resistente a los golpes, puedes saltar, rodar y explorar sin detenerte. Y lo que es aún más asombroso, Jumping Sumo siempre aterriza sobre sus ruedas. Como está equipado con un giroscopio y un procesador de alta velocidad, el piloto puede aprovechar al máximo su infalible agilidad y control de conducción superintuitivo. Jumping Sumo demuestra su personalidad osada a través de sus luces LED parpadeantes y sonidos, ¡no dudes en personalizar tu robot con una gama de pegatinas según tu estado de ánimo! Programa tus propios espectáculos y representa diferentes coreografías con movimientos y trucos para fascinar a tus espectadores. Batería de iones de litio con una autonomía de 20 minutos y compatible con el MiniDrone Rolling Spider.

 

Jumping Sumo tiene la capacidad de saltar hasta 80 cm vertical y horizontalmente. Carga previamente el resorte para anticipar tus saltos o utiliza uno de los 3 modos: Jumper, Kicker y Auto-Balance. Jumping Sumo siempre aterriza sobre sus ruedas.

Rueda y Gira en un abrir y cerrar de ojos. Muévete hacia adelante y hacia atrás y ajusta tu velocidad para adaptarla a la situación. Jumping Sumo puede rodar a una velocidad de 7 km/h y esquivar cualquier obstáculo que encuentre en su camino girando 90°/180° simplemente moviendo un dedo.

Con una cámara gran angular de 640 x 480 píxeles, ves lo que él ve. Guarda*, transmite y haz fotos y vídeos en tu smartphone y tableta (*en una unidad flash micro USB, se vende por separado).

La aplicación FreeFlight 3, para Smartphone y tabletas iOS y Android, y disponible en octubre de 2014 en Windows 8.1 y Windows Phone 8.1, también controla el MiniDrone Rolling Spider. Jumping Sumo genera su propia conexión Wi-Fi (AC), con un rango de control de hasta 50 metros.

Un “mapa de ruta” te permite programar una secuencia de acciones. Al ingresar en la aplicación, el itinerario aparece entre los movimientos predeterminados de tu Jumping Sumo.

Este   robot tiene   un público destino de  niños entre 5  a 9 años .

Más información  aqui:  Parrot – MiniDrone Jumping Sumo, color blanco (PF724000AA)

 

 

 

 

 

180€

mOwayduino

La gente de Minirobots, una empresa española, logró poner en el mercado el año pasado su robot educativo Mowayduino. Como habrá deducido por su nombre, se trata de un robot basado en Arduino y que viene dotado de sensores de proximidad y luz, así como micrófono y altavoz, pero también se puede ampliar con diferentes módulos como la conectividad WiFi o una cámara.

Para programar su funcionamiento podemos recurrir al propio entorno de desarrollo de Arduino o recurrir a Java, Python o incluso Scratch.

Por cierto, el software para programar el mOwayduino está disponible tanto para Windows como para Mac y Linux.

Ideal para niños  a partir de 9 años.

 

200€

Fischertechnik Robo Tx

 

 

La creación de un robot más complejo arranca con el Robo TX de Fischertechnik. Más de 400 piezas y numerosos sensores y actuadores como el ultrasónico, de luz infrarroja o de temperatura pone en las manos de los mayores de diez años una infinidad de posibilidades para crear un modelo robótico capaz de medir distancias o gestionar tareas complejas como si de una cadena de montaje se tratara.

Tecnología Experiencia directa y entender fácilmente  mediante un módulo básico Ingenioso a los detalles técnicos refinados – todo puede ser combinado – para el juego de la diversión sin límites

Fischertechnik – Entender la tecnología mientras juegas!  El bloque “polifacéticos” La base para todos los juegos de construcción fischertechnik   Fischertechnik se ha utilizado con éxito en las escuelas, la educación y la formación  en  niños  a partir de 9 años.

Este kit está pensado expresamente para participar en competiciones robóticas donde poner a prueba nuestros avances.

Ideal para niños  a partir de 9 años.

Más información  aqui:  Fischertechnik Robo Tx – Juego de construcción robotizado

229$

Kibo

Cuanto menos peculiar es la manera en que el robot Kibo quiere que lo programen. Nada de aplicaciones o programas de ordenador. Todo es manual y tangible en tres dimensiones ya que los módulos que permiten a Kibo modificar su comportamiento son bloques físicos.

Los pequeños ingenieros solo deben crear con ayuda de los bloques el programa que pretenden que ejecute el robot. Una vez colocados los módulos, se escanea la secuencia y pulsando el botón de ejecutar, el robot Kibo se pone en marcha.

 

Este robot ha nacido de una campaña de financiación colectiva y esta diseñado  para  un público destino de  niños entre 5  a 9 años .

 250$

Dash&Dot

 

Una de las soluciones de robótica para niños más completa del mercado se ha estrenado hace poco Pensado  para los mas pequeños (hasta 5 años ) se e llama Dash&Dot y comienzo con unos pequeños robots que podemos controlar a distancia, la gama de accesorios, piezas Lego (el sistema es compatible) o lenguajes de programación de iniciación

 

Si optamos por las aplicaciones, con edades recomendadas a partir de 4 años, ahí ya entran en juego los accesorios. Desde una montura para colocar un smartphone y grabar vídeo con él, a un xilófono que podremos controlar desde la aplicación correspondiente.

Si queremos ir más allá, Dash&Dot son compatibles con Blocky de Google, permitiendo la programación a un nivel superior, yéndonos ya a una edad recomendada de más de 8 años. El kit de iniciación sin accesorios cuesta 250 dólares.

 

 

Y si piensa que este pequeño insecto no permite infinidad de actividades relacionadas no solo con la programación sino con la lengua, las matemáticas o incluso la creatividad artística (se puede proponer crear una “funda” o disfraz para el robot), toma nota porque en la red podemos encontrar verdaderas maravillas

 

 

340€

Lego Mindstorms EV3

 

Uno de los clásicos ya veteranos de la robótica para niños es sin duda el Mindstorms de Lego. El modelo EV3 es el que la compañía enfoca en el mercado de consumo, pero su origen es el educativo.

Controla y ordena a su robot con el mando a distancia incluido o descarga la aplicación gratuita para su dispositivo iOS o Android

El corazón del set es el ladrillo inteligente EV3, equipado con un potente procesador ARM9, un puerto USB para proporcionar funciones WiFi y conexión a Internet, un lector de tarjetas Micro SD, botones retroiluminados y 4 puertos de motor.

Incluye 3 servomotores interactivos, un control remoto, un sensor de color mejorado y rediseñado, un sensor de contacto rediseñado, un sensor de infrarrojos y más de 550 elementos LEGO Technic.

Incluye más de 550 elementos LEGO Technic: ¡todo lo que necesitas para crear asombrosos robots!

Con la base del clásico ladrillo de Lego, el kit permite la construcción de varios modelos de robots complejos a los que se puede dar “vida” usando un sistema de programación con interfaz intuitiva y basada en los iconos.

Ideal para niños  a partir de 9 años.

Más información  aqui:  LEGO Mindstorms – EV3, juguete electrónico (31313)

 

500€

Robotis Mini

También con un claro enfoque para la competición, si queremos, entra en escena Robotis Mini, el hermano pequeño de un modelo que se usa en competiciones internacionales de robótica.

Con este robot, el reto no está solo en la construcción del propio robot sino en sacar provecho del gran potencial de sus posibilidades basadas en los 16 motores o actuadores digitales. Los que se inician en el mundo de la robótica tienen la opción de realizar una programación visual o directamente colocando el robot en las diferentes posiciones que se quiere que adapte, grabarlos y dejar que el software lo convierta en instrucciones para el robot.

 

En el caso de niños que ya tienen experiencia programando, hay un modo tipo Arduino pero implementado por la propia compañía. Y por último hay opción de que sea directamente desde un smartphone vía bluetooth como decidamos qué respuesta debe dar el robot según en sensor que se active o directamente botones de movimiento.

Las posibilidades de ampliación son bastantes, incluyendo piezas impresas en 3D o una serie de actuadores y sensores más complejos.

 

Ideal para niños  a partir de 9 años.

Más información  aqui:  Robotis Darwin-Mini

Fuente aqui