Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Manual Imagina Arduino

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 38

Manual de actividades con Snap4Arduino con el

robot Imagina Arduino 3dBot

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 1

-- 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

Anexo 1.-Montaje del robot Imagina3dBot ....................................................... 31


Anexo 2.-Posiblidades de la placa Imagina Arduino ........................................... 35
Anexo 3.-Programacin de Arduino con Snap4Arduino ...................................... 36
Anexo 4.-Esquema electrnico de la placa Imagina Arduino ................................ 38

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 2

-- P. 2/38
Introduccin

En este manual nos proponemos una serie de actividades relacionadas con la robtica educativa
utilizando el robot Imagina Arduino3dBot (Snap4Arduino).

El objetivo de este manual es el de proporcionar unas actividades guiadas para aprender a


programar de una manera entretenida y divertida.

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

El kit robot Imagina Arduino3dBot (Snap4Arduino)


Ref. RBL0965-Snap4A, incluye:

-1 chasis impreso en 3D compuesto por: 1 parte inferior, 1 parte


superior, 1 carril de encaje, 1 caja soporte para la placa, 2 soportes
Para sensores, 2 ruedas, 2 juntas tricas y 1 bola de plstico.
-2 motores cableados M-M (Ref. bo1_120).
-1 placa de control Arduino Uno Rev3 con cable USB (Ref. A000066C).
-1 shield Imagina Arduino V3 Innova Didactic (Ref. RBL0692_V3).
-3 sensores fotoelctricos de lnea con cable y conectores (Ref. RBL0673-RAST).
-3 cables M-M de 15 cms. para conectar los sensores de lnea.
-1 power-bank 5V/2200 mAh (Ref. VL2200PB001GR).
-1 sensor de ultrasonidos de 4 pins (Ref. HC-SR04).
-1 sensor bluetooth modificado a 57600 baudios (Ref. HC-06S).
-1 juego de tornillera.

Herramientas

Para el montaje de este robot solamente vamos a necesitar un destornillador estrella

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 3

-- 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!

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 4

-- P. 4/38
Snap4Arduino

Snap4Arduino es un lenguaje de programacin por bloques basado en Snap!. A diferencia de


otros lenguajes de programacin por bloques, Snap4Arduino permite crear listas, crear bloques
a los que se pueden pasar parmetros y que devuelven valores. Por este motivo, Snap4Arduino
es idneo para introducir conceptos de programacin a alumnos de ESO y Bachillerato.

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.

Adems de bloques para las funcionalidades bsicas de microcontroladores, analgicas, digitales


(lectura y escritura de estas) y salidas PWM. Tambin hay bloques especficos, tales como
sensores de ultrasonidos, sensores de temperatura y humedad, sensor de infrarrojos, la
Nunchuk, control de servos, etc. Con estos bloques es simple para interactuar con muchos tipos
de mdulos electrnicos.

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.

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 5

-- 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

En esta primera actividad aprendemos a encender el LED amarillo y apagarlo.

La placa de control Arduino Uno tiene 13 entradas/salidas digitales disponibles. Generalmente


se llaman Dx, donde la x es un nmero comprendido entre 0 y 13.

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.

En la categora Arduino debemos seleccionar Conectar Arduino:

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 6

-- P. 6/38
Se debe seleccionar el puerto COM al que est conectado Arduino y una vez realizada la conexin
aparecer el siguiente mensaje:

Introduciremos el programa siguiente:

Comprobaremos el funcionamiento haciendo clic sobre la bandera verde o simplemente haciendo


clic sobre algn bloque del programa.

Qu pasa si aumentamos el tiempo de espera? Hace la intermitencia ms rpida? O es al


revs?

Cmo hay que modificar el programa para hacer que el LED verde est 2 segundos encendido
y 4 apagado?

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 7

-- 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.

Introduciremos el programa siguiente y pondremos comentarios a todas las instrucciones


explicando brevemente su funcionalidad:

Comprobamos su funcionamiento.

Cmo modificaramos el tiempo de funcionamiento a 2 segundos?

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 8

-- 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.

Introduciremos el siguiente programa:

Con este programa hacemos que, si el valor de la luz es


inferior a 300 encienda el LED amarillo (D5) durante dos
segundos y si no, lo apagar.

Comprobaremos el funcionamiento.

Cmo lo podramos hacer para que se active el LED amarillo a partir de un nivel de luz ms
alto?

Sabras hacer que, la flecha avance por la pantallacuando se enciende un LED?

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 9

-- P. 9/38
A4.-Medir la temperatura con NTC

En esta prctica haremos un detector de incendios. Se tendr que


