Implementacin de Robots con la
plataforma Arduino
Luisa Fernanda Garca Vargas - Flor ngela Bravo Snchez
Implementacin de Robots con la
plataforma Arduino
El taller est dirigido a todo aquel que desee
iniciarse en la programacin de robots con el
hardware libre Arduino.
Implementacin de Robots con la
plataforma Arduino
A travs de entornos de
programacin grfica para
sistemas Arduino, los
campuseros aprendern a
controlar elementos que
hacen parte de un robot
sin necesidad de tener
conocimientos especiales
en programacin.
Tomda de:
http://www.oupe.es/es/Secundaria/Tecnologias/proyadarvenacional/Galeria%20documentos/tecnologia
s_nac_4_interiores.pdf
MATERIALES DEL TALLER
MATERIALES
ARDUINO UNO R3
Un cable USB tipo AB
MATERIALES
Computador
Montajes para las pruebas
IMPORTANTE
Sistema operativo: Windows, Mac or Linux (Debian)
SOFTWARE
IDE DE ARDUINO
SCRATCH PARA ARDUINO
S4A
CONCEPTOS BSICOS
LED (Light Emitting Diode)
Usos:
Indicadores de estado (encendido/apagado)
Pantallas electrnicas de LEDs
Control remoto (LEDs infrarrojos)
Iluminacin
Alumbrado pblico y semaforizacin
Pantallas electrnicas
Iluminacin de edificaciones y estructuras
Iluminacin decorativa
Imgenes tomadas de http://4.bp.blogspot.com/99yCe6pqfQY/T79VAENIvLI/AAAAAAAABoo/mfsy1qZdj5w/s1600/que+son+leds.jpg
POTENCIMETRO
Es una resistencia variable
Usos:
Elemento de control en los
aparatos electrnicos. Ej:
control de volumen
Detectar
posicin
de
dispositivos. Ej: posicin de la
articulacin de un brazo
robtico
Imgenes 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 iluminacin. Ej:
Encendido y apagado de luces
automticamente
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 elctrico
Usos:
Encendido y apagado. Ej: interruptor
de un bombillo.
Activar momentneamente un
dispositivo (pulsador). Ej: timbre.
Detector de obstculo
SERVOMOTOR
Usos
Cualquier
sistema
que
requiera un posicionamiento
mecnico
preciso
y
controlado
Aeromodelismo
(alerones,
timn, etc.)
Movimiento de cmaras de
vigilancia
Robtica. Ej: Brazo robtico,
control de ruedas motrices.
CONCEPTOS BSICOS
Una seal es analga cuando puede tomar
innitos valores entre su valor mnimo y mximo.
Elementos analgicos:
Entrada: potencimetro
Salida: intensidad de luz
Vref
Vcc
CONCEPTOS BSICOS
Una seal es digital cuando puede tomar solo
dos valores (valores finitos).
El mximo est asociado a: 1, on, verdadero, fuente
El mnimo 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-589large/interruptor-on-off-cuadrado.jpg
INSTALACIN DEL
IDE DE ARDUINO
Instalacin de Arduino
PASO 1
Descargar la IDE de Arduino de la pgina oficial segn el
sistema operativo.
Link de descarga:
http://arduino.cc/es/Main/Software (Espaol)
http://arduino.cc/en/Main/Software (Ingles)
Disponible para:
Windows
Mac OS X
Linux
Instalacin de Arduino en Windows
Contiene los drivers necesarios
para hacer funcionar la placa
Arduino con nuestro PC.
IDE de Arduino
Instalacin de Arduino en Windows
Instalacin del Driver
Instalacin de Arduino en Windows
Instalacin del Driver
Instalacin de Arduino en Linux
En el siguiente enlace se encuentran las guas
para la instalacin del IDE de Arduino segn la
versin de Linux que se tenga.
http://arduino.cc/playground/Learning/linux
IDE DE ARDUINO
Men
Botones de acceso
rpido
Editor de texto para
escribir el cdigo
rea de
mensajes
Consola
CONFIGURACIN DEL IDE DE ARDUINO
1
CONFIGURACIN DEL IDE DE ARDUINO
1
INSTALACIN
SCRATCH PARA ARDUINO-S4A
INSTALACIN 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).
INSTALACIN 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 cdigo del firmware de S4A
2. Pegarlo en el IDE de Arduino
3. Descargarlo a la tarjeta
INSTALACIN DEL S4A
PASO 3: Finalmente se ejecuta S4A y de realiza
el diseo haciendo uso de las libreras de bloques
INTRODUCCIN A S4A
S4A
CONFIGURACIN PUERTOS
Salidas digitales (pines
digitales 10,11 y 13)
Salidas analgicas
(pines digitales 5, 6 y 9)
Entradas digitales
(pines digitales 2 y 3)
Entradas analgicas
(pines de entrada
analgica A0 A5)
Servomotores RC (pines
digitales 4, 7, 8 y 12)
5V 0V
Funciones bsicas
Salidas digitales
Asignar valores (encendido/apagado) a las salidas
digitales de la tarjeta Arduino
Funciones bsicas
Salidas analgica
Asignar valor (0-255 que corresponden a 0-5
voltios) a salidas analgicas de la tarjeta Arduino
Funciones bsicas
Entrada digital
Leer estado de un sensor digital (encendido/apagado)
Funciones bsicas
Entrada analgica
Leer los valores de un sensor analgico (0-1023 que
corresponden a 0-5 voltios)
Funciones bsicas
Control Servomotor
Girar un servomotor para colocarlo con un ngulo
concreto (0 - 180)
Entradas anlogas y digitales
Monitoreo de los valores de los puertos de
entrada anlogos y digitales
Funciones bsicas
Controlar la ejecucin de un programa
Funciones bsicas
Definir cuantas veces se repite las instrucciones
Repite
siempre las
instrucciones
Repite 10
veces las
instrucciones
Funciones bsicas
Esperar cierto tiempo para continuar con la
siguiente instruccin
Funciones bsicas
Ejecutar una instruccin solo cuando se cumpla
una condicin
Si cumple la
condicin
ejecuta la
instruccin
(1)
(2)
Si cumple la
condicin
ejecuta la
instruccin
(1) de lo
contrario
ejecuta la (2)
Funciones bsicas
Crear una variable
Retorna el valor
Asigna un valor
Le suma un valor
Oculta o muestra la variable
en la pantalla
PROGRAMACIN DEL
ARDUINO CON S4A
EJERCICIO 1: LED INTERMITENTE
Objetivo: Encender y apagar un LED
Imagen tomada de: http://3.bp.blogspot.com/_I07DBaBH6X4/TUtlA329iI/AAAAAAAAAUs/jvtLDn8qHxA/s1600/leds.jpg
EJERCICIO 1: LED INTERMITENTE
MONTAJE 1
PUERTO 13
5V GND
LED
220
EJERCICIO 1: LED INTERMITENTE
Paso a Paso
1.
2.
3.
4.
Iniciar el programa al presionar bandera
Repetir el cdigo por siempre
Poner el puerto digital 13 a 5V (Encendido)
Poner un tiempo de espera para ejecutar la siguiente
instruccin (tiempo de encendido del led).
5. Poner el puerto digital 13 a 0V (apagado)
6. Poner un tiempo de espera para ejecutar la siguiente
instruccin (tiempo de encendido del led).
EJERCICIO 2: LED + POTENCIMETRO
Variacin de la intensidad de luz de un LED con
un potencimetro
EJERCICIO 2: LED + POTENCIMETRO
MONTAJE 2
5V GND
A0
EJERCICIO 2: LED + POTENCIMETRO
Paso a paso
1.
2.
3.
4.
Iniciar el programa al presionar bandera
Repetir el cdigo por siempre
Crear dos variables: intensidad y potencimetro
Asignar a la variable potencimetro el valor
ledo en la entrada anloga A0
5. Asignar a la variable intensidad el valor
redondeado de potencimetro/K donde
K=1024/255 (factor de reduccin)
6. Asignarle a la salida analgica 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
MONTAJE 3
13
5V GND
EJERCICIO 3: LED + PULSADOR
Paso a paso
1.
2.
3.
4.
Iniciar el programa al presionar bandera
Repetir el cdigo por siempre
Usar un bloque condicional sisi no
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
MONTAJE 4
13
5V
GND
A0
EJERCICIO 4: LED + FOTOCELDA
Paso a paso
1.
2.
3.
4.
5.
Iniciar el programa al presionar bandera
Repetir el cdigo por siempre
Crear una variables llamada Fotocelda
Poner el puerto digital 13 a 5V (Encendido)
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+POTENCIMETRO
Control de posicin un servo con un potencimetro
0
180
Imagen tomada de:
http://www.roboticapy.com/tienda/images/900-00005-M.jpg
EJERCICIO 5: SERVO+POTENCIMETRO
MONTAJE 5
8
5V
GND
A0
EJERCICIO 5: SERVO+POTENCIMETRO
Paso a paso
1. Iniciar el programa al presionar bandera
2. Ubicar el servo conectado en el puerto 8 a 90
3. Repetir el cdigo por siempre
4. Crear dos variables: Sensor y ngulo
5. Asignar a la variable Sensor el valor ledo en
la entrada anloga 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 travs
de un pulsador
EJERCICIO 6: CONTROL MOTOR DC
MONTAJE 6
11 10 5
5V
GND
EJERCICIO 6: CONTROL MOTOR DC
Puente H: L293D
Pin 0
Pin 1
Giro del Motor
Encendido (5V)
Apagado (5V)
Adelante
Apagado (5V)
Encendido (5V)
Atrs
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 cdigo por siempre
3. Usar un bloque condicional sisi 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 analgica 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 analgica 5 a 100