¡Hola de nuevo! Una vez que hemos visto muchas de las características de la programación, vamos a ver cómo interfieren estos programas en nuestra vida. Es lo que los ingenieros informáticos llaman "computación física".
Hasta ahora nos hemos movido en el mundo de las ideas, el mundo lógico. Nuestros programas resolvían problemas abstractos que, como mucho, nos mostraban imágenes o sonidos, pero su interacción con el exterior era limitada.
Ahora queremos saber cómo interactuar con el mundo real mediante mecanismos electricos y mecánicos (electromecánicos). Con esta idea debemos darnos cuenta que nuestro sistema (o robot) contará con unos elementos que nos den información del entorno (sensores) y otros elementos que ejecuten las acciones (actuadores) decididas por el programa que corre en el cerebro (unidad de control).
La unidad de control es lo que podemos programar y es equivalente al "cerebro" de nuestro sistema. Los sensores serían los "ojos", "oidos" y demás sentidos de nuestro cuerpo, que mandan información del entorno. Por último, los actuadores son los "brazos", "piernas", "boca" y cualquier mecanismo que envíe señales al exterior.
En los mecanismos actuales se distinguen básicamente dos tipos de unidades de control: los microprocesadores y los microcontroladores. Ambos son parecidos pero si los miramos de cerca, vemos que los segundos son más completos que los primeros.
Los microprocesadores son las unidades de control de nuestros ordenadores. Son complejos sistemas electrónicos que ejecutan instrucciones a una velocidad endiablada pero no poseen memoria y no tienen capacidad de interactuar con el exterior. Por ello nuestros ordenadores acompañan el microprocesador con memorias y tarjetas periféricas para impresoras, video y sonido.
En el otro extremo los microcontroladores son elementos electrónicos que se han creado para procesar entradas y salidas de señales que permitan controlar elementos electromecánicos. Cuentan con memoria, escasa, pero suficiente para ejecutar programas prefijados en su interior. En los últimos años han aparecido placas microcontroladoras que amplían la potencia de los microcontroladores añadiendo más memoria y aumentando la cantidad de conectores de entrada y salida.
Algunos ejemplos de microprocesadores históricos son:
- Intel 4004, el primer microprocesador integrado de la historia.
- Intel 8086 y 8088, el micro del IBM PC, el abuelo de los ordenadores personales.
- MOS 6502, el micro del Apple I, primer ordenador Apple.
- Z80A, el cerebro del ordenador Spectrum.
- AMD K5, el primer microprocesador de AMD, la gran competidora de Intel.
- Intel Pentium, que dio lugar a una gran familia antes del salto al multinúcleo.
Algunos de los microcontroladores más representativos son:
- TMS1000, el primer microcontrolador creado por Texas Instruments.
- Intel 8051, que tuvo una producción de más de 40 años.
- Motorola MC68HC805, el primer microcontrolador con firmware grabada en memoria EEPROM.
- Microchip PIC16C84, que fue el primer microcontrolador con una memoria EEPROM borrable electrónicamente.
- ATMega 328P, el microcontrolador del mítico Arduino.
Por último las placas microcontroladoras más famosas en la actualidad serían:
- Arduino, una familia que comprende desde el modelo UNO hasta la MKR1000.
- Raspberry PI, un microordenador con funciones robóticas de origen británico.
- Intel Edison, es la placa microcontroladora de Intel con gran potencia y alto precio.
- Beaglebone Blue, y su familia de potentes placas microprocesadoras.
- Crumble de Redfern Electronics, es una sencilla placa accesible a los más pequeños.
- PICAXE, es una familia de placas educativas para introducirse en la robótica.
Con esta extensa visión de la conexión entre el mundo lógico y el físico nos adentramos en el fantástico campo de la robótica. Miles de horas de diversión, nervios y misterios nos esperan ante la disciplica más retadora de la ingeniería moderna. ¿Te atreves a acompañarnos?
J. Carlos Avendaño
Ingeniero Industrial y profesor.