encender el LED rojo (D6) cuando se supere un determinado valor del
sensor de temperatura conectado en (A3).

El sensor de temperatura que utilizamos es de tipo analgico y se llama


NTC (Coeficiente de Temperatura Negativo). Este sensor se caracteriza
por disminuir su resistencia a medida que la temperatura aumenta.

Para visualizar el valor del sensor en el escenario hay que crear una
variable que se llame temperatura.

En esta ocasin crearemos una pelota y


haremos que cambie de vestido cuando se
supere el valor 40.Desde la pestaa de
disfracescrearemos una pelota verde, a
continuacin la duplicaremos y la editaremos
pintndola de color rojo.

Tambin haremos que reproduzca un sonido que habremos


subido a la pestaa sonidos. Para que funcione bien, los
sonidos tienen que ser con extensin .wav o .ogg

En la pestaa de Objetos introduciremos el


siguiente programa:

Crearemos una variable que vamos a


llamar temperatura.

Esta tomar el valor de A3 (sensor de


temperatura dividido por 10 para escalar la
medida y redondeamos para trabajar con
valores enteros).

Cuando el valor de la temperatura sea


superior40, la pelota cambiar de color y
har el sonido sonido1.

Comprobaremosel funcionamiento.

Si queremos que el sistema reaccione a


menor temperatura, que debemos
cambiar?

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 10

-- 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.

Introduciremos el programa siguiente:

*El hecho de dividir el valor


del sensor A3 entre diecisis
es para convertir la medida
de grados Celsius (C).

*La instruccin Redondear


elimina los decimales de la
conversin a grados.

*Hay que tener en cuenta


que este sensor no es lineal.
Para lecturas ms precisas
habra que hacer una
aproximacin polinmica
que no se tratar en este
manual.

Comprobaremos su funcionamiento y haremos los ajustes correspondientes para que funcione


correctamente (en lugar de 24C puede ponerse otro valor y el tiempo de espera puede ajustarse
en funcin del sonido).

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 11

-- 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.

Para la reproduccin de las notas utilizamos la instruccin:

Donde el pin 14 es el pin A0, donde tenemos conectado el


zumbador, en Hz debemos indicar la frecuencia de la nota a tocar y en ms el tiempo que
queremos que est sonando.

Experimentaremos con el siguiente programa:

Para poder experimentar con otro tipo de sonidos,


cambiaremos el valor de las notas y de las
pulsaciones.

Qu pasa cuando subimos el valor de una nota? El


sonido es ms agudo o ms grave?

Y qu pasa cuando subimos el valor de la


pulsacin? La duracin del sonido es menor o
mayor?

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 12

-- P. 12/38
A7.-Medir distancias con ultrasonidos (HC-SR04)

Si disponemos de un sensor de ultrasonido HC-SR04 podremos realizar medidas de distancia


directamente en centmetros.

El funcionamiento de los sensores de ultrasonidos consiste en la emisin de un sonido no audible


y medir el tiempo que tarda en rebotar. As se puede calcular la distancia a la que se encuentra
el objeto que est delante. El rango de medida es de 0 a 255cm.

Para realizar esta prctica conectaremos el sensor HC-SR04 en el conector J8.

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.

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 13

-- 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 la mayora de los ordenadores el puerto USB, del


ordenador, es capaz de alimentar los motores.

Si no fuera as, para realizar estas prcticas, si el


puerto USB, del ordenador, no da la suficiente corriente,
se requiere alimentar el robot con el Power Bank (opcin
recomendada) o mediante las pilas conectadas, ya que
pueden coexistir las pilas con la alimentacin USB.

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.

Para hacer funcionar el motor A hacia adelante tenemos


que activar la salida 8(HIGH), desactivar la 7(LOW) y
activar el pin PWM 9 con un valor entre 25 y 255.

Con la modulacin por ancho de pulso PWM de la salida


9, activamos el canal A del driver de motores L293DD y
lo hacemos regulable en velocidad.

Los pines 7 y 8 sirven para seleccionar el sentido de giro.

Este procedimiento lo podemos hacer con los bloques tal como se muestra en la imagen adjunta.

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 14

-- P. 14/38
A continuacin se detalla en forma de tabla los posibles movimientos del motor A:

CONTROL

Adelante Parado Atrs

Pin 8 (on) Pin 7 (off) Pin 8 (off)


MOTOR_A
Pin 7 (off) Pin 8 (off) Pin 7 (on)

Pin PWM 9 (25-255) Pin PWM 9 (0) Pin PWM 9 (25-255)

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.

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 15

-- 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:

Intentad hacer vosotros el programa y comprobad el


