Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Aprendizaje
Virtual
Inclusión Digital
Fundamentos de la
Computación Física
Una Iniciación en la Robótica
Unidad 1
Surgimiento e Historia
de la Robótica Moderna
FUNDAMENTOS DE LA COMPUTACIÓN FÍSICA: UNA INICIACIÓN EN LA ROBÓTICA 3
Módulo 1: Surgimiento e
historia de la robótica mo-
derna
La RAE define a la mecánica como “parte de la física que estudia el movimiento y el equilibrio de los
cuerpos, así como de las fuerzas que los producen”. De manera más concreta, podemos pensar que la
mecánica se ocupa de crear herramientas y mecanismos para mover y darles movilidad a los cuerpos
como sistema de engranajes, poleas, etc.
Hoy en día nos rodean computadoras: las personales, los celulares, los
robots y muchos dispositivos electrónicos son técnicamente computa-
dores. Sin embargo, en lo que resta de curso, hablaremos de computa-
doras exclusivamente para referirnos a las computadoras personales.
1 https://youtu.be/UMpdN3E_qVw
FUNDAMENTOS DE LA COMPUTACIÓN FÍSICA: UNA INICIACIÓN EN LA ROBÓTICA 7
Módulo 2:
Arduino y sus posibilidades
Nuevos paradigmas sobre el uso y la creación
de los robots
Como vimos en el módulo anterior, a partir del siglo XX el desarrollo
de la robótica comienza un camino vertiginoso y acelerado. A la par
de los avances técnicos, surgen reflexiones acerca del acceso y el uso
social de las tecnologías mismas, dando lugar a la aparición de nuevos
paradigmas.
Computación ubicua
En la década de los 80, la mayoría de las personas habían visto un
robot mediante videos de difusión (como el de Unimate que vimos en
el módulo anterior), o mediante imaginarios distópicos presentes en
películas y novelas de ciencia ficción. En cambio, las computadoras sí
empezaban a ser parte del día a día de muchas personas.
La computación física
Ya en el siglo XXI, Dan Sullivan y Tom Tigoe escriben el libro “Computa-
ción física” (2004), donde retoman algunas de las nociones de “com-
putación ubicua”. Coinciden en que las computadoras personales son
poco amables, y argumentan que están pensadas para personas que
solamente tienen ojos y dedos para tipear o hacer click, seres así:
Software libre
Muchas veces, surge un malentendido al equiparar el concepto de “sof-
tware libre” con la idea de que el mismo sea gratuito, cuando en reali-
dad se refiere a “software para usuarios y usuarias libres”. ¿Qué implica
esto? Entre otras cosas, que quienes usan el programa puedan acceder
al texto del software, copiarlo, inspeccionarlo, modificarlo, corregir
errores y distribuirlo, sin la necesidad de pedir autorización a quien haya
programado el original.
FUNDAMENTOS DE LA COMPUTACIÓN FÍSICA: UNA INICIACIÓN EN LA ROBÓTICA 11
Hardware libre
Al igual que el software libre, el hardware libre también forma parte
de la cultura libre. Nos referimos a “hardware libre” para hablar de los
soportes físicos (los elementos materiales que componen un dispositi-
vo), cuyas especificaciones y diagramas esquemáticos* son de acceso
público, ya sea bajo algún tipo de pago o de forma gratuita.
Como muchas de las grandes innovaciones, Arduino nació ante una ne-
cesidad. En 2005, Massimo Banzi, por entonces estudiante del instituto
IVRAE de Italia, se encontró con el obstáculo económico que implicaba
adquirir una placa de microcontrolador para la mayoría de las personas
que estudiaban computación y electrónica. El objetivo original del pro-
yecto, entonces, fue crear una herramienta simple y de bajo costo que
permitiera crear proyectos digitales a personas que no tuvieran altos
conocimientos técnicos o sin un perfil de ingeniería.
3 https://www.diagonalperiodico.net/saberes/arduino-es-sistema-educativo-democrati-
za-la-tecnologia.html
FUNDAMENTOS DE LA COMPUTACIÓN FÍSICA: UNA INICIACIÓN EN LA ROBÓTICA 13
Módulo 3: La electrónica en
la computación física
¿Cómo funciona un proyecto de computación
física?
En el módulo 1, definimos a un “robot” como un dispositivo funcional
y programable, capaz de realizar una o varias acciones por sí solo a
partir de la capacidad de percibir el mundo que lo rodea, procesar esta
información y actuar en consecuencia. Recordemos, entonces, su
esquema de funcionamiento básico, cuyos elementos son los que le
permiten lograr la interacción con el entorno:
PLACA DE CONTROL
SENSORES (donde está el procesador o ACTUADORES
microcontrolador)
Actúan en base a
Reciben información Procesa información
información
Los sensores
Los sensores, también llamados transductores, son dispositivos que
permiten detectar información del mundo exterior, para que el micro-
controlador actúe en base a esos estímulos. Estos toman las señales
del mundo físico (en forma de temperatura, presión, humedad, con-
tacto, luz, movimiento, pH, etc.) y las convierten en energía eléctrica.
Luego, esta señal eléctrica se envía al microcontrolador, que es el
encargado de generar una respuesta.
Algunos ejemplos
Existen muchos tipos de sensores, que podemos utilizar dependiendo
qué queramos lograr con nuestro proyecto de computación física. Vea-
mos algunos de ellos que son muy utilizados en los proyectos Arduino.
El sistema de control
El sistema de control, por su parte, recibe la información del entorno
por medio de los sensores, que aportan datos para que el controlador
decida si hay que realizar alguna acción. En el caso de que esto sea así,
la acción se llevará a cabo por un actuador, que es el dispositivo que
tiene la capacidad de provocarla.
Los actuadores
Cerrando el circuito nos encontramos con los actuadores: dispositivos
que, siguiendo las órdenes del sistema de control, realizan acciones
que repercuten en el mundo “real”. Estos dispositivos convierten las
señales de corriente o voltaje en señales físicamente útiles, como movi-
miento, luz, sonido, fuerza, rotación, entre otros.
utilizar una placa Arduino, un sensor ultrasónico y una luz LED. Según
nos acerquemos a un objeto, el sensor iría subiendo su frecuencia y pro-
gramamos el microcontrolador para que a partir de un determinado valor,
se encienda la luz de LED.
¿Qué es Arduino?
Como comenzamos a ver en el módulo anterior, Arduino es una pla-
taforma electrónica de código abierto, que permite realizar proyectos
interactivos basados en software y hardware libre, flexibles y fáciles de
usar. El hardware consiste en una placa de circuito físico programable
(donde encontramos el microcontrolador), y el software opera en lo que
llamamos Arduino IDE (Entorno de Desarrollo Integrado), usado para
escribir y cargar código desde la computadora a la placa física. Las pla-
cas pueden comprarse a precios accesibles, y el software, por su parte,
puede descargarse de forma gratuita.
4. Puerto USB: se usa tanto para cargar los programas desde una com-
putadora al microcontrolador, como para dar electricidad al Arduino.
11. Zócalo de tensión: acá van a estar los pines con que alimentemos
nuestro circuito.
12. Entradas analógicas: zócalo con distintos pines que permiten leer
entradas analógicas.
Ejemplo práctico
Imaginemos un ejemplo sencillo: un proyecto de computación física que
consista en una luz de LED que se prenda y apague intermitentemente.
Para ello se necesita una placa Arduino Uno, una luz de led y un cable
USB para conectar la placa al ordenador. A continuación podemos ver
el plano y el esquema del proyecto, que nos indican dónde tenemos
que conectar el actuador, en este caso la luz LED. Como vemos en los
diagramas, las terminales del LED deberán conectarse en los pines de
entrada 13 y GND (que es la toma a tierra).
FUNDAMENTOS DE LA COMPUTACIÓN FÍSICA: UNA INICIACIÓN EN LA ROBÓTICA 21
Módulo 4: La Programación
en la Computación Física
¿Cómo funcionan los programas?
Como vimos en el módulo 1, la electrónica cambió para siempre el
campo de la informática, ya que significó un aumento exponencial de la
velocidad de procesamiento de las computadoras y de su capacidad de
almacenamiento. Actualmente, una computadora tiene la capacidad de
hacer entre 100 y 200 millones de operaciones matemáticas y lógicas
por segundo. Estas se pueden ordenar, acumular y llegar a tal punto de
abstracción que el ordenador podrá realizar una infinidad de funciones
que parecieran no tener nada que ver con números o lógica.
Pero las computadoras no pueden hacer esto solas; se les debe dar un
paso a paso de las comprobaciones y operaciones que deben hacer
para cumplir una función determinada. A estas instrucciones se las lla-
ma algoritmos. Los programas informáticos se hacen con algoritmos.
Esto parece sencillo, pero no lo es: la persona que programa debe pensar
cómo desmenuzar la función sofisticada que desea realizar, en una
sucesión de comprobaciones y operaciones a las que las computadoras
son capaces de responder. Es realmente una habilidad a desarrollar; las
personas especialistas hablan de la “inteligencia computacional” y la
consideran una aptitud importante hoy en día.
Por suerte, los lenguajes de alto nivel llegaron justamente para facilitar
la tarea de programar, y son los responsables de que se hayan podido
desarrollar muchas de las tareas que podemos hacer hoy en día con las
computadoras. Estos, en cierta forma, realizan parte de la programa-
ción por nosotres, como veremos más adelante con las funciones.
Existen muchos lenguajes de alto nivel, y cada uno es idóneo para desa-
rrollar determinado tipo de programas. El lenguaje C++, por ejemplo, se
usa frecuentemente para programación de “objetos”; en otras palabras,
para programar robots. Arduino usa una variante del C++.
No importa de qué tipo sean o en qué lenguaje de alto nivel estén he-
chos, todos los programas emplean funciones y variables, entre otros
elementos. En las siguientes páginas veremos de qué se trata cada uno
y cómo aparecen en los programas para computación física, particular-
mente los hechos con Arduino.
FUNDAMENTOS DE LA COMPUTACIÓN FÍSICA: UNA INICIACIÓN EN LA ROBÓTICA 24
Funciones
Si pensamos al programa entero como una tarea general, las funciones
son tareas específicas. Vayamos a un ejemplo concreto: el programa
necesario para el proyecto de computación física mencionado al final
del módulo 3 (que, por cierto, es un programa famoso llamado Blink).
Sabías que…
Los microcontroladores en realidad no tienen la capacidad de
trabajar con señales analógicas, por lo que estas funciones deben
“traducirse”, recurriendo a los pines de la placa y a la Modulación
de Ancho de Pulsos (PWM). Los pines pueden traducir señales
analógicas a señales digitales, y al PWM lo podemos pensar como
un truco que permite simular una señal analógica partiendo de
valores digitales.
En este cuadro podemos ver las funciones más usadas de ambos tipos:
Variables
Las funciones están hechas para actuar a partir de parámetros o para
medir determinados parámetros. Estos podrán ser distintos en cada
ejecución del programa, es por ello que se les llama variables.
Tipos de variables
Las variables que sólo pueden tener dos valores posibles, como “esta-
dosdeled”, son variables que toman valores constantes. Las empleare-
mos mucho en funciones digitales que trabajan con señales digitales, y
por ende sólo requerirán de dos valores.
Por otro lado, están las variables que podemos llamar analógicas,
como por ejemplo la temperatura. Pueden tener un amplio rango de
valores y las veremos precisamente en funciones analógicas.
Una vez anticipado el rango de valor que puede tener nuestra variable,
se lo avisamos al microcontrolador. A esto se le llama “declarar” la
variable, y puede realizarse antes del inicio del programa (en caso de
que la variable se vaya a usar en varias funciones del programa), o justo
antes de la función. Esto se hace así:
Como con todos los programas, lo podrás volver un acceso directo (que
esté a mano en el escritorio de tu computadora), en caso de que así lo
desees.
Haciendo un sketch
Si bien te quisimos explicar un poco de programación para que puedas
entender el funcionamiento de Arduino, y para que puedas reconocer y
modificar los diferentes elementos de los programas, te contamos que
en muchas ocasiones no tendrás necesidad de inventarlos o crearlos
desde cero. Arduino tiene una sección de “ejemplos”, donde ya vienen
varios sketches para distintos proyectos. Los encontrarás en el menú
FUNDAMENTOS DE LA COMPUTACIÓN FÍSICA: UNA INICIACIÓN EN LA ROBÓTICA 29
Blink, por ejemplo, se puede encontrar ya listo en los Ejemplos. Se verá así
FUNDAMENTOS DE LA COMPUTACIÓN FÍSICA: UNA INICIACIÓN EN LA ROBÓTICA 30
¿Y ahora?
En caso de tener una placa Arduino, con los conocimientos adquiridos
ya podrás llevar adelante proyectos sencillos de computación física,
como hacer que una luz LED parpadee.
¿Querés más?
Te proponemos una serie de temas y conceptos para que los profundi-
ces y los investigues por tu propia cuenta:
Electricidad y circuitos
Como dijimos en el primer capítulo, lo que hace la electrónica es mani-
pular la electricidad para crear señales diferenciadas y transmitir infor-
mación. Por eso puede ser de gran valor entender conceptos básicos
de electricidad como voltaje, corriente, resistencia y circuitos.
Componentes electrónicos
Además de los sensores, actuadores y microcontroladores que son la
base de cualquier proyecto de computación física, existen otros com-
ponentes electrónicos tales como protoboards, diodos, resistencias,
transistores, condensadores, etc
FUNDAMENTOS DE LA COMPUTACIÓN FÍSICA: UNA INICIACIÓN EN LA ROBÓTICA 31
Señales
Las señales son prácticamente el corazón de la electrónica: es infor-
mación trasladada en forma de electricidad. Aunque hemos explicado
lo que son las señales digitales y las señales analógicas, es importante
que lo tengas muy claro, por lo que te invitamos a profundizar sobre
esos conceptos.
Tipos de microcontroladores
La Placa Arduino Uno que hemos presentado en este curso, es una de
las varias que tiene Arduino. Cada placa tendrá capacidades especí-
ficas para traducir señales analógicas a digitales y de comunicación
serial, entre otras.
Herramientas
Para armar circuitos, y conectar sensores y actuadores a la placa, nece-
sitarás de algunas herramientas especiales de trabajo.
inclusión
Plataforma de
Aprendizaje
Virtual