Viaje al corazón de la robótica (I)

 

Robots contra Automatismos

En este viaje al corazón de la robótica nos planteamos algunas cuestiones básicas que se nos ocurren al ver un Robot funcionando. Todos nos hemos preguntado alguna vez ¿cómo funcionará este “bicho” ?, y la respuesta puede ser más sencilla de lo que nos imaginamos. Cualquier Robot ha de tener 3 elementos básicos:

(1) Dentro de ese Robot debe haber una plaquita electrónica “programable” – más o menos compleja – que será el cerebro que controle dicho Robot.
(2) Además, tendremos una serie de sensores (encargados de capturar diversos datos) y una serie de actuadores, encargados de “que se mueva” a nuestro Robot.
(3) Por último, debemos saber que el “cerebro” de nuestro Robot debe tener un programa que será, digamos, la “inteligencia” del Robot.

ViajeRobotica_2

Así pues son tres los componentes que conforman un Robot:

1 – El “cerebro” o sistema de control (la placa electrónica principal)
2 – Los sensores y actuadores (lo comunican con el mundo real)
3 – El programa (dice al Robot lo que ha de hacer)

Aunque estas son las tres partes fundamentales de un Robot, también es importante destacar la forma (aspecto) del mismo, la cual dependerá del uso que demos al mismo.
Realmente un Robot es algo muy parecido a un automatismo, un sistema electrónico que ejecuta cierta operaciones en función de ciertas señales, pero podemos “cruzar” la fina línea que separa los automatismos de los Robots mediante un ejemplo.
Un automatismo puede ser la placa electrónica que detecta la señal de nuestro mando a distancia y abre la puerta del garaje. Una característica de los automatismos es que realizan tareas “repetitivas” para las que han sido diseñados, mientras que un Robot (por ejemplo un brazo robótico) puede ejecutar programas más complejos, con “decisiones” que dependerán de sus sensores y, además, puede ser reprogramado para realizar tareas diferentes.

El cerebro del Robot

En el ejemplo que vamos a utilizar para adentrarnos en el mundillo de la Robótica tendremos que elegir una placa electrónica de control, y en nuestro ejemplo hemos optado por la popular placa Arduino.
Cada placa electrónica “inteligente” que sea capaz de formar parte de un Robot ha de tener un chip “corazón” que es el que se comporta como un pequeño ordenador, a este se le suele denominar microcontrolador. En el caso de la placa Arduino este es un chip de la firma Atmel, y además de este la placa necesita varios componentes electrónicos más… pero esa es otra historia.
Queda claro que tendremos que conectarle sensores y actuadores al Arduino, así que vamos a ver que patillas nos ofrece para comunicarse con el exterior:

ViajeRobotica_3

En el gráfico superior podemos ver (muuuy resumidas) las posibilidades de conexión del Arduino. Está claro que tendremos que utilizar las patillas de salida para mover diferentes partes (relés, servos, motores, LEDs, altavoces, etc) y las patillas de entrada para conectar diversos sensores (pulsadores, sensores de temperatura, humedad, luminosidad, etc). Al ver los tipos de sensores comentaremos la diferencia entre entradas analógicas y digitales.

Los sensores y actuadores

Mediante las patillas de Entrada y Salida, patillas E/S para abreviar (o I/O para los Shakesperianos) el Robot se “relaciona” con el mundo exterior.
Algunos ejemplos de “cosas” controlables desde el Arduino mediante las patillas de salida:

– Relé
– Motor
– Servo
– Diodo LED
– Altavoz
– Display LCD
etc.

Algunos ejemplos de “dispositivos” que se conectan al Arduino mediante las patillas de salida:

– Pulsador
– Sensor de temperatura
– Sensor de luminosidad
– Contacto de relé externo

ViajeRobotica_4

En nuestro caso (placa Arduino) podemos optar por adquirir los diferentes sensores en tiendas de electrónica o utilizar las facilidades que nos ofrece el Kit de Robótica de la firma bq , en este último caso tendremos, además, excelentes tutoriales en la página que han preparado para los mismos.

Conviene que sepamos que la placa Arduino ofrece entradas de tipo analógico y digital, ¿que qué es esto?, lo comentamos con un ejemplo.

Supongamos que nuestro Robot (más bien su placa Arduino) desea “medir” dos parámetros diferentes mediante dos sensores típicos, una barrera óptica de seguridad y un sensor de luminosidad ambiente. Sin entrar en detalles de circuitería electrónica, lo que nos conviene saber es que la barrera nos va a proporcional una señal “digital” y el sensor lumínico una señal analógica. En estos gráficos podemos verlo (muy) resumido:

La barrera luminosa – usa un emisor y un receptor de luz – cuando se interrumpe (detecta el paso de algo o alguien) genera una señal de tipo digital, es decir, un cero o un uno lógico, o lo que electrónicamente puede medirse como cero o cinco voltios.

ViajeRobotica_6

El sensor de luminosidad genera una señal que puede variar en nivel de tensión entre cero y cinco voltios, es decir, que puede por ejemplo valer 3.5 voltios, valor que llega a una patilla de entrada analógica del Arduino y que el programa del mismo interpretará como un nivel de luz. Esta claro que los niveles de un sensor analógico tienen unos topes de cero (mínimo) y cinco voltios (máximo), pudiendo “detectar” cualquier valor intermedio entre ellos.

Por lo tanto, ya sabemos que

* un sensor conectado a una patilla de entrada digital de Arduino puede darnos 2 valores.
* un sensor conectado a una patilla de entrada analógica de Arduino puede darnos muchos valores entre 2 topes.


El programa del Robot

Cuando nuestro Robot o control robotizado esté ya electrónicamente acabado, es decir, todos los cables conectados, llegará el momento de programar su “cerebro”. Tenemos varias opciones para hacerlo. El IDE (entorno de desarrollo) de Arduino ya nos proporciona el editor para escribir nuestro propio programa y “volcarlo” a Arduino. Esto lo hemos visto en la entrada “Arduino en cerocoma” y lo volveremos a ver más adelante.

Pero existen otras opciones mucho más visuales y sencillas que pueden ayudarnos a “enseñar” a nuestro Robot lo que ha de hacer. Un ejemplo es el entorno tipo “scratch”  – conocido como bitbloq – que nos ofrece la firma bq.

ViajeRobotica_5

Podremos utilizar pequeños “bloques” de código (de programa) e ir acoplándolos como si de un puzzle se tratara. Finalmente podremos grabar (volcar) el programita a nuestro Arduino.

En la siguiente entrada de nuestro “viaje al corazón de la Robótica” os proponemos una ejemplo sencillo de control para Arduino, haciendo uso simultaneamente del IDE estandar y del IDE de bq para que nos familiaricemos con ambos.

 

Leave a Reply

  

  

  

  Bitcoin Currency Converter
Amount of BTC to convert
To currency:
1BTC =