funcionamiento.

*El motor_A se puede parar de dos formas: una poniendo PWM9


a cero y/o poniendo las salidas 7 y 8 a LOW.

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 16

-- 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)

MOTOR_A Pin 7 (off) Pin 7 (off) Pin 7 (on)


(motor_derecha)
Pin PWM 9 (25-255) Pin PWM 9 (0) Pin PWM 9 (25-255)

Pin 13 (on) Pin 13 (off) Pin 13 (off)

MOTOR_B Pin 12 (off) Pin 12 (off) Pin 12 (on)


(motor_izquierda)
Pin PWM 10 (25-255) Pin PWM 10 (0) Pin PWM 10 (25-255)

*Si el motor B gira al revs tenis que revisar la programacin.

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 17

-- P. 17/38
A9.-Control de dos motores CC

*El puerto USB, del ordenador, es capaz de alimentar los motores. Si


no es as, se requiere de la conexin del Power Bank (opcin
recomendada) o tambin mediante pilas.

En esta actividad vamos hacer que el robot vaya hacia adelante y


atrs durante un tiempo. Para hacerlo tendremos que hacer
funcionar el motor A y el motor B a la vez.

Introduciremos el programa siguiente y comprobaremos su

Funcionamiento:

Para poder conocer todos los sentidos de giro posibles que puede
hacer el robot, os proponemos que realicis los siguientes
programas:

Pivotar a la izquierda :motor_A=inv /motor_B=on Pivotar a la derecha: motor_A=on /motor_B=inv

Girar a la izquierdaadelante: motor_A=off/motor_B=on Girar a la derecha adelante: motor_A=on/motor_B=off

Girar a la izquierdaatrs: motor_A=inv/motor_B=off Girar a la derechaatrs: motor_A=off/motor_B=inv

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 18

-- 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.

Colocaremos el mdulo Bluetooth JY-MCU-HC06, que se suministra


configurado a 57600 baudios, respetando los pines de la serigrafa de la
placa.

Cuando conectamos el accesorio (Ref. RBL0673-RAST),


podemos hacer que el robot se comporte como un
rastreador de lneas. Esta placa va conectada con cables
al Shield Imagina Arduino (consultar anexo1).

La disposicin de los motores y de los sensores es la siguiente:

Motores A, derecho, y B izquierdo Sensores de lnea fotoelctricos derecho e izquierdo

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 19

-- P. 19/38
SENSOR SENSOR
IZQUIERDO DERECHO
D5=SI D6=SD

MotIzq B SHIELD MotDer A


PWM 10 IMAGINA PWM 9
Pin 12 ARDUINO Pin 7
Pin 13 Pin 8
ROBOT ARDUINO3DBOT

Las actuaciones del robot dependen de las detecciones de sus sensores.

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).

2-Si no detecta lnea el sensor derecho (SD), paramos el de la izquierda (motor_B=off) y


ponemos en marcha el de la derecha (motor_A=on).

3- Si no detecta lnea el sensor izquierdo (SI), paramos el de la derecha (motor_A=off) y


