arduino y scratch
DESCRIPTION
Basico para Usar Arduino UnoTRANSCRIPT
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
MATERIALES DEL TALLER
MATERIALES
Un cable USB tipo AB ARDUINO UNO R3
MATERIALES
Montajes para las pruebas
Computador
IMPORTANTE
Sistema operativo: Windows, Mac or Linux (Debian)
SOFTWARE
IDE DE ARDUINO SCRATCH PARA ARDUINO
S4A
CONCEPTOS BÁSICOS
LED (Light Emitting Diode)
Imágenes tomadas de http://4.bp.blogspot.com/-
99yCe6pqfQY/T79VAENIvLI/AAAAAAAABoo/mfsy1qZdj5w/s1600/que+son+leds.jpg
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
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
Imagen tomada de http://www.epysteme.us/shop/img/p/27-68-large.jpg
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
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
t
Vcc
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
abierto - cerrado
V
t
Imagen tomada de:
http://www.bricogeek.com/shop/200-589-
large/interruptor-on-off-cuadrado.jpg
on
off
INSTALACIÓN DEL
IDE DE ARDUINO
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 Windows
• Instalación del Driver
Instalación de Arduino en Windows
• Instalación del Driver
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
Editor de texto para
escribir el código
Botones de acceso
rápido
Consola
Área de
mensajes
Menú
CONFIGURACIÓN DEL IDE DE ARDUINO
1
2 3
CONFIGURACIÓN DEL IDE DE ARDUINO
1
2 3
INSTALACIÓN
SCRATCH PARA ARDUINO-S4A
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
INTRODUCCIÓN A S4A
S4A
CONFIGURACIÓN PUERTOS
Salidas digitales (pines
digitales 10,11 y 13)
Salidas analógicas
(pines digitales 5, 6 y 9)
Entradas digitales
(pines digitales 2 y 3)
Entradas analógicas
(pines de entrada
analógica A0 – A5)
Servomotores RC (pines
digitales 4, 7, 8 y 12)
5V 0V
Funciones básicas
Salidas digitales
Asignar valores (encendido/apagado) a las salidas
digitales de la tarjeta Arduino
Funciones básicas
Salidas analógica
Asignar valor (0-255 que corresponden a 0-5
voltios) a salidas analógicas de la tarjeta Arduino
Funciones básicas
Entrada digital
Leer estado de un sensor digital (encendido/apagado)
Funciones básicas
Entrada analógica
Leer los valores de un sensor analógico (0-1023 que
corresponden a 0-5 voltios)
Funciones básicas
Control Servomotor
Girar un servomotor para colocarlo con un ángulo
concreto (0° - 180°)
Entradas análogas y digitales
Monitoreo de los valores de los puertos de
entrada análogos y digitales
Funciones básicas
Controlar la ejecución de un programa
Funciones básicas
Definir cuantas veces se repite las instrucciones
Repite 10
veces las
instrucciones
Repite
siempre las
instrucciones
Funciones básicas
Esperar cierto tiempo para continuar con la
siguiente instrucción
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
condición
ejecuta la
instrucción
(1) de lo
contrario
ejecuta la (2)
(1)
(2)
Funciones básicas
Crear una variable
Asigna un valor
Retorna el valor
Oculta o muestra la variable
en la pantalla
Le suma un valor
PROGRAMACIÓN DEL
ARDUINO CON S4A
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
MONTAJE 1 PUERTO 13
GND 5V
220Ω
LED
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
MONTAJE 2 5
GND 5V A0
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
MONTAJE 3
13
GND 5V
2
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
MONTAJE 4
13
GND 5V A0
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
Imagen tomada de:
http://www.roboticapy.com/tienda/images/900-00005-M.jpg
0°
180°
EJERCICIO 5: SERVO+POTENCIÓMETRO
MONTAJE 5
8
GND 5V A0
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
MONTAJE 6
11
GND 5V
5 10 2
EJERCICIO 6: CONTROL MOTOR DC
Puente H: L293D
Imagen tomada de: http://www.ectinschools.org/images/techno/pic/image009.jpg
Pin 0 Pin 1 Giro del Motor
Encendido (5V) Apagado (5V) Adelante
Apagado (5V) Encendido (5V) Atrás
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