Anda di halaman 1dari 63

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