ponemos en marcha el de la izquierda (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

Para crear un bloque tenemos que ir a Variables y seleccionar

Se abre la siguiente ventana:

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 20

-- P. 20/38
Aqu se puede escoger dnde queremos que aparezca
el bloque, en nuestro caso vamos a seleccionar
Arduino.

El bloque puede ser de tipo Comando, que ejecuta las


instrucciones que ponemos dentro del bloque,
Reportero, que devuelve un valor o bien Predicado,
que devuelve un valor booleano, es decir, cierto o
falso.

En nuestro caso vamos a escoger de tipo Comando y


para todos los objetos y le ponemos de nombre
MOTOR_DERECHO_A_ADELANTE y le damos al OK.

Nos aparece esta ventana.

Realizamos el programa del motor A adelante,


tal y como hemos hecho en la actividad 8:

Y lo insertamos dentro del bloque, como se ve en las imgenes:

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:

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 21

-- P. 21/38
Podras hacer un bloque llamado MOTOR_DERECHO_A_ADELANTE?

Comprueba su funcionamiento.

Podras crear un bloque MOTOR_DERECHO_A_PARADO?

Comprueba su funcionamiento.

Siguiendo el mismo procedimiento hemos de crear dentro del apartado Arduino los siguientes
bloques:

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 22

-- 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:

Para poder utilizar los bloques que hemos creado en otros


programas, debemos exportarlos, de tal modo que cuando
los necesitemos en otros programas podamos importarlos.
Para exportar los bloques vamos a Exportar bloques...

Seleccionamos los bloques a exportar y clicamos a OK

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.

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 23

-- P. 23/38
A11.-Robot explorador con ultrasonidos

En esta actividad equiparemos el robot con un sensor de ultrasonido HC-SR04, ubicado en el


conector J8 y haremos que funcione autnomamente explorando su entorno sin chocar.

Para aprovechar los bloques creados en la prctica anterior, si


hemos cerrado el programa, tendremos que importarlos. Para
ello tenemos que ir a Importar...

Seleccionamos el fichero donde hemos guardado los bloques,


clicamos a OK y ya se importaran.

Para evitar el choque iremos realizando varias estrategias, de la ms simple a la ms complicada.

Primero haremos un programa


para que el robot siempre vaya
hacia adelante y que cuando
encuentre un objeto a menos de
20cm se pare. Y si el objeto
desaparece, debe volver a
avanzar.

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 24

-- 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.

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 25

-- P. 25/38
A12.- Control por infrarrojos

En esta actividad aprenderemos a utilizar el mando de la televisinpara dar rdenes a nuestro


robot.

Empezaremos por hacer parpadear un LED con el mando.

En primer lugar debemos decidir que tecla del mando


queremos utilizar. Para ver que cdigo enva esa letra vamos
a crear una variable que llamaremos lecturaIR. En ella
guardaremos el valor enviado. De este modo podremos verlo
en el escenario de Snap4Arduino.

En este caso, por ejemplo, el botn del 1 genera el cdigo


10. Con esta tecla vamos a hacer parpadear el led
amarillo.

Ahora podramos crear un


bloque que permita hacer parpadear un LED. En funcin del valor
que le pasemos (3, 5 o 6) har parpadear el LED del pin digital
correspondiente.

Adems tambin podramos crear un bloque que apague todos


los LEDs

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 26

-- 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.

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 27

-- P. 27/38
A13.- Control por Bluetooth

En esta actividad aprenderemos a controlar nuestro robot con un mvil Android a


travs de Bluetooth.

Colocaremos el mdulo Bluetooth JY-MCU-HC06, que se suministra configurado


a 9600 baudios, respetando los pines de la serigrafa de la placa.

A nuestro robot le cargaremos el siguiente programa:

*Descarga programa: A13-BLUETOOTH(I)

*Para transferir el programa hay que quitar el mdulo Bluetooth o el jumper, ya que utiliza las
mismas seales que el puerto COM (USB).

*En el momento de realizar este manual las instrucciones de Snap4Arduino no funcionan


correctamente para la lectura de datos va serie, por este motivo se tiene que cargar el programa
desde el IDE de Arduino.

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 28

-- 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):

Video del control con botones tipo flechas:


https://www.youtube.com/watch?v=SytjjWNLB7Q

Video del control con giroscopio:


https://www.youtube.com/watch?v=WJ__96BzCuQ

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 29

-- P. 29/38
A14.- Control servomotor

Un servomotor es un motor especial que


puede posicionar su eje en un ngulo
determinado y lo puede mantener en esta
posicin. Para funcionar slo necesita
alimentacin GND, VCC (5voltios) y una
seal de control.

Los servomotores estndar slo poden girar 180, aunque en el mercado podemos encontrar de
270 y de 360 (giro continuo).

La seal de control que se enva al


servomotor son impulsos comprendidos entre
0,75ms y 2,25ms de duracin que se repiten
cada 20ms.

Con Snap4Arduino simplemente hay que


indicar directamente los grados del ngulo que
debe posicionarse el eje del servomotor.

Si conectamos un servomotor en D6 e introducimos el programa


siguiente, podremos ver cmo va alternando la posicin de su
eje entre 45 y 135.

Para mejorar el programa anterior os proponemos hacer que la


posicin del servomotor cambie segn el valor de la luz que
recibe el sensor LDR (Resistor Dependiente de la Luz) conectado
en la entrada analgica A2.

Dividiremos por 6 el valor de la variable


luz para escalarla, ya que las entradas
analgicas varan entre 0-1023 y el servo
admite 0-180.

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 30

-- P. 30/38
Anexo 1.-Montaje del robot Imagina Arduino
tt
A continuacin detallamos el procedimiento de montaje del robot Imagina3dBot en 15 pasos.

1.-Repasamos que tengamos todo


el material especificado en la pgina
3.

2.-Colocamos la bola de plstico de


la parte de detrs en la parte
inferior del chasis.

3.- Acoplamos a la parte superior el


carril de encaje de la caja, con dos
tornillos avellanados de 2,9x6,5
mm.

4.- Acoplamos el accesorio de


