Manual Imagina Arduino
Manual Imagina Arduino
Manual Imagina Arduino
-- P. 1/38
NDICE
Introduccin ................................................................................................ 3
Materiales ................................................................................................... 3
Herramientas ............................................................................................... 3
Cmo funciona un robot? ............................................................................. 4
Snap4Arduino.............................................................................................. 5
Actividades ................................................................................................ 6
A1.-Encender un LED ................................................................................... 6
A2.-Encender un LED con el pulsador .............................................................. 8
A3.-Medir la luminosidad con LDR (sensor de luz) ............................................. 9
A4.-Medir la temperatura con NTC (sensor de temperatura) ................................ 10
A5.-Medir la temperatura en grados Celsius ..................................................... 11
A6.-Generador de notas musicales con el zumbador ........................................... 12
A7.-Medir distancias con ultrasonidos (HC-SR04) ............................................. 13
A8.-Controlar un motor CC (on, off, inversor de giro) ........................................ 14
A9.-Control de dos motores CC ..................................................................... 18
A10.-Robot rastreador .................................................................................. 19
A11.-Robot explorador con ultrasonidos .......................................................... 24
A12.-Control por infrarrojos (con IDE) ............................................................ 26
A13.-Control por Bluetooth ........................................................................... 28
A14.-Control servomotor .............................................................................. 30
-- P. 2/38
Introduccin
En este manual nos proponemos una serie de actividades relacionadas con la robtica educativa
utilizando el robot Imagina Arduino3dBot (Snap4Arduino).
Aunque el robot Imagina Arduino se pueda programar en lenguaje C, en este manual se explica
cmo hacerlo de manera grfica con Snap4Arduino, que es una versin modificada del Snap!,
un lenguaje de bloques desarrollado por la universidad de Berkeley.
Materiales
Herramientas
-- P. 3/38
Cmo funciona un robot?
Los robots funcionan de una manera similar a nosotros. Nuestro cerebro recibe informacin de
nuestros sentidos (oda, olfato, gusto, vista y tacto), analiza esta informacin y da estmulos a
las cuerdas vocales para emitir sonido o da rdenes a los msculos para que estos se muevan.
Los 5 sentidos seran las entradas de informacin y, la voz y los msculos seran las salidas,
sensores y motores.
En el robot, un chip hace la funcin de cerebro. Este chip es un microcontrolador y tiene entradas
de informacin donde se conectan los sensores de luz (LDR), temperatura (NTC), sonido y
tambin tiene salidas, donde se conectan los motores, LEDs
La diferencia principal es que, as como nuestro cerebro ya sabe lo que tiene que hacer, porque
lo ha aprendido a lo largo de nuestra vida a base de estmulos positivos y negativos, el robot
tiene su memoria vaca, es decir, no sabe lo que tiene que hacer.
Entonces nosotros tenemos que decirle lo que queremos que haga, segn las seales de los
sensores. A esto se llama programar!
-- P. 4/38
Snap4Arduino
Adems, el programa permite tener tantos mdulos Arduino conectados como se desee. Cada
uno de ellos va asociado a un objeto del escenario, por lo tanto se pueden realizar programas
donde los objetos de la pantalla se muevan en funcin de los sensores del mundo real.
Los programas se activan y se paran de dos maneras posibles: al pulsar encima de la bandera
verde se activa y se para al pulsar encima del disco rojo. , o bien se hace un clic
encima de algn bloque del programa y para pararlo se vuelve a hacer clic.
Snap4Arduino aade algunos bloques que permiten al usuario leer sensores, controlar motores,
etc.
Snap4Arduino es una modificacin del programa Snap!, que a su vez es una modificacin de
Scratch, dnde uno puede crear sus propios bloques. Con Snap4Arduino, aquellos que ya estn
familiarizados con la programacin por bloques podrn ir ms all y adentrarse ms en la ciencia
de la computacin, y aquellos que nunca hayan programado pueden iniciarse de una forma
sencilla y divertida.
-- P. 5/38
Actividades
A continuacin os proponemos una serie de actividades para aprender, paso a paso, cmo
funcionan los sensores de vuestro robot y como darle vida.
A1.-Encender un LED
La placa Imagina Android dispone de 3 LEDs que estn conectados a las salidas de la siguiente
manera: verde (D3), amarillo (D5) y rojo (D6).
Conectamos nuestro robot con el cable de programacin habiendo instalado previamente los
drivers de la placa Arduino Uno para que el ordenador la reconozca y le asigne un puerto COM.
-- P. 6/38
Se debe seleccionar el puerto COM al que est conectado Arduino y una vez realizada la conexin
aparecer el siguiente mensaje:
Cmo hay que modificar el programa para hacer que el LED verde est 2 segundos encendido
y 4 apagado?
-- P. 7/38
A2.-Enceder un LED con el pulsador
En esta actividadqueremos encender el LED rojo (D6) durante 4 segundos al presionar el
pulsador (D2) de la placa.
Comprobamos su funcionamiento.
-- P. 8/38
A3.-Medir la luminosidad con LDR
En esta actividad se encender el LED amarillo (D5) cuando oscurezca, como si de una sonda
crepuscular se tratase.Para ello se utilizaremos la entrada analgica (A2) de la LDR (Resistor
Dependiente de la Luz) y visualizaremos el valor del sensor en el escenario creando una variable
a la que llamaremosluz.Una variable es un espacio de la memoria donde se guardan valores
entre 0 y 255. En el bloque Variables hacemos clic en Crear una variable y la llamamos luz.
Comprobaremos el funcionamiento.
Cmo lo podramos hacer para que se active el LED amarillo a partir de un nivel de luz ms
alto?
-- P. 9/38
A4.-Medir la temperatura con NTC
Para visualizar el valor del sensor en el escenario hay que crear una
variable que se llame temperatura.
Comprobaremosel funcionamiento.
-- P. 10/38
A5.-Medir la temperatura en grados Celsius
Para hacer que la medida de temperatura se corresponda con los grados Celsius (C) tendremos
que crear una variable a la que llamaremos GradosC.
-- P. 11/38
A6.-Generador de notas musicales con el zumbador
En esta actividad vamos a generar notas musicales con el zumbador que lleva la placa y que
est conectado al pin A0, que tambin se llama D14 cuando se quiere utilizar como pin digital.
-- P. 12/38
A7.-Medir distancias con ultrasonidos (HC-SR04)
Haremos un programa que cuando no detecte ningn objeto a menos de 20 cm encienda el led
verde (D3), cuando detecte un objeto a menos de 20cm encienda el LED amarillo (D5) y cuando
detecte un objeto a menos de 10 cm encienda el LED rojo (D6) y adems que vaya emitiendo
pitidos, simulando el sensor de proximidad de un coche.
-- P. 13/38
A8.-Controlar un motor CC
Con la placa Shield Imagina Arduino podremos realizar el control de dos motores de corriente
continua de hasta 2 Amperios.
En esta prctica vamos a hacer funcionar el motor A, que es donde tenemos conectado el motor
de la derecha, en el sentido de la marcha, es decir, haca adelante.
Este procedimiento lo podemos hacer con los bloques tal como se muestra en la imagen adjunta.
-- P. 14/38
A continuacin se detalla en forma de tabla los posibles movimientos del motor A:
CONTROL
Introduciremos este programa para que el motor A vaya hacia adelante durante 1 segundo, se
pare y repita el proceso.
*Si el motor gira hacia atrs, ya que el conector del motor es nico, tendramos que arreglar la
programacin del motor A.
-- P. 15/38
Si queremos que gire hacia atrs durante un segundo, se pare y repita el proceso se hara as:
Y si queremos que el motor A funcione una vez hacia delante y otra hacia atrs durante un
segundo, pasando por paro (stop). La secuencia sera la siguiente:
-- P. 16/38
Desconectamos el motor A y haremos lo mismo para el motor B. El motor B lleva asociadas las
salidas del pin PWM 10, el pin 12 y el pin 13 tal como se puede ver en la tabla resumen siguiente:
CONTROL
MOTORES
Endavant Endarrere
Pin 8 (on) Pin 8 (off) Pin 8 (off)
-- P. 17/38
A9.-Control de dos motores CC
Funcionamiento:
Para poder conocer todos los sentidos de giro posibles que puede
hacer el robot, os proponemos que realicis los siguientes
programas:
-- P. 18/38
A10.-Robot rastreador
A partir de esta prctica y para que el robot pueda funcionar de manera autnoma y sin
necesidad de cable, el robot deber conectarse al ordenador mediante Bluetooth. Para ello
primero deben enlazarse el mdulo Bluetooth del robot con el del ordenador. Una vez enlazados
(cuando el ordenador pida la contrasea debe ponerse 1234), Snap4Arduino va a ver el mdulo
Bluetooth como otro puerto al que puede conectarse.
-- P. 19/38
SENSOR SENSOR
IZQUIERDO DERECHO
D5=SI D6=SD
1-Si los dos sensores del robot estn encima de la lnea negra, detectan un 0 lgico y el robot
tiene que ir hacia delante, es decir tienen que funcionar los dos (motor_A=on) y (motor_B=on).
Vamos a aprovechar este punto para introducir la creacin de bloques. Un bloque es un trozo de
cdigo que podremos llamar desde distintos puntos del programa y si lo exportamos, incluso en
otros programas. Adems Snap4Arduino, a diferencia de otros programas que tambin permiten
crear bloques, permite pasar variables al bloque y tambin hacer que ste retorne un valor.
En primer lugar realizamos el programa para que el motor derecho A, vaya hacia adelante
-- P. 20/38
Aqu se puede escoger dnde queremos que aparezca
el bloque, en nuestro caso vamos a seleccionar
Arduino.
Le damos a Aplicar y luego a OK y ya tenemos el bloque para activar el Motor derecho A hacia
adelante, llamado MOTOR_DERECHO_A_ADELANTE.
Este bloque que hemos creado lo encontraremos en el apartado de los comandos de Arduino,
tal y como puede observase en la imagen siguiente:
-- P. 21/38
Podras hacer un bloque llamado MOTOR_DERECHO_A_ADELANTE?
Comprueba su funcionamiento.
Comprueba su funcionamiento.
Siguiendo el mismo procedimiento hemos de crear dentro del apartado Arduino los siguientes
bloques:
-- P. 22/38
Ahora que ya tenemos todos los bloques vamos a hacer el programa seguidor de lnea que
debe quedar de la siguiente forma:
El programa nos pedir donde queremos guardarlos y que nombre queremos darles.
Por defecto el nombre se llama blocks. Lo guardamos con este nombre y despus le
cambiamos el nombre al fichero ya guardado.
-- P. 23/38
A11.-Robot explorador con ultrasonidos
-- P. 24/38
La segunda estrategia consistir
en hacer que cuando se detenga
gire a la derecha durante un
tiempo determinado y luego siga
adelante. Podemos experimentar
con diferentes temporizaciones.
Ahora est en 2 segundos.
Como tercera estrategia haremos que despus de detenerse gire hasta que la distancia sea ms
grande de 30cm.
-- P. 25/38
A12.- Control por infrarrojos
-- P. 26/38
Con estos bloques podemos crear un programa que pulsando la tecla 1 el LED verde parpadee,
con la tecla 2 se hace parpadear el LED amarillo y con la 3 el rojo. Si no se aprieta ninguna de
estas teclas, los LEDs permanecen apagados.
-- P. 27/38
A13.- Control por Bluetooth
*Para transferir el programa hay que quitar el mdulo Bluetooth o el jumper, ya que utiliza las
mismas seales que el puerto COM (USB).
-- P. 28/38
Y en el mvil instalaremos una App llamada Imagina3dBot que nos descargaremos de
GooglePlay.
El robot se puede controlar con botones con forma de flechas o con el giroscopio del propio mvil
Android. Para hacer la conexin solo se debe elegir CONNEXI/Direccin Mac del mdulo
bluetooth del robot/ botn CONTROL y Control fletxes (flechas) o Control orientaci
(orientacin):
-- P. 29/38
A14.- Control servomotor
Los servomotores estndar slo poden girar 180, aunque en el mercado podemos encontrar de
270 y de 360 (giro continuo).
-- P. 30/38
Anexo 1.-Montaje del robot Imagina Arduino
tt
A continuacin detallamos el procedimiento de montaje del robot Imagina3dBot en 15 pasos.
-- P. 31/38
5.-Ponemos el soporte superior y lo
fijaremos conjuntamente con los
tornillos de 2,9x25 mm.
-- P. 32/38
10.- Colocamos las ruedas a presin
con la cara lisa al exterior.
-- P. 33/38
14.- En el motor izquierdo
montamos el tercer sensor de lnea
fotoelctrico que utilizaremos como
encoder.
16.-Conectamos el sensor
bluetooth y el sensor de
ultrasonido HC-SR04 en sus
zcalos correspondientes teniendo
en cuenta su polaridad.
17.-Finalmente ya tenemos el
robot construido.
Consultar el ndice.
-- P. 34/38
Anexo 2.-Posibilidades del Shield Imagina Arduino V2.
tt
-- P. 35/38
Anexo 3.-Programacin Arduino con Snap4Arduino.
tt
Preparacin
1.-Descargar e instalarSnap4Arduino.
http://snap4arduino.org/
Programacin
-- P. 36/38
En Snap4Arduino, el programa realmente corre en el ordenador, que es quin hace todo el
procesamiento de los datos. Por este motivo Arduino3dBot tiene que estar conectado al
ordenador o bien a travs de un cable USB o bien mediante conexin Bluetooth.
-- P. 37/38
Anexo 4.-Esquema electrnico de la placa Imagina.
-- P. 38/38