Implementación de Robots con la
plataforma Arduino
Luisa Fernanda García Vargas - Flor Ángela Bravo Sánchez
Implementación de Robots con la
plataforma Arduino
El taller está dirigido a todo aquel que desee
iniciarse en la programación de robots con el
hardware libre Arduino.
Implementación de Robots con la
plataforma Arduino
A través de entornos de
programación gráfica para
sistemas Arduino, los
campuseros aprenderán a
controlar elementos que
hacen parte de un robot
sin necesidad de tener
conocimientos especiales
en programación.
Tomda de:
http://www.oupe.es/es/Secundaria/Tecnologias/proyadarvenacional/Galeria%20documentos/tecnologia
s_nac_4_interiores.pdf
LED (Light Emitting Diode)
Usos:
Indicadores de estado (encendido/apagado)
Pantallas electrónicas de LEDs
Control remoto (LEDs infrarrojos)
Iluminación
Alumbrado público y semaforización
Pantallas electrónicas
Iluminación de edificaciones y estructuras
Iluminación decorativa
Imágenes tomadas de http://4.bp.blogspot.com/-
99yCe6pqfQY/T79VAENIvLI/AAAAAAAABoo/mfsy1qZdj5w/s1600/que+son+leds.jpg
POTENCIÓMETRO
Es una resistencia variable
Usos:
Elemento de control en los
aparatos electrónicos. Ej:
control de volumen
Detectar posición de
dispositivos. Ej: posición de la
articulación de un brazo
robótico
Imágenes tomadas de: http://upload.wikimedia.org/wikipedia/commons/thumb/b/b5/Potentiometer.jpg/220px-Potentiometer.jpg,
http://imagenes.unicrom.com.s3.amazonaws.com/descripcion_potenciometro1.gif
FOTORESISTENCIA o LDR
Usos:
Control de iluminación. Ej:
Encendido y apagado de luces
automáticamente
Detectar fuentes de luz. Ej: robot
seguidor de luz
Detector la presencia
Imagen tomada de http://www.epysteme.us/shop/img/p/27-68-large.jpg
Interruptor eléctrico
Usos:
Encendido y apagado. Ej: interruptor
de un bombillo.
Activar momentáneamente un
dispositivo (pulsador). Ej: timbre.
Detector de obstáculo
SERVOMOTOR
Usos
Cualquier sistema que
requiera un posicionamiento
mecánico preciso y
controlado
Aeromodelismo (alerones,
timón, etc.)
Movimiento de cámaras de
vigilancia
Robótica. Ej: Brazo robótico,
control de ruedas motrices.
CONCEPTOS BÁSICOS
Una señal es analóga cuando puede tomar
infinitos valores entre su valor mínimo y máximo.
Elementos analógicos:
Entrada: potenciómetro
Salida: intensidad de luz
Vref
Vcc
t
CONCEPTOS BÁSICOS
Una señal es digital cuando puede tomar solo
dos valores (valores finitos).
El máximo está asociado a: 1, on, verdadero, fuente
El mínimo está asociado a: 0, off, falso, tierra
Elementos digitales:
Entrada: pulsador
Salida: prendido – apagado V
abierto - cerrado
on
off
t
Imagen tomada de:
http://www.bricogeek.com/shop/200-589-
large/interruptor-on-off-cuadrado.jpg
Instalación de Arduino
PASO 1
Descargar la IDE de Arduino de la página oficial según el
sistema operativo.
Link de descarga:
http://arduino.cc/es/Main/Software (Español)
http://arduino.cc/en/Main/Software (Ingles)
Disponible para:
Windows
Mac OS X
Linux
Instalación de Arduino en Windows
Contiene los drivers necesarios
para hacer funcionar la placa
Arduino con nuestro PC.
IDE de Arduino
Instalación de Arduino en Linux
En el siguiente enlace se encuentran las guías
para la instalación del IDE de Arduino según la
versión de Linux que se tenga.
http://arduino.cc/playground/Learning/linux
IDE DE ARDUINO
Menú
Botones de acceso
rápido
Editor de texto para
escribir el código
Área de
mensajes
Consola
INSTALACIÓN DEL S4A
PASO 1: Descargar e instalar el software S4A
dependiendo del sistema operativo.
Link de descarga:
http://seaside.citilab.eu/scratch/downloads
Disponible para: Windows, Mac or Linux (Debian).
INSTALACIÓN DEL S4A
PASO 2: Instalar el firmware de S4A para que la
tarjeta pueda comunicarse con este programa.
Link del firmware de S4A:
http://seaside.citilab.eu/S4AFirmware14.pde
1. Copiar el código del firmware de S4A
2. Pegarlo en el IDE de Arduino
3. Descargarlo a la tarjeta
INSTALACIÓN DEL S4A
PASO 3: Finalmente se ejecuta S4A y de realiza
el diseño haciendo uso de las librerías de bloques
Funciones básicas
Ejecutar una instrucción solo cuando se cumpla
una condición
Si cumple la
condición
ejecuta la
instrucción
Si cumple la
(1) condición
ejecuta la
(2) instrucción
(1) de lo
contrario
ejecuta la (2)
Funciones básicas
Crear una variable
Retorna el valor
Asigna un valor
Le suma un valor
Oculta o muestra la variable
en la pantalla
EJERCICIO 1: LED INTERMITENTE
Objetivo: Encender y apagar un LED
Imagen tomada de: http://3.bp.blogspot.com/_I07DBaBH6X4/TUtlA-
329iI/AAAAAAAAAUs/jvtLDn8qHxA/s1600/leds.jpg
EJERCICIO 1: LED INTERMITENTE
Paso a Paso
1. Iniciar el programa al presionar bandera
2. Repetir el código por siempre
3. Poner el puerto digital 13 a 5V (Encendido)
4. Poner un tiempo de espera para ejecutar la siguiente
instrucción (tiempo de encendido del led).
5. Poner el puerto digital 13 a 0V (apagado)
6. Poner un tiempo de espera para ejecutar la siguiente
instrucción (tiempo de encendido del led).
EJERCICIO 2: LED + POTENCIÓMETRO
Variación de la intensidad de luz de un LED con
un potenciómetro
EJERCICIO 2: LED + POTENCIÓMETRO
Paso a paso
1. Iniciar el programa al presionar bandera
2. Repetir el código por siempre
3. Crear dos variables: intensidad y potenciómetro
4. Asignar a la variable potenciómetro el valor
leído en la entrada análoga A0
5. Asignar a la variable intensidad el valor
redondeado de potenciómetro/K donde
K=1024/255 (factor de reducción)
6. Asignarle a la salida analógica 5 el valor de la
variable intensidad
EJERCICIO 3: LED + PULSADOR
Encender y apagar un LED por medio de un
pulsador
EJERCICIO 3: LED + PULSADOR
Paso a paso
1. Iniciar el programa al presionar bandera
2. Repetir el código por siempre
3. Usar un bloque condicional si…si no
4. Preguntarse si es cierto (true) que la
entrada digital 2 esta a 5V (presionado
el pulsador)
5. Si es verdad: Poner el puerto digital 13 a
5V (Encendido)
6. Si es falso: Poner el puerto digital 13 a
0V (apagado)
EJERCICIO 4: LED + FOTOCELDA
Control de la frecuencia de parpadeo de un LED
mediante una fotocelda
EJERCICIO 4: LED + FOTOCELDA
Paso a paso
1. Iniciar el programa al presionar bandera
2. Repetir el código por siempre
3. Crear una variables llamada Fotocelda
4. Poner el puerto digital 13 a 5V (Encendido)
5. Poner un tiempo de espera igual a la variable
fotocelda dividido 400 (tiempo de encendido del led).
6. Poner el puerto digital 13 a 0V (apagado).
7. Poner un tiempo de espera igual a la variable
fotocelda dividido 400 (tiempo de apagado del led).
EJERCICIO 5: SERVO+POTENCIÓMETRO
Control de posición un servo con un potenciómetro
0°
180°
Imagen tomada de:
http://www.roboticapy.com/tienda/images/900-00005-M.jpg
EJERCICIO 5: SERVO+POTENCIÓMETRO
Paso a paso
1. Iniciar el programa al presionar bandera
2. Ubicar el servo conectado en el puerto 8 a 90°
3. Repetir el código por siempre
4. Crear dos variables: Sensor y Ángulo
5. Asignar a la variable Sensor el valor leído en
la entrada análoga A0
6. Asignar a la variable Ángulo el valor
redondeado de la variable sensor*K donde
K=180/1024=0.18
7. Ubicar el servo conectado en el puerto 8 al
ángulo dado por la variable Ángulo
EJERCICIO 6: CONTROL MOTOR DC
Control del sentido de giro de un motor dc a través
de un pulsador
EJERCICIO 6: CONTROL MOTOR DC
Puente H: L293D
Pin 0 Pin 1 Giro del Motor
Encendido (5V) Apagado (5V) Adelante
Apagado (5V) Encendido (5V) Atrás
Imagen tomada de: http://www.ectinschools.org/images/techno/pic/image009.jpg
EJERCICIO 3: LED + PULSADOR
Paso a paso
1. Iniciar el programa al presionar bandera
2. Repetir el código por siempre
3. Usar un bloque condicional si…si no
4. Preguntarse si es cierto (true) que la entrada
digital 2 esta a 5V (presionado el pulsador)
5. Si es verdad:
a) Poner el puerto digital 10 a 5V (encendido)
b) Poner el puerto 11 a 0V (apagado)
c) Poner la salida analógica 5 a 100
6. Si es falso:
a) Poner el puerto digital 10 a 0V (apagado)
b) Poner el puerto 11 a 5V (encendido)
c) Poner la salida analógica 5 a 100