soporte del sensor de lnea, que
actuar como encoder de la rueda
izquierda, al motor izquierdo del
robot, con un tornillo de 2,9x6,5
mm.

Posteriormente acoplamos el sensor


de lnea con un tornillos de 2,9x6,5
mm.

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 31

-- P. 31/38
5.-Ponemos el soporte superior y lo
fijaremos conjuntamente con los
tornillos de 2,9x25 mm.

De esta forma unimos la base


con el soporte superior y los
motores.

6.-Fijamos el motor con los tornillos


de 2,9x25mm.
*No hacer mucha fuerza, ya que si
comprimimos demasiado la caja
reductora del motor este girar con
dificultad.

7.- Ubicamos el Power Bank en el


interior del chasis y colocamos los
dos sensores de
lnea delanteros con
2 tuercas de M3 y 2
tornillos de M3x10.

8.-Roscamos los 4 tornillos de


2,9x9,5mm, en la caja donde
acoplaremos la placa Arduino y el
shield Imagina Arduino
V2 al robot

9.-Montamos las juntas a las


ruedas.

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 32

-- P. 32/38
10.- Colocamos las ruedas a presin
con la cara lisa al exterior.

11.-Fijamos la placa Arduino Uno


encima del chasis, a travs del carril
de encaje caja al robot, de esta
forma podemos poner y sacar la
placa Arduino del robot en funcin
de la actividad a realizar.

*No tenemos que hacer mucha


fuerza.

Luego ponemos el Shield Imagina


Arduino de forma que coincidan las
referencias de los pines.

*Tomar como referencia RX (D0) de


las dos placas.

12.- Conectamos los motores a la


placa shield Imagina Arduino V2.
Motor A, motor derecho
Motor B, motor izquierdo, en el
sentido de la marcha.

13.- Conectamos los sensores de


lnea derecho e izquierdo a la
placa.
Sensor derecho, detrs, en Sd,
sensor izquierdo, delante, en Se

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 33

-- P. 33/38
14.- En el motor izquierdo
montamos el tercer sensor de lnea
fotoelctrico que utilizaremos como
encoder.

15.-Connectamos el Power Bank


de 5V para alimentar el robot.

*Opcionalmente puede alimentarse


con pilas a 5V. El cable rojo es el
positivo (+ 5V) y el negro el
negativo (- GND), conectndolas en
el terminal Power Bat.

*Esta placa no lleva ningn


regulador de tensin, por lo que no
se puede alimentar con ms de 6V
(4 pilas AA).

16.-Conectamos el sensor
bluetooth y el sensor de
ultrasonido HC-SR04 en sus
zcalos correspondientes teniendo
en cuenta su polaridad.

*Los cables VCC (+5v) y GND de


uno y otro extremo deben tener el
mismo nombre.

17.-Finalmente ya tenemos el
robot construido.

Ya est listo para programarlo.

Consultar el ndice.

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 34

-- P. 34/38
Anexo 2.-Posibilidades del Shield Imagina Arduino V2.
tt

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 35

-- P. 35/38
Anexo 3.-Programacin Arduino con Snap4Arduino.
tt
Preparacin

1.-Descargar e instalarSnap4Arduino.
http://snap4arduino.org/

2.- Descargar e instalar el IDE de Arduino


http://www.arduino.org/downloads

3.- Descargar y descomprimir SA5Firmata 2.0

4.- Copiamos el contenido de la carpeta libraries dentro de nuestra carpeta


Arduino/libraries (carpeta del ordenador, dentro de los ficheros de usuario).

5.- Abrimos el fichero descomprimido SA5Firmata2.ino con el IDE de Arduino.

6.- Conectamos el Arduino3DBot al ordenador y en el IDE de Arduino


comprobamos que tenemos bien seleccionada la placa (tipo de placa y puerto).

7.- Se sube SA5Firmata a la placa Arduino.

8.- Para poder utilizar las funcionalidades


extendidas, hace falta importar a Snap4Arduino los
bloques que se encuentran en la carpeta
descomprimida. El fichero se llama
SA5Firmata_bs2.xml

Programacin

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 36

-- 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.

Ya sea en un modo u otro, para conectar el robot debemos ir a:

Hacemos clic en Conectar Arduino y seleccionamos el puerto dnde lo tenemos conectado:

Y finalmente Snap4Arduino se conecta a la placa:

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 37

-- P. 37/38
Anexo 4.-Esquema electrnico de la placa Imagina.

INNOVA DIDACTIC Manual de actividades con Snap4Arduino. Imagina Arduino3dBot_rev1.0P. 38

-- P. 38/38

También podría gustarte