A RDUBLOCK · 3), a su derecha, un sensor de temperatura (pin 4) y en la esquina inferior derecha...

57
A A A MANUAL BÁS Para programar Ardui Por Ana Núñez Pérez A A A R R D D U U B B L LO O C C K K SICO DE ARDUBLOCK ino sin saber Arduino K

Transcript of A RDUBLOCK · 3), a su derecha, un sensor de temperatura (pin 4) y en la esquina inferior derecha...

AAA

MANUAL BÁSICO DE ARDUBLOCK

Para programar Arduino sin saber Arduino Por Ana Núñez Pérez

AAARRRDDDUUUBBBLLLOOOCCCKKK

MANUAL BÁSICO DE ARDUBLOCK

Para programar Arduino sin saber Arduino

MANUAL BÁSICO DE ARDUBLOCK

2 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

1. PRIMERAS NOCIONES

2. EMPEZAMOS A TRABAJAR

3. POR DÓNDE EMPEZAMOS

4. NUESTRA PRIMERA PRÁCTICA: LED INTERMITENTE

5. FUNCIÓN REPITE

6. PRACTICA: SOS

7. PRACTICA: EL SEMAFORO

8. PRACTICA: GOBIERNO DEL ENCENDIDO DE UN LED (SALIDA) MEDIANTE UN PULSADOR (ENTRADA DIGITAL)

9. PRÁCTICA: LED (SALIDA) INTERMITENTE CON CONTROL DE FRECUENCIA MEDIANTE UN POTENCIOMÉTRO (ENTRADA ANALÓGICA

10. PRÁCTICA: CONECTAR UNA SALIDA DIGITAL CON UN PULSADOR (ENTRADA DIGITAL) Y APAGARLA CON OTRA ENTRADA DIGITAL DIFERENTE. FUNCIÓN WHILE (MIENTRAS QUE)

11. PRÁCTICA: CONTROL DE UN MOTOR

12. PRÁCTICA 8: CONTROL

13. PRÁCTICA: SERVO CONTRALADO POR SEÑALES EXTERNAS

14. PRÁCTICA: SENSOR DE LUZ 1(LDR

15. PRÁCTICA: SENSOR DE LUZ 2 (EL FOTOTRANSITOR).

16. PRÁCTICA: SENSOR IR, SENSOR DE LUZ INFRAROJA

17. PRÁCTICA: ULTRASONIDOS SR04

18. PRÁCTICA: ROBOT MINISKYBOT (ARDUINO)

19. PRÁCTICA: CÓDIGO ESCOBA (ARDUINO)

20. PRÁCTICA: SIGUELINEAS CON ARDUBLOCK

21. DOCUMENTACIÓN – BIBLIOGRAFÍA

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

INDICE

AMOS A TRABAJAR

POR DÓNDE EMPEZAMOS

PRÁCTICA: LED INTERMITENTE

PRACTICA: EL SEMAFORO

PRACTICA: GOBIERNO DEL ENCENDIDO DE UN LED (SALIDA) MEDIANTE UN PULSADOR (ENTRADA DIGITAL)

PRÁCTICA: LED (SALIDA) INTERMITENTE CON CONTROL DE FRECUENCIAMEDIANTE UN POTENCIOMÉTRO (ENTRADA ANALÓGICA

CONECTAR UNA SALIDA DIGITAL CON UN PULSADOR (ENTRADA Y APAGARLA CON OTRA ENTRADA DIGITAL DIFERENTE.

FUNCIÓN WHILE (MIENTRAS QUE)

CONTROL DE UN MOTOR

DE UN SERVOMOTOR (giro 180º

: SERVO CONTRALADO POR SEÑALES EXTERNAS

SENSOR DE LUZ 1(LDR

SENSOR DE LUZ 2 (EL FOTOTRANSITOR).

, SENSOR DE LUZ INFRAROJA.

ULTRASONIDOS SR04

ROBOT MINISKYBOT (ARDUINO)

CÓDIGO ESCOBA (ARDUINO)

SIGUELINEAS CON ARDUBLOCK

BIBLIOGRAFÍA – WEBGRAFÍA

3

6

10

14

16

17

18

19

PRÁCTICA: LED (SALIDA) INTERMITENTE CON CONTROL DE FRECUENCIA 22

CONECTAR UNA SALIDA DIGITAL CON UN PULSADOR (ENTRADA

24

27

29

35

37

40

41

43

50

54

56

57

3 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

1. PRIMERAS NOCIONES

ARDUBLOCK ¿Qué es Ardublock?: Ardublock

programación que se distribuye como un pluging de java y que

se añade a las herramientas del IDE de Arduino, con lo que

permite la elaboración de programas para Arduino sin necesidad

de escribir el código con la sintaxis de sus órdenes.

Se basa en el uso de una sencilla interfaz gráfica utilizando un sistema de bloques, que

simbolizan diferentes elementos de programación, por ejemplo: instrucciones,

condiciones, variables, bucles, etc. Estos bloques de programación se van

ensamblando, como las pi

esta herramienta sea de gran utilidad para iniciar a nuestros alumnos en la

programación con Arduino ya que tiene la posibilidad de pasar “nuestro programa

puzle” a lenguaje Arduino permitiendo ve

equivalen cada pieza del puzle

de instalar y manejar.

LA PLACA ARDUINO UNOArduino UNO es una tarjeta electrónica sencilla y de bajo precio diseñada para el

aprendizaje de electrónica y la creación de prototipos.

Qué nos vamos a encontrar en esta tarjeta:

Pines digitales: la tarjeta Arduino UNO tiene 14 patillas digitales que pueden actuar tanto como entradas de datos (E) como de salidas (S), dependiendo de lnosotros queramos conectar en ellas, elementos de control, o actuadores.Por ejemplo, podríamos conectar un pulsador (elemento de control) en la patilla 7 (pin 7), con lo que la estaríamos usándola como entrada y un LED (actuador) en el pin 13, con lo que la patilla 13 la estaríamos utilizando como salida. Nota: en el Pin 13 hay un LED cuando el pin es de alto valor, el LED está encendido, cuando el valor está bajo, es apagado.

Entradas analógicas: En estos pines podem

sensores de luz, temperatura,

Memoria Flash: En ella32Kb.

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

PRIMERAS NOCIONES

¿Qué es Ardublock?: Ardublock es un lenguaje gráfico de

que se distribuye como un pluging de java y que

se añade a las herramientas del IDE de Arduino, con lo que

permite la elaboración de programas para Arduino sin necesidad

de escribir el código con la sintaxis de sus órdenes.

n el uso de una sencilla interfaz gráfica utilizando un sistema de bloques, que

simbolizan diferentes elementos de programación, por ejemplo: instrucciones,

condiciones, variables, bucles, etc. Estos bloques de programación se van

ezas de un puzle hasta formar programas, lo que hace que

esta herramienta sea de gran utilidad para iniciar a nuestros alumnos en la

programación con Arduino ya que tiene la posibilidad de pasar “nuestro programa

” a lenguaje Arduino permitiendo ver a nuestros alumnos a qué sentencias

puzle. . Además se trata de una aplicación libre y es muy fácil

LA PLACA ARDUINO UNO Arduino UNO es una tarjeta electrónica sencilla y de bajo precio diseñada para el

aprendizaje de electrónica y la creación de prototipos.

Qué nos vamos a encontrar en esta tarjeta:

: la tarjeta Arduino UNO tiene 14 patillas digitales que pueden actuar tanto como entradas de datos (E) como de salidas (S), dependiendo de lnosotros queramos conectar en ellas, elementos de control, o actuadores.Por ejemplo, podríamos conectar un pulsador (elemento de control) en la patilla 7 (pin 7), con lo que la estaríamos usándola como entrada y un LED (actuador) en el

lo que la patilla 13 la estaríamos utilizando como salida.Nota: en el Pin 13 hay un LED y una resistencia asociada soldados a la

cuando el pin es de alto valor, el LED está encendido, cuando el valor está bajo, es

En estos pines podemos conectar distintos sensores como de luz, temperatura, etc. Esta placa tiene 6.

En ella se grabará nuestro programa, la de nuestra placa es de

n el uso de una sencilla interfaz gráfica utilizando un sistema de bloques, que

simbolizan diferentes elementos de programación, por ejemplo: instrucciones,

condiciones, variables, bucles, etc. Estos bloques de programación se van

hasta formar programas, lo que hace que

esta herramienta sea de gran utilidad para iniciar a nuestros alumnos en la

programación con Arduino ya que tiene la posibilidad de pasar “nuestro programa-

r a nuestros alumnos a qué sentencias

. . Además se trata de una aplicación libre y es muy fácil

Arduino UNO es una tarjeta electrónica sencilla y de bajo precio diseñada para el

: la tarjeta Arduino UNO tiene 14 patillas digitales que pueden actuar tanto como entradas de datos (E) como de salidas (S), dependiendo de lo que nosotros queramos conectar en ellas, elementos de control, o actuadores. Por ejemplo, podríamos conectar un pulsador (elemento de control) en la patilla 7 (pin 7), con lo que la estaríamos usándola como entrada y un LED (actuador) en el

lo que la patilla 13 la estaríamos utilizando como salida. y una resistencia asociada soldados a la placa,

cuando el pin es de alto valor, el LED está encendido, cuando el valor está bajo, es

os conectar distintos sensores como

se grabará nuestro programa, la de nuestra placa es de

4 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

Memoria RAM: dispone de una RAM de 2 Kb

Memoria auxiliar: de un 1Kb

Esta es la placa con la que trabajaremos, y las patillas digitales pueden verse en a

la parte superior (P0,1,2,34,5,6,7,8,9,10,11,12,13) y en la inferior las analógicas,

numeradas como A0, A1,….. También en la parte infer

que permite reiniciar el bootloader y cargar un nuevo programa, también se puede

hacer desde el IDE de Arduino.

En la parte derecha podemos ver el puerto USB,

Seis de las entradas digitales se pueden emplear como entradas PWM. Esto quiere

decir que permiten simular un comportamiento analógico enviando señales de valor

variable, de cara a modificar la intensidad de iluminación de un LED o l

giro de un motor, se corresponde

señales de 256 valores distintos entre 0 y 5 voltios.

La alimentación de Arduino UNO se realiza a través de la entrada USB, o bien a través

de la entrada de corriente SHIELDS DE ARDUINO

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

: dispone de una RAM de 2 Kb

: de un 1Kb

Esta es la placa con la que trabajaremos, y las patillas digitales pueden verse en a

la parte superior (P0,1,2,34,5,6,7,8,9,10,11,12,13) y en la inferior las analógicas,

numeradas como A0, A1,….. También en la parte inferior se encuentra el botón Reset,

que permite reiniciar el bootloader y cargar un nuevo programa, también se puede

hacer desde el IDE de Arduino.

echa podemos ver el puerto USB,a la izquierda la entrada de corriente.

itales se pueden emplear como entradas PWM. Esto quiere

decir que permiten simular un comportamiento analógico enviando señales de valor

variable, de cara a modificar la intensidad de iluminación de un LED o la velocidad de

orresponden a los pines 3, 5, 6, 9, 10 y 11, y permiten enviar

señales de 256 valores distintos entre 0 y 5 voltios.

La alimentación de Arduino UNO se realiza a través de la entrada USB, o bien a través

de la entrada de corriente SHIELDS DE ARDUINO

Patillas digitales (pin)

Pines analógicos

Esta es la placa con la que trabajaremos, y las patillas digitales pueden verse en a

la parte superior (P0,1,2,34,5,6,7,8,9,10,11,12,13) y en la inferior las analógicas,

ior se encuentra el botón Reset,

que permite reiniciar el bootloader y cargar un nuevo programa, también se puede

a la izquierda la entrada de corriente.

itales se pueden emplear como entradas PWM. Esto quiere

decir que permiten simular un comportamiento analógico enviando señales de valor

a velocidad de

n a los pines 3, 5, 6, 9, 10 y 11, y permiten enviar

La alimentación de Arduino UNO se realiza a través de la entrada USB, o bien a través

5 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

Los shields son placas que se empotran encima de una placa Arduino y que ofrecen funcionalidades complementarias a las de esta evitándonos tener que montar circuitos para probar nuestros programas, una de ellas es la “

ARDUINO BASIC I/O

Para poder realizar montajes de electrónica de control con Arduino deberíamos trabajar con nuestros propios circuitos eléctricos y electrónicos empleando placas Proto Board, pero para simplificarnos algunas prácticas también podemos usar una placa hecha exprofeso paraplaca BASIC I/O, que podemos ver en la imagen.

Las entradas digitales se identifican con una D y un número, y ya van asociadas a LEDs pines 11, 10, 9 y 6, tiene también 4 pulsadores (pines 12, 8, 7 y(pin 2), conectores para motorM+ y M-), que corresponden a dos tornillos de la parte superior derecha, y conexiones para servos (SV1 y SV2).

Las entradas analógicas se identifican con una A y entre ellas tenemos: dos potenciómetros (pines 0 y 1, la esquina inferior izquierda de la imagen), a su derecha, de color blanco, un fotodiodo (pin 2), siguiendo hacia la derecha de la imagen, un sensor IR (3), a su derecha, un sensor de temperatura (pin 4) y en la esquina inferior derecha de la imagen tenemos un transistor. Por último arriba a la izquierda se encuentra el botón de RESET.

Con esta placa ya tenemos creados los circuitos eléctricos y electrónicos necesarios para poder empezar a programar en Arduino.

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

placas que se empotran encima de una placa Arduino y que ofrecen funcionalidades complementarias a las de esta evitándonos tener que montar circuitos para probar nuestros programas, una de ellas es la “Arduino Dasic I/O

ARDUINO BASIC I/O

zar montajes de electrónica de control con Arduino deberíamos trabajar con nuestros propios circuitos eléctricos y electrónicos empleando placas Proto Board, pero para simplificarnos algunas prácticas también podemos usar una placa hecha exprofeso para entornos docentes por la empresa vasca MSE Bilbao, la

que podemos ver en la imagen.

Las entradas digitales se identifican con ero, y ya van asociadas a

tiene también 4 pines 12, 8, 7 y 4), un altavoz

motores (pines , que corresponden a dos

erior derecha, y conexiones para servos (SV1 y SV2).

Las entradas analógicas se identifican con entre ellas tenemos: dos os (pines 0 y 1, situados en

la esquina inferior izquierda de la imagen), a su derecha, de color blanco, un

, siguiendo hacia la e la imagen, un sensor IR (pin

, un sensor de y en la esquina

erior derecha de la imagen tenemos un transistor. Por último arriba a la izquierda se encuentra el botón de RESET.

Con esta placa ya tenemos creados los circuitos eléctricos y electrónicos necesarios para poder empezar a programar en Arduino.

placas que se empotran encima de una placa Arduino y que ofrecen funcionalidades complementarias a las de esta evitándonos tener que montar circuitos

zar montajes de electrónica de control con Arduino deberíamos trabajar con nuestros propios circuitos eléctricos y electrónicos empleando placas Proto Board, pero para simplificarnos algunas prácticas también podemos usar una

entornos docentes por la empresa vasca MSE Bilbao, la

erior derecha de la imagen tenemos un transistor. Por último arriba a la izquierda se

Con esta placa ya tenemos creados los circuitos eléctricos y electrónicos necesarios

6 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

2. EMPEZAMOS A TRABAJAR

Para empezar a trabajar lo primero que tenemos que hacer es instalar el software

necesario y para ello deberás seguir los pasos siguientes:

1º paso: Descargad e instalad el entorno Arduino siguiendo las instrucciones de http://arduino.cc/en/Main/Software

2º paso (Seleccionar la placa Arduino que vamos a utilizar )Arduino a un puerto USB de vuestro ordenador, entonces se instalará el nuevo hardware y fígaros en qué puerto está conectada. Siempre podréis comprobarlo en el administrador de dispositivosEn mi caso la placa Arduino se ha instalado en el puerto COM 28

A continuación en el menú

de la placa que vamos a utilizar (en mi caso veréis que se trata de la placa Arduino

Uno).

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

AMOS A TRABAJAR

Para empezar a trabajar lo primero que tenemos que hacer es instalar el software

necesario y para ello deberás seguir los pasos siguientes:

: Descargad e instalad el entorno Arduino siguiendo las instrucciones de http://arduino.cc/en/Main/Software

Seleccionar la placa Arduino que vamos a utilizar ): Conectad la placa Arduino a un puerto USB de vuestro ordenador, entonces se instalará el nuevo

os en qué puerto está conectada. Siempre podréis comprobarlo en el administrador de dispositivos-puertos COM y LPT. En mi caso la placa Arduino se ha instalado en el puerto COM 28

A continuación en el menú Herramientas - Tarjeta, seleccionamos

de la placa que vamos a utilizar (en mi caso veréis que se trata de la placa Arduino

Para empezar a trabajar lo primero que tenemos que hacer es instalar el software

: Descargad e instalad el entorno Arduino siguiendo las instrucciones de

: Conectad la placa Arduino a un puerto USB de vuestro ordenador, entonces se instalará el nuevo

os en qué puerto está conectada. Siempre podréis comprobarlo

, seleccionamos la versión

de la placa que vamos a utilizar (en mi caso veréis que se trata de la placa Arduino

7 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

Ahora debemos seleccionar el canal el canal de comunicaciones que va a

emplear nuestro ordenador para comunicarse con la tarjeta. Pare ello en el

Herramientas – Puerto Serial

placa.

3º paso: Para instalar Ardublock tenemos que ir primero a la página de referencia: http://blog.descaragr el archivo .jar, o ir directamente al enlace (http://sourceforge.net/projects/ardublock/files/Si prefieres otra opción puedes es descargarteardublock-all.jar

http://cloud.github.com/downloads/taweili/ardublock/ardublock

4º paso: En carpeta en donde fichero ardublock-all.jar.

Para asegurarnos dónde lo tenemos instalado hacemos lo siguiente:Arduino y verificamos la ruta del Sketchbook, eso lo hacemos el menú de Arduino “Archivo” -> “Preferencias” clicamos y nos aparecerá la ventana codel Sketchbook. En mi caso: C:

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

Ahora debemos seleccionar el canal el canal de comunicaciones que va a

emplear nuestro ordenador para comunicarse con la tarjeta. Pare ello en el

Puerto Serial, seleccionad el puerto serie en qué esté conectada la

: Para instalar Ardublock tenemos que ir primero a la página de http://blog.ardublock.com. Luego allí ir donde pone download y

descaragr el archivo .jar, o ir directamente al enlace http://sourceforge.net/projects/ardublock/files/).

Si prefieres otra opción puedes es descargartelo directamente en el fichero desde la página

cloud.github.com/downloads/taweili/ardublock/ardublock-all.jar

: En carpeta en donde esté instalado el IDE Arduino debemos incluirall.jar.

Para asegurarnos dónde lo tenemos instalado hacemos lo siguiente:erificamos la ruta del Sketchbook, eso lo hacemos el menú de Arduino > “Preferencias” clicamos y nos aparecerá la ventana co

En mi caso: C:\Users\ana\Documents\Arduino .

Nota: Esto solo lo tienes que hacer

la primera vez que la conectas.

Ahora debemos seleccionar el canal el canal de comunicaciones que va a

emplear nuestro ordenador para comunicarse con la tarjeta. Pare ello en el menú

, seleccionad el puerto serie en qué esté conectada la

: Para instalar Ardublock tenemos que ir primero a la página de Luego allí ir donde pone download y

descaragr el archivo .jar, o ir directamente al enlace descarga

directamente en el fichero ArduBlock,

all.jar

uino debemos incluir el

Para asegurarnos dónde lo tenemos instalado hacemos lo siguiente: Abrimos erificamos la ruta del Sketchbook, eso lo hacemos el menú de Arduino - > “Preferencias” clicamos y nos aparecerá la ventana con la ubicación

: Esto solo lo tienes que hacer

8 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

Ahora que ya sabemos donde está instalado, cerramos el IDE de Arduino y lo

abriremos de nuevo cuando tengamos el archivo

Nos vamos a la carpeta de Arduino (

creamos una carpeta “tools”, luego dentro de ésta creamos otra a la que llamamos

“ArduBlockTool”, y dentro de ésta, otra carpeta que se llame “tool”. Finalmente,

dentro de “tool” copiamos

En mi caso:

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

Ahora que ya sabemos donde está instalado, cerramos el IDE de Arduino y lo

abriremos de nuevo cuando tengamos el archivo .jar copiado.

Nos vamos a la carpeta de Arduino (a la dirección que acabamos de verificar) y en ella

“tools”, luego dentro de ésta creamos otra a la que llamamos

dentro de ésta, otra carpeta que se llame “tool”. Finalmente,

el archivo .jar que hemos descargado.

Ahora que ya sabemos donde está instalado, cerramos el IDE de Arduino y lo

a la dirección que acabamos de verificar) y en ella

“tools”, luego dentro de ésta creamos otra a la que llamamos

dentro de ésta, otra carpeta que se llame “tool”. Finalmente,

9 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

Arrancamos de nuevo el IDE de Arduino y vamos al menú de Herramientas, donde

ahora debe aparecer Ardublock.

Hacemos clic, se nos abrirá una nueva pantalla de trabajo, la de Ardublock como la de

Arduino

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

Arrancamos de nuevo el IDE de Arduino y vamos al menú de Herramientas, donde

ahora debe aparecer Ardublock.

Hacemos clic, se nos abrirá una nueva pantalla de trabajo, la de Ardublock como la de

Arrancamos de nuevo el IDE de Arduino y vamos al menú de Herramientas, donde

Hacemos clic, se nos abrirá una nueva pantalla de trabajo, la de Ardublock como la de

10 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

3. POR DÓNDE EMPEZAMOS

Ya con nuestra pantalla de Ardublock abierta vamos a ver con que nos encontramos.

Librerías y

funciones (las

piezas del puzle),

están clasificadas

según su función

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

POR DÓNDE EMPEZAMOS

Ya con nuestra pantalla de Ardublock abierta vamos a ver con que nos encontramos.

Área de trabajo donde montaremos

nuestro puzle

Subir programa

(pasarlo a

Arduino)

Guardar

programa

Cargar un programa

Ya con nuestra pantalla de Ardublock abierta vamos a ver con que nos encontramos.

Zoom al programa

Área de trabajo donde montaremos

11 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

Ahora vamos a analizar un poco las

clasificadas por colores según su funcio

manejar. Como ya hemos dicho

puzle, si colocamos una función o pieza con otra

ocurre en un puzle la unión no quedará bien real

corresponde con el tipo de piezas que deben encajar entr

unirlas, esto es muy útil para ir aprendiendo que en programación hay ciertas reglas

que se deben cumplir.

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

vamos a analizar un poco las librerías de Ardublock. Como veras

clasificadas por colores según su funcionalidad, son muy intuitivas y sencillas de

hemos dicho van encajándose unas en otras como las piezas de un

puzle, si colocamos una función o pieza con otra cuya forma no encaja

la unión no quedará bien realizada, sin embargo si la función si se

corresponde con el tipo de piezas que deben encajar entre sí se oirá un “clac” al

unirlas, esto es muy útil para ir aprendiendo que en programación hay ciertas reglas

Funciones de Control, estas piezas permiten

realizar:

• Bucle: ejecuta la acción de forma indefinida.

• Si/entonces: ejecuta otras instrucciones de manera condicional (está tiene tres enganches) en condición, colocamos la instrucción que establece la condición, en el primer entonces ejecutará si la condición es verdaderasegundo entonces la que la acción que se ejecutará si la condición es falsa.

• Mientras que: al establecer una condición se mantiene la acción encajada en la parte inferior de la ficha del puzle, mientras la condición establecida siga siendo verdadera.

• Repite: En la parte superior aparecerá el número de veces que se repite la acción colocada en hueco inferior de la pieza.

Como veras están

nalidad, son muy intuitivas y sencillas de

otras como las piezas de un

cuya forma no encaja al igual que

izada, sin embargo si la función si se

se oirá un “clac” al

unirlas, esto es muy útil para ir aprendiendo que en programación hay ciertas reglas

as piezas permiten

Bucle: ejecuta la acción de forma indefinida.

Si/entonces: ejecuta otras instrucciones de manera condicional (está tiene tres enganches) en

s la instrucción que establece la acción que se

verdadera, y en el la que la acción que se ejecutará

Mientras que: al establecer una condición se mantiene la acción encajada en la parte inferior de

zle, mientras la condición establecida

Repite: En la parte superior aparecerá el número de veces que se repite la acción colocada

12 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

Funciones de Pines, con ellas se lleva a cabo la

gestión de las entradas y salidas tanto analógicas

como digitales.

Por ejemplo:

• Permite leer el estado de una entrada digital, al área de trabajo nos aparecerá asociada al un

número 1 sobre el número escogeremos el número del pin que queramos leer. Lo mismo para pin analógico.

• Con esta función podemos darle el valor ““bajo” a la entrada o salida elegida.

• con esta función gestionaremos los valores de los servos como el ángulo inicial.

Funciones de Pines, con ellas se lleva a cabo la

s entradas y salidas tanto analógicas

Permite leer el estado de una entrada digital, al colocarla en al área de trabajo nos aparecerá asociada al un

al clicar sobre el número escogeremos el número del pin

ramos leer. Lo mismo para pin analógico.

Con esta función podemos darle el valor “alto” o ” a la entrada o salida elegida.

con esta función gestionaremos los valores de los servos como el

13 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

Están dedicados al control de periféricos concretos, como LED, Relés, Sensores

analógicos de sonido, etc.

Aquí encontramos fichas muy

utilizadas en los proyectos para

temporizar como por ejemplo la

función retardo, que detiene el

progreso del programa los

milisegundos que indiquemos.

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

dicados al control de periféricos concretos, como LED, Relés, Sensores

Con ellas podemos dar valo

operar con ellos (1,2,..) o constantes

(alto, bajo, verdadero

entradas y salidas. Fíjate que sus

formas encajan con las funciones de

pines vistas anteriormente.

Estos operadores permiten

realizar operaciones lógicas y

aritméticas, como por ejemplo las

funciones lógicas AND, NOT, OR…

dicados al control de periféricos concretos, como LED, Relés, Sensores

Con ellas podemos dar valores para

operar con ellos (1,2,..) o constantes

(alto, bajo, verdadero…) a las

entradas y salidas. Fíjate que sus

formas encajan con las funciones de

pines vistas anteriormente.

14 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

4. NUESTRA PRIMERA

Nuestro primer ejercicio será el apagado y encendido

experimentación ARDUINO

programa por lo tanto quedará como se ve en la figura. Fíjate que una vez formado

nuestro puzle daremos a la tecla “

pantalla de Arduino el mensaje “

programa estará cargado en nuestra placa,

completada”. Ahora ya puedes ver tu primer programa traducido a Arduino.

Si no dispones de la de la tarjeta de experimentación ARDUI

pasa nada, basta con que realices este sencillo

montaje en tu placa Arduino UNO:

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

PRIMERA PRÁCTICA: LED INTERMITENTE

Nuestro primer ejercicio será el apagado y encendido del led rojo de la tarjeta de

experimentación ARDUINO BASIC I/O, este led se corresponde con la salida D11. Y el

programa por lo tanto quedará como se ve en la figura. Fíjate que una vez formado

nuestro puzle daremos a la tecla “Upload” y automáticamente nos aparecerá en la

pantalla de Arduino el mensaje “compilando el sketch” y en unos segundos el

tará cargado en nuestra placa, entonces aparecerá el mensaje “

”. Ahora ya puedes ver tu primer programa traducido a Arduino.

Si no dispones de la de la tarjeta de experimentación ARDUINO BASIC I/O, pues no

pasa nada, basta con que realices este sencillo

montaje en tu placa Arduino UNO:

led rojo de la tarjeta de

BASIC I/O, este led se corresponde con la salida D11. Y el

programa por lo tanto quedará como se ve en la figura. Fíjate que una vez formado

y automáticamente nos aparecerá en la

” y en unos segundos el

entonces aparecerá el mensaje “carga

”. Ahora ya puedes ver tu primer programa traducido a Arduino.

NO BASIC I/O, pues no

15 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

Si no usamos el pin digital 13 de Arduino para conectar el LED necesitaríamos

una resistencia de unos 200 ohmios (el valor estándar más cercano es d

este valor lo obtenemos con un sencillo cálculo:

• Un LED normal necesita de entre 5 y 20 mA para encenderse, por lo que necesitaremos unos 15mA para que el LED luzca bien.

• La alimentación del Arduino UNO es de 5• En el LED caerán 2 V• En la resistencia deben caer unos 3

Por lo tanto:

5 - 2 = 3 V

Aplicando la ley de Ohm (Tensión = Intensidad * Resistencia):

V = I * R

Puesto que conocemos V e I podremos calcular R:

R = V / I

Con los valores:

R = 3 / 0.015 = 200 Ω

Por lo tanto necesitaremos l

que es una de 220 Ω.

Si usamos el pin digital 13

usaremos una resistencia

incorpora dicha resistencia

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

Si no usamos el pin digital 13 de Arduino para conectar el LED necesitaríamos

de unos 200 ohmios (el valor estándar más cercano es d

este valor lo obtenemos con un sencillo cálculo:

Un LED normal necesita de entre 5 y 20 mA para encenderse, por lo que necesitaremos unos 15mA para que el LED luzca bien. La alimentación del Arduino UNO es de 5V.

V esistencia deben caer unos 3 V

Aplicando la ley de Ohm (Tensión = Intensidad * Resistencia):

Puesto que conocemos V e I podremos calcular R:

Por lo tanto necesitaremos la resistencia del mercado que más se aproxime a 200

Si usamos el pin digital 13 de la placa Arduino

usaremos una resistencia externa ya que la placa

incorpora dicha resistencia.

Si no usamos el pin digital 13 de Arduino para conectar el LED necesitaríamos

de unos 200 ohmios (el valor estándar más cercano es de 220 ohmios),

Un LED normal necesita de entre 5 y 20 mA para encenderse, por lo que

xime a 200 Ω,

de la placa Arduino no

externa ya que la placa

16 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

5. FUNCIÓN REPITE:

Dentro la biblioteca de control una de las funciones que podemos encontrar es la

función repite. Esta función nos puede ser de utilidad para ahorrarnos e

número de veces determinadas órdenes en nuestros programas.

Este sería un ejemplo de cómo utilizar esta función.

función repite así, como única instrucción de nuestro programa no tiene much

sentido, ya que como los programas empiezan con un bucle, después de repetir 3

veces el apagado y encendido de lo que hayamos conectado en la salida 13, por

ejemplo un LED, el programa volverá a empezar, por lo que no apreciaremos esa

repetición.

A continuación vamos a realizar una práctica en la que esta función repite si nos será

de utilidad.

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

Dentro la biblioteca de control una de las funciones que podemos encontrar es la

función repite. Esta función nos puede ser de utilidad para ahorrarnos e

número de veces determinadas órdenes en nuestros programas.

Este sería un ejemplo de cómo utilizar esta función. Pero como observarás utilizar la

función repite así, como única instrucción de nuestro programa no tiene much

sentido, ya que como los programas empiezan con un bucle, después de repetir 3

veces el apagado y encendido de lo que hayamos conectado en la salida 13, por

ejemplo un LED, el programa volverá a empezar, por lo que no apreciaremos esa

tinuación vamos a realizar una práctica en la que esta función repite si nos será

Aquí indicaremos el número de repeticiones.

Y aquí, indicaremos la instrucción que queremos se repita.

Dentro la biblioteca de control una de las funciones que podemos encontrar es la

función repite. Esta función nos puede ser de utilidad para ahorrarnos el repetir un

Pero como observarás utilizar la

función repite así, como única instrucción de nuestro programa no tiene mucho

sentido, ya que como los programas empiezan con un bucle, después de repetir 3

veces el apagado y encendido de lo que hayamos conectado en la salida 13, por

ejemplo un LED, el programa volverá a empezar, por lo que no apreciaremos esa

tinuación vamos a realizar una práctica en la que esta función repite si nos será

Aquí indicaremos el número de repeticiones.

Y aquí, indicaremos la instrucción que queremos se repita.

17 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

6. PRACTICA: SOS

La siguiente práctica consistirá en realizar una señal de SOS con el led blanco de la

tarjeta de experimentación ARDUINO BASIC I/O que se corre

Si no, puedes utilizar el mismo montaje del ejercicio anterior y por lo tanto el

lugar del 6, o utilizar la salida 13, pin 13 en ella puedes colocar directamente el LED sin

necesidad de usar una resistencia de protecció

Pues vamos allá, ahora te toca a ti.

Hay muchas posibilidades para realizarlo por ejemplo ésta sería una:

Recuerda si usas el montaje de la práctica ant

pala ARDUINO UNO, en el programa

configuración

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

La siguiente práctica consistirá en realizar una señal de SOS con el led blanco de la

tarjeta de experimentación ARDUINO BASIC I/O que se corresponde con la salida D6.

Si no, puedes utilizar el mismo montaje del ejercicio anterior y por lo tanto el

lugar del 6, o utilizar la salida 13, pin 13 en ella puedes colocar directamente el LED sin

necesidad de usar una resistencia de protección.

Pues vamos allá, ahora te toca a ti.

Hay muchas posibilidades para realizarlo por ejemplo ésta sería una:

Recuerda si usas el montaje de la práctica anterior en la

pala ARDUINO UNO, en el programa cambia el 6

configuración PIN digital por un 11.

La siguiente práctica consistirá en realizar una señal de SOS con el led blanco de la

sponde con la salida D6.

Si no, puedes utilizar el mismo montaje del ejercicio anterior y por lo tanto el pin 11 en

lugar del 6, o utilizar la salida 13, pin 13 en ella puedes colocar directamente el LED sin

erior en la

cambia el 6 en la

18 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

7. PRACTICA: EL SEMAFORO

Con lo aprendido hasta ahora la siguiente práctica nos resultará

muy sencilla, pues se trata de programar un semá

las siguientes salidas:

- Pin 11: Led rojo. - Pin 10: Led ámbar

Así que siguiendo la misma lógica que aplicamos en las prácticas

anteriores el programa nos quedará como observa en la imagen.

Partiendo de éste ahora

añadiendo señal para peatones etc. Es tu turno.

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

PRACTICA: EL SEMAFORO

Con lo aprendido hasta ahora la siguiente práctica nos resultará

muy sencilla, pues se trata de programar un semáforo. Utilizaremos

Pin 10: Led ámbar - Pin 9: Led verde.

Así que siguiendo la misma lógica que aplicamos en las prácticas

anteriores el programa nos quedará como observa en la imagen.

ahora puedes modificarlo tú, juagando con las frecuencias

añadiendo señal para peatones etc. Es tu turno.

juagando con las frecuencias,

19 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

8. PRACTICA: GOBIERNO DEL ENCENDIDO DE UN LED (SALIDA) MEDIANTE UN PULSADOR (ENTRADA DIGITAL)

Con esta práctica queremos gobernar el encendido y apa

colocado en salida digital

conectado en PIN 4, que será nuestra entrada digital. La lógica del programa es

sencilla: si el pulsador está presionado, es decir, es igual a

(LED rojo) estará encendido; si no, salida digital 11 (LED rojo) apagado.

El montaje del circuito sería el siguiente:

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

PRACTICA: GOBIERNO DEL ENCENDIDO DE UN LED (SALIDA) MEDIANTE UN PULSADOR (ENTRADA DIGITAL)

Con esta práctica queremos gobernar el encendido y apagado de nuestro LED rojo,

salida digital 11, PIN 11, mediante el accionamiento de un pulsador,

PIN 4, que será nuestra entrada digital. La lógica del programa es

sencilla: si el pulsador está presionado, es decir, es igual a 1 (true), la salida digital 11

(LED rojo) estará encendido; si no, salida digital 11 (LED rojo) apagado.

El montaje del circuito sería el siguiente:

Recuerda que la resistencia hay que

colocarla entre el pulsador y tierra así

evita que +5V se conecte con GND al

cerrar el pulsador,

corto, un falso 0.

PRACTICA: GOBIERNO DEL ENCENDIDO DE UN LED (SALIDA)

gado de nuestro LED rojo,

, PIN 11, mediante el accionamiento de un pulsador,

PIN 4, que será nuestra entrada digital. La lógica del programa es

1 (true), la salida digital 11

(LED rojo) estará encendido; si no, salida digital 11 (LED rojo) apagado.

Recuerda que la resistencia hay que

colocarla entre el pulsador y tierra así

evita que +5V se conecte con GND al

, así evitaremos un

20 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

Y el programa lo podemos hacer de muchas maneras, yo os voy a dejar alguna, pero

seguro que a vosotros se os ocurrirán otras.

Ejemplo 1: Asociando el valor de una salida al estado de una entrada, lo más

sencillo.

El IDE Arduino quedará:

void setup()

pinMode( 6 , OUTPUT);

pinMode( 4 , INPUT);

void loop()

digitalWrite( 6 , digitalRead( 4) );

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

Y el programa lo podemos hacer de muchas maneras, yo os voy a dejar alguna, pero

guro que a vosotros se os ocurrirán otras.

: Asociando el valor de una salida al estado de una entrada, lo más

alRead( 4) );

Y el programa lo podemos hacer de muchas maneras, yo os voy a dejar alguna, pero

: Asociando el valor de una salida al estado de una entrada, lo más

21 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

Ejemplo 2: utilizando la FUNCIÓN CONDICIONAL SI/ ENTONCES

Esta función opera la siguiente manera: establecemos una condición a evaluar, es

decir, Arduino “mirará” si eso se cumple o no, si se cumple realizará lo instrucción que

colocamos primero y si no realizará la segunda orden

Y así quedaría el programa en Ardublock.

Que se corresponde con el siguiente código:

void setup()

pinMode( 11 , OUTPUT);

pinMode( 4 , INPUT);

void loop()

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

FUNCIÓN CONDICIONAL SI/ ENTONCES

Esta función opera la siguiente manera: establecemos una condición a evaluar, es

decir, Arduino “mirará” si eso se cumple o no, si se cumple realizará lo instrucción que

primero y si no realizará la segunda orden.

Y así quedaría el programa en Ardublock.

Que se corresponde con el siguiente código:

pinMode( 11 , OUTPUT);

Aquí va la condición a evaluar.

Aquí va la instrucción a realizar si se cumple la condición.

Aquí va la instrucción a realizar si no se cumple la condición.

Esta función opera la siguiente manera: establecemos una condición a evaluar, es

decir, Arduino “mirará” si eso se cumple o no, si se cumple realizará lo instrucción que

Aquí va la instrucción a realizar si se cumple la condición.

Aquí va la instrucción a realizar si no se cumple la condición.

22 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

if (digitalRead( 4))

digitalWrite( 11 , HIGH );

else

digitalWrite( 11 , LOW );

9. PRÁCTICA: LED (SALIDA) INTERMITENTE CON CONTROL DE FRECUENCIA MEDIANTE UN POTENCIOMÉTRO (ENTRADA ANALÓGICA)

En esta práctica vamos a ver como

entrada analógica, en nuestro caso un potenciómetro ( Analog1

variar el retardo en el encendido y apagado de u

en el PIN 10) al variar una entrada analógica, es decir al girar un potenciómetro.

Comenzamos definiendo la variable “f”, y para ello utilizaremos la función:

Es aquí donde le daremos

la entrada analógica 1 (el potenciómetro)

Y luego en el retardo sustituiremos el valor numérico fijo

1000ms en la primera práctica, por uno variable, “f”. Así según vayamos girando el

potenciómetro la frecuencia de apagado y encendido del led irá variando.

Y este será el resultado del puzle

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

11 , HIGH );

digitalWrite( 11 , LOW );

PRÁCTICA: LED (SALIDA) INTERMITENTE CON CONTROL DE FRECUENCIA MEDIANTE UN POTENCIOMÉTRO (ENTRADA

En esta práctica vamos a ver como se asocia una variable numérica al valor de una

uestro caso un potenciómetro ( Analog1) con el fin de poder

variar el retardo en el encendido y apagado de una salida digital (led amarillo colocado

al variar una entrada analógica, es decir al girar un potenciómetro.

definiendo la variable “f”, y para ello utilizaremos la función:

el nombre “f” a nuestra variable y la asociaremos al valor de

la entrada analógica 1 (el potenciómetro)

Y luego en el retardo sustituiremos el valor numérico fijo, que si recordáis era de

1000ms en la primera práctica, por uno variable, “f”. Así según vayamos girando el

potenciómetro la frecuencia de apagado y encendido del led irá variando.

Y este será el resultado del puzle

PRÁCTICA: LED (SALIDA) INTERMITENTE CON CONTROL DE FRECUENCIA MEDIANTE UN POTENCIOMÉTRO (ENTRADA

una variable numérica al valor de una

) con el fin de poder

na salida digital (led amarillo colocado

al variar una entrada analógica, es decir al girar un potenciómetro.

definiendo la variable “f”, y para ello utilizaremos la función:

el nombre “f” a nuestra variable y la asociaremos al valor de

, que si recordáis era de

1000ms en la primera práctica, por uno variable, “f”. Así según vayamos girando el

potenciómetro la frecuencia de apagado y encendido del led irá variando.

23 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

Y este sería el código generado para el ID de Arduino

int _ABVAR_1_f;

void setup()

pinMode( 10 , OUTPUT);

_ABVAR_1_f = 0;

void loop()

_ABVAR_1_f = analogRead(A1) ;

digitalWrite( 10 , HIGH );

delay( _ABVAR_1_f );

digitalWrite( 10 , LOW );

delay( _ABVAR_1_f );

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

generado para el ID de Arduino Y así es como quedaría el esquema de conexiones

de los componentes si no usáis

Y así es como quedaría el esquema de conexiones

de los componentes si no usáis la placa BASIC I/O.

24 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

10. PRÁCTICA: Conectar una salida digital con un pulsador (entrada digital) y apagarla con otra entrada digital diferente. FUNCIÓN WHILE (MIENTRAS QUE)

En primer lugar vamos a ver cuál será

realizar.

Vamos a utilizar esta p

que). Con esta función se establece una condición a evaluar y una instrucción a

realizar mientras se cumpla la condición establecida.

La lógica por lo tanto de nuestro programa será muy sencilla: La sal

activada, es decir el LED estará luciendo al activar la entrada 4, al pulsar el pulsador 4,

y permanecerá así mientras no pulsemos el pulsador conectado en la línea 6.

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

ar una salida digital con un pulsador (entrada digital) y apagarla con otra entrada digital diferente. FUNCIÓN WHILE

mer lugar vamos a ver cuál será el montaje electrónico que deberíamos

Vamos a utilizar esta práctica para introducir la FUNCIÓN WHILE (mientras

que). Con esta función se establece una condición a evaluar y una instrucción a

realizar mientras se cumpla la condición establecida.

La lógica por lo tanto de nuestro programa será muy sencilla: La sal

activada, es decir el LED estará luciendo al activar la entrada 4, al pulsar el pulsador 4,

y permanecerá así mientras no pulsemos el pulsador conectado en la línea 6.

ar una salida digital con un pulsador (entrada digital) y apagarla con otra entrada digital diferente. FUNCIÓN WHILE

el montaje electrónico que deberíamos

ráctica para introducir la FUNCIÓN WHILE (mientras

que). Con esta función se establece una condición a evaluar y una instrucción a

La lógica por lo tanto de nuestro programa será muy sencilla: La salida 11 estará

activada, es decir el LED estará luciendo al activar la entrada 4, al pulsar el pulsador 4,

y permanecerá así mientras no pulsemos el pulsador conectado en la línea 6.

25 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

Y este sería el ID de Arduino.

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

Y este sería el ID de Arduino.

26 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

Seguro que a ti se te han ocurrido otras formas de hacer el programa, sin usar la

función while, por ejemplo:

Como ya sabes se pueden realizar distintos programas que lleven a cabo el mismo objetivo

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

e te han ocurrido otras formas de hacer el programa, sin usar la

función while, por ejemplo:

Como ya sabes se pueden realizar distintos programas que lleven a cabo el mismo objetivo

e te han ocurrido otras formas de hacer el programa, sin usar la

Como ya sabes se pueden realizar distintos programas que lleven a cabo el mismo objetivo.

27 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

11. PRÁCTICA: CONTROL DE UN MOTOR

Con esta práctica vamos a llevar a cabo el cambio de giro de un motor de cc de 5V.

Para ello vamos a utilizar dos pulsadores como entradas digitales, la 4 y la 6, y para

conectar el motor utilizaremos los pins 3 y 5, ya que como dijimos al inicio de este

manual estas entradas digitales se p

permiten simular un comp

cara a modificar la velocidad de giro de un motor.

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

CONTROL DE UN MOTOR

Con esta práctica vamos a llevar a cabo el cambio de giro de un motor de cc de 5V.

ilizar dos pulsadores como entradas digitales, la 4 y la 6, y para

conectar el motor utilizaremos los pins 3 y 5, ya que como dijimos al inicio de este

manual estas entradas digitales se pueden emplear como entradas PWM,

ortamiento analógico enviando señales de valor vari

velocidad de giro de un motor.

Con esta práctica vamos a llevar a cabo el cambio de giro de un motor de cc de 5V.

ilizar dos pulsadores como entradas digitales, la 4 y la 6, y para

conectar el motor utilizaremos los pins 3 y 5, ya que como dijimos al inicio de este

ueden emplear como entradas PWM, es decir,

ortamiento analógico enviando señales de valor variable, de

28 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

El motor girará en un sentido al pulsar 4 y al contrario al pulsar 6

Y el código de ARDUINO quedará:

void setup()

pinMode( 3 , OUTPUT);

pinMode( 6 , INPUT);

pinMode( 4 , INPUT);

pinMode( 5 , OUTPUT);

void loop()

digitalWrite( 3 , digitalRead( 4) );

digitalWrite( 5 , digitalRead( 6) );

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

El motor girará en un sentido al pulsar 4 y al contrario al pulsar 6

Y el código de ARDUINO quedará:

digitalWrite( 3 , digitalRead( 4) );

digitalWrite( 5 , digitalRead( 6) );

29 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

12. PRÁCTICA 8: CONTROL

Los servos motores poseen tres terminales:

de alimentación, es normalmente rojo, y se debe conectar al pin 5V de la placa

Arduino. El terminal de masa el cual es normalmente negro debe de conectarse a el

pin de masa del la placa Arduino. El cable de señal su

y debe conectarse al pin 9 de la placa Arduino, y es la que recibe la señal que le indica

el ángulo que debe girar, esta señal está formada por un pulso que el circuito incluido

en el servo interpreta para girar el motor

Ardublock tiene una ficha para el control de un servo en la librería PINS,

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

: CONTROL DE UN SERVOMOTOR (giro 180º)

motores poseen tres terminales: alimentación, masa y señal. El terminal

de alimentación, es normalmente rojo, y se debe conectar al pin 5V de la placa

Arduino. El terminal de masa el cual es normalmente negro debe de conectarse a el

pin de masa del la placa Arduino. El cable de señal suele ser amarillo, naranja o blanco

y debe conectarse al pin 9 de la placa Arduino, y es la que recibe la señal que le indica

el ángulo que debe girar, esta señal está formada por un pulso que el circuito incluido

en el servo interpreta para girar el motor y dejarlo fijo en el ángulo indicado.

Ardublock tiene una ficha para el control de un servo en la librería PINS,

)

alimentación, masa y señal. El terminal

de alimentación, es normalmente rojo, y se debe conectar al pin 5V de la placa

Arduino. El terminal de masa el cual es normalmente negro debe de conectarse a el

ele ser amarillo, naranja o blanco

y debe conectarse al pin 9 de la placa Arduino, y es la que recibe la señal que le indica

el ángulo que debe girar, esta señal está formada por un pulso que el circuito incluido

y dejarlo fijo en el ángulo indicado.

Ardublock tiene una ficha para el control de un servo en la librería PINS,

30 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

Este sería un ejemplo en Ardublock de cómo utilizar esta “ficha”

Cuyo código será:

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

Este sería un ejemplo en Ardublock de cómo utilizar esta “ficha”.

31 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

Si lo que quermos es hacer girar un servo de 0º a 180º continuamente

Arduino más sencillo sería utilizando la función for, y podría ser así:

Código en Arduinio para controlar un servo qu

#include <Servo.h> Servo myservo; // crea un objeto tipo servo para controlar el servo int pos = 0; // variable para almacenar la posición del servo void setup() myservo.attach(9); // liga el servo conectado en el pin 9 al objeto servo void loop() for(pos = 0; pos < 180; pos += 1) // va de 0 a 180 grados // en pasos de 1 grado myservo.write(pos); // dice al servo que se posicione en la posición indicada por la variable 'pos' delay(15); // espera 15 ms para dar tiempo al servo a llegar a la nueva posición for(pos = 180; pos>=1; pos myservo.write(pos); // dice al servo que se posicione en la ppor la variable 'pos' delay(15); // espera 15 ms para dar tiempo al servo a llegar a la nueva posición

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

uermos es hacer girar un servo de 0º a 180º continuamente,

Arduino más sencillo sería utilizando la función for, y podría ser así:

Código en Arduinio para controlar un servo que va de 0 a 180º en pasos de un 1º:

rvo; // crea un objeto tipo servo para controlar el servo

int pos = 0; // variable para almacenar la posición del servo

myservo.attach(9); // liga el servo conectado en el pin 9 al objeto servo

pos < 180; pos += 1) // va de 0 a 180 grados // en pasos de 1 grado myservo.write(pos); // dice al servo que se posicione en la posición indicada

// espera 15 ms para dar tiempo al servo a llegar a la nueva

for(pos = 180; pos>=1; pos-=1) // va de 180 a 0 grados

myservo.write(pos); // dice al servo que se posicione en la posición indicada

delay(15); // espera 15 ms para dar tiempo al servo a llegar a la nueva

el código

e va de 0 a 180º en pasos de un 1º:

myservo.attach(9); // liga el servo conectado en el pin 9 al objeto servo

myservo.write(pos); // dice al servo que se posicione en la posición indicada

// espera 15 ms para dar tiempo al servo a llegar a la nueva

osición indicada

delay(15); // espera 15 ms para dar tiempo al servo a llegar a la nueva

32 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

Pero si lo queremos hacer con Ardublock nos encontramos con un pequeño

problema, que es que Ardublock no tiene una ficha

tendremos que buscar una alternativa, yo os propongo hacerlo usando la función

“condicional”, con lo que nuestro programa en Ardubloock quedaría así:

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

Pero si lo queremos hacer con Ardublock nos encontramos con un pequeño

Ardublock no tiene una ficha para la función

tendremos que buscar una alternativa, yo os propongo hacerlo usando la función

, con lo que nuestro programa en Ardubloock quedaría así:

Pero si lo queremos hacer con Ardublock nos encontramos con un pequeño

la función “for” , así que

tendremos que buscar una alternativa, yo os propongo hacerlo usando la función

, con lo que nuestro programa en Ardubloock quedaría así:

33 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

Y el IDE de Arduino quedaría:

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

Y el IDE de Arduino quedaría:

34 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

13. PRÁCTICA : SERVO CONTRALADO POR SEÑALES EXTERNAS

Un servo tambíen se puede contralar por señales externa

teneís un ejemplo de un servo controlado por tres pulsadores que harán de entradas

digitales, conectadas en los pines

al pulsar el 7se situará en el centro, 90º, y al pulsar el 8 volverá a 0º.

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

: SERVO CONTRALADO POR SEÑALES EXTERNAS

Un servo tambíen se puede contralar por señales externas como pulsadores,

teneís un ejemplo de un servo controlado por tres pulsadores que harán de entradas

los pines 4, 7 y 8. Cuando pulsemos el 4 el servo girará a 180º

al pulsar el 7se situará en el centro, 90º, y al pulsar el 8 volverá a 0º.

: SERVO CONTRALADO POR SEÑALES EXTERNAS

s como pulsadores, aquí

teneís un ejemplo de un servo controlado por tres pulsadores que harán de entradas

4, 7 y 8. Cuando pulsemos el 4 el servo girará a 180º

35 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

36 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

14. PRÁCTICA: SENSOR DE LUZ 1(LDR)

Este es un ejercicio muy sencillo con el que queremos activar

LED) conectado en el pin 13, cuando no detecte luz, y deberá apagarse cuando la LDR

detecte luz, algo similar a un alumbrado público que se activa cuando oscurece y se

desactiva cuando amanece.

El esquema será el siguiente:

Usaremos el sensor de luz conectándole a la entrada analógica 2 y tomaremos un valor

umbral de 300, cuando estemos por debajo se activará el LED conectado en la salida

13 que simulará el alumbrado automático, en caso contrario, el habrá suficiente

iluminación y por lo tanto el LED estará apagado.

Puedes variar el valor umbral para hacer que el LED se encienda con más o menos

intensidad de luz.

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

SENSOR DE LUZ 1(LDR)

Este es un ejercicio muy sencillo con el que queremos activar una salida digital (un

LED) conectado en el pin 13, cuando no detecte luz, y deberá apagarse cuando la LDR

detecte luz, algo similar a un alumbrado público que se activa cuando oscurece y se

desactiva cuando amanece.

El esquema será el siguiente:

Usaremos el sensor de luz conectándole a la entrada analógica 2 y tomaremos un valor

00, cuando estemos por debajo se activará el LED conectado en la salida

13 que simulará el alumbrado automático, en caso contrario, el habrá suficiente

iluminación y por lo tanto el LED estará apagado.

Puedes variar el valor umbral para hacer que el LED se encienda con más o menos

una salida digital (un

LED) conectado en el pin 13, cuando no detecte luz, y deberá apagarse cuando la LDR

detecte luz, algo similar a un alumbrado público que se activa cuando oscurece y se

Usaremos el sensor de luz conectándole a la entrada analógica 2 y tomaremos un valor

00, cuando estemos por debajo se activará el LED conectado en la salida

13 que simulará el alumbrado automático, en caso contrario, el habrá suficiente

Puedes variar el valor umbral para hacer que el LED se encienda con más o menos

37 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

EL l programa nos quedará así:

Observa el divisor de

tensión.

Ahora puedes probar a variar tú los valores umbrales, si por ejemplo en este último

caso cambias el 300 por 500

tomamos un valor umbral de 300?

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

programa nos quedará así:

Observa el divisor de

tensión.

A3 (entrada analógica 3)

R=10K

Ahora puedes probar a variar tú los valores umbrales, si por ejemplo en este último

caso cambias el 300 por 500 ¿el LED se iluminará con más o menos oscuridad que si

mos un valor umbral de 300?

A3 (entrada analógica 3)

Ahora puedes probar a variar tú los valores umbrales, si por ejemplo en este último

menos oscuridad que si

38 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

Comprueba que ocurre si invertimos el divisor de tensió

Si queremos que el LED se siga enciendo cundo baje la luz la lógica del programa será

ahora:

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

Comprueba que ocurre si invertimos el divisor de tensión:

Si queremos que el LED se siga enciendo cundo baje la luz la lógica del programa será

R=10K

A3 (entrada analógica 3)

Si queremos que el LED se siga enciendo cundo baje la luz la lógica del programa será

A3 (entrada analógica 3)

39 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

15. PRÁCTICA: SENSOR DE LUZ 2

El fototransistor es un dispositivo capaz de dejar pasar más o

menos intensidad a su través

más corriente.

R= 10K

Entrada analógica 2

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

SENSOR DE LUZ 2 (EL FOTOTRANSITOR).

El fototransistor es un dispositivo capaz de dejar pasar más o

menos intensidad a su través en función de la luz que incide sobre él, es decir a más luz

Entrada analógica 2

en función de la luz que incide sobre él, es decir a más luz

40 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

16. PRÁCTICA: SENSOR

Se trata de un sensor de luz infrarroja formado por dos componentes, un emisor E,

alimentado a 5 V, que est

infrarrojos. Cuando ésta se refleja sobre un objeto rebota y la recibe el fototransistor

receptor R

Según la cantidad de luz reflejada dejará pasar más o menos

intensidad.

Nosotros lo vamos a utilizar p

ello conectaremos un led rojo y otro verde como salidas

digitales en los pines 11, y 9. Si el IR detecta una línea negra se

encenderá el led rojo, si por el contrario no la detecta o detecta

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

TICA: SENSOR IR, SENSOR DE LUZ INFRAROJA.

Se trata de un sensor de luz infrarroja formado por dos componentes, un emisor E,

alimentado a 5 V, que está continuamente emitiendo luz en la frecuencia de

infrarrojos. Cuando ésta se refleja sobre un objeto rebota y la recibe el fototransistor

Según la cantidad de luz reflejada dejará pasar más o menos

intensidad.

Nosotros lo vamos a utilizar para detectar una línea negra, para

ello conectaremos un led rojo y otro verde como salidas

digitales en los pines 11, y 9. Si el IR detecta una línea negra se

encenderá el led rojo, si por el contrario no la detecta o detecta

Se trata de un sensor de luz infrarroja formado por dos componentes, un emisor E,

á continuamente emitiendo luz en la frecuencia de

infrarrojos. Cuando ésta se refleja sobre un objeto rebota y la recibe el fototransistor

Según la cantidad de luz reflejada dejará pasar más o menos

ara detectar una línea negra, para

ello conectaremos un led rojo y otro verde como salidas

digitales en los pines 11, y 9. Si el IR detecta una línea negra se

encenderá el led rojo, si por el contrario no la detecta o detecta

41 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

blanco, se encenderá el led

El programa será:

Que se corresponde con este código:

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

blanco, se encenderá el led verde.

Que se corresponde con este código:

42 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

17. PRÁCTICA: ULTRASONIDOS SR04

Midiendo distancias con un sensor de ultrasonidos

Un complemento imprescindible para muchos de robots o vehículos controlados a

distancia es un sensor que nos permita saber la distancia libre de obstáculos para

movernos. Si las distancias van a ser pequeñas podemos emplear sensores de

infrarrojos, pero si queremos movernos en áreas grandes y poder medir distancias en

un rango de varios metros el complemento perfecto es un

Funciona exactamente igual que un radar, de hecho es un pequeño radar. Emite un

pulso de sonido a una frecuencia tan alta que es imperceptible para el oído humano y

cronometra el tiempo que el sonido tarda en llegar a un obstáculo, rebotar y volver al

sensor. Como la velocidad de propagación del sonido en el aire es un dato bien

conocido (343.2 m/s) echamos mano de una conocidísima formula (e = v * t) y

calculamos la distancia recorrida por el sonido..

El sensor ultrasónico HC-SR04 utiliza el sonar para determinar la distancia a un objeto

como los murciélagos o los delfines hacer. Ofrece una exc

lecturas estables en un paquete fácil de usar.

Sus características son:

• Fuente de

alimentación: 5V DC

• Corriente en

reposo: <2 mA

• Ángulo Eficaz: <15 °

• Que van Distancia:

2 cm - 500 cm / 1 "-

16 pies

• Resolución: 0,3 cm

Su conexión a la placa

Arduino se realiza así:

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

ULTRASONIDOS SR04

Midiendo distancias con un sensor de ultrasonidos

Un complemento imprescindible para muchos de robots o vehículos controlados a

s un sensor que nos permita saber la distancia libre de obstáculos para

movernos. Si las distancias van a ser pequeñas podemos emplear sensores de

infrarrojos, pero si queremos movernos en áreas grandes y poder medir distancias en

el complemento perfecto es un sensor de ultrasonidos

Funciona exactamente igual que un radar, de hecho es un pequeño radar. Emite un

ido a una frecuencia tan alta que es imperceptible para el oído humano y

cronometra el tiempo que el sonido tarda en llegar a un obstáculo, rebotar y volver al

sensor. Como la velocidad de propagación del sonido en el aire es un dato bien

/s) echamos mano de una conocidísima formula (e = v * t) y

calculamos la distancia recorrida por el sonido..

SR04 utiliza el sonar para determinar la distancia a un objeto

como los murciélagos o los delfines hacer. Ofrece una excelente precisión del alcance y

lecturas estables en un paquete fácil de usar.

alimentación: 5V DC

Ángulo Eficaz: <15 °

-

Un complemento imprescindible para muchos de robots o vehículos controlados a

s un sensor que nos permita saber la distancia libre de obstáculos para

movernos. Si las distancias van a ser pequeñas podemos emplear sensores de

infrarrojos, pero si queremos movernos en áreas grandes y poder medir distancias en

ultrasonidos.

Funciona exactamente igual que un radar, de hecho es un pequeño radar. Emite un

ido a una frecuencia tan alta que es imperceptible para el oído humano y

cronometra el tiempo que el sonido tarda en llegar a un obstáculo, rebotar y volver al

sensor. Como la velocidad de propagación del sonido en el aire es un dato bien

/s) echamos mano de una conocidísima formula (e = v * t) y

SR04 utiliza el sonar para determinar la distancia a un objeto

elente precisión del alcance y

43 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

Un código sencillo para medir distancias sería:

#include <Ultrasonic.h>

Ultrasonic ultrasonic(12,13); void setup() Serial.begin(9600); void loop() Serial.print(ultrasonic.Rang Serial.println(" cm" ); delay(100);

Pero Ardublock tiene una ficha para este sensor:

Y un programa con Ardublock para medir distancias podría ser:

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

Un código sencillo para medir distancias sería:

ultrasonic(12,13); // (Trig PIN,Echo PIN)

Ranging(CM)); // CM or INC

Pero Ardublock tiene una ficha para este sensor:

Y un programa con Ardublock para medir distancias podría ser:

En el pin 12 conectamos el Trig PIN,

En el pin 13 conectamos el Echo PIN,

En el pin 12 conectamos el Trig PIN,

En el pin 13 conectamos el Echo PIN,

44 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

Cuyo código IDE es:

int ardublockUltrasonicSensorCode

int duration;

pinMode(trigPin, OUTPUT);

pinMode(echoPin, INPUT);

digitalWrite(trigPin, LOW);

delayMicroseconds(2);

digitalWrite(trigPin, HIGH);

delayMicroseconds(5);

digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);

duration = duration / 59;

return duration;

int _ABVAR_1_distancia;

void setup()

_ABVAR_1_distancia = 0;

digitalWrite( 12 , LOW );

Serial.begin(9600);

void loop()

_ABVAR_1_distancia = ardublockUltrasonicS

Serial.print( "distancia" );

Serial.print( _ABVAR_1_distancia );

Serial.println("");

delayMicroseconds( 1000 );

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

int ardublockUltrasonicSensorCodeAutoGeneratedReturnCM(int trigPin, int echoPin)

duration = pulseIn(echoPin, HIGH);

_ABVAR_1_distancia = ardublockUltrasonicSensorCodeAutoGeneratedReturnCM( 12 , 13 ) ;

Serial.print( _ABVAR_1_distancia );

ensorCodeAutoGeneratedReturnCM( 12 , 13 ) ;

45 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

Este programa funciona de la siguiente manera:

El sensor mide la distancia a la que se encuentra

presenta el resultado en el

Pero, ¿dónde está ese monitor serial

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

Este programa funciona de la siguiente manera:

El sensor mide la distancia a la que se encuentra un objeto y cada segundo nos

presenta el resultado en el monitor serial de Arduino.

monitor serial?

un objeto y cada segundo nos

Pincha aquí

46 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

Al pinchar sobre la lupa (monitor serial) se te despliega una pantalla donde se

presentan las distancias med

A continuación te propongo una práctica: realiza un programa en el que nos

aparezca en el monitor serial el mensaje

encuentre a menos de 5 cm de nuestro sensor

que vamos bien”.

La solución podría ser:

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

Al pinchar sobre la lupa (monitor serial) se te despliega una pantalla donde se

presentan las distancias mediadas, en mi caso ésta:

A continuación te propongo una práctica: realiza un programa en el que nos

aparezca en el monitor serial el mensaje: ”frena que te chocas”, cuando un

encuentre a menos de 5 cm de nuestro sensor, y si no es así que nos diga “

Al pinchar sobre la lupa (monitor serial) se te despliega una pantalla donde se

A continuación te propongo una práctica: realiza un programa en el que nos

”, cuando un objeto se

e nos diga “sigue así

47 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

Otra propuesta:

Realiza un programa ahora para que se encienda un LED rojo cuando la

distancia de un objeto al sensor sea inferior a 5 cm y un LED verde si es superior.

En este caso vamos a utilizar los pines 8 y 9 para conectar el sensor ultrasónico, y los

pines 13 y 12 para conectar los LED rojo y verde respectivamente, es decir, las salidas.

Y éste sería el posible programa.

Si ahora, utilizas también motores como salidas puedes

detectar un obstáculo, pero eso ya te lo dejo a ti.

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

Realiza un programa ahora para que se encienda un LED rojo cuando la

distancia de un objeto al sensor sea inferior a 5 cm y un LED verde si es superior.

s a utilizar los pines 8 y 9 para conectar el sensor ultrasónico, y los

pines 13 y 12 para conectar los LED rojo y verde respectivamente, es decir, las salidas.

Y éste sería el posible programa.

Si ahora, utilizas también motores como salidas puedes diseñar un coche que gire al

detectar un obstáculo, pero eso ya te lo dejo a ti.

Realiza un programa ahora para que se encienda un LED rojo cuando la

distancia de un objeto al sensor sea inferior a 5 cm y un LED verde si es superior.

s a utilizar los pines 8 y 9 para conectar el sensor ultrasónico, y los

pines 13 y 12 para conectar los LED rojo y verde respectivamente, es decir, las salidas.

diseñar un coche que gire al

48 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

18. PRÁCTICA: ROBOT MINISKYBOT

Para finalizar vamos a montar un robot MinSKyBot siguiendo las intrusiones de

Borjaper en su tutorial:

http://www.arduteka.com/2013/04/robot

de-obstaculos/

Aunque aquí os lo dejo copiado.

Arduino, Impresion

ultranosidos, TUTORIAL by Borja

¿QUÉ VAMOS A HACER?

Vamos a ver varios sketch de

funciones:

• Seguir una línea negra sobre un fondo blanco• Esquivar objetos que encuentre en su recorrido• Empujar objetos fuera de un área limitada por una circunferencia negra

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

PRÁCTICA: ROBOT MINISKYBOT (ARDUINO)

Para finalizar vamos a montar un robot MinSKyBot siguiendo las intrusiones de

http://www.arduteka.com/2013/04/robot-miniskybot-2-como-siguelineas

Aunque aquí os lo dejo copiado.

3D, IR, MiniskyBot, Robot, Robótica

by Borja

¿QUÉ VAMOS A HACER?

ios sketch de Arduino para que el robot ejecute las siguientes

Seguir una línea negra sobre un fondo blanco Esquivar objetos que encuentre en su recorrido Empujar objetos fuera de un área limitada por una circunferencia negra

Para finalizar vamos a montar un robot MinSKyBot siguiendo las intrusiones de

siguelineas-y-detector-

Robótica, sensor

para que el robot ejecute las siguientes

Empujar objetos fuera de un área limitada por una circunferencia negra

49 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

¿Qué necesitamos?

En primer lugar necesitamos que alguien nos

conocéis a nadie, os podéis poner en contacto con nosotros e intentaremos hacer que

no os quedéis sin ellas!

El resto del material:

• 2 servomotores • Arduino UNO • 2 led IR • 2 receptores IR • 4 resistencias (dos de 210Ω y dos de 10kΩ)• 1 sensor ultrasonidos (HC• 1 interruptor • tiras de pines • placas donde soldar los componentes.

Para el montaje del robot, podéis seguir

proyecto.

• Caracterización de los servosUna vez modificados los servos

girar continuamente tenemos que identificar el valor para el cual el motor está parado,

en este video de loleando.es

Para saber la posición en la que está

simultáneamente con el servo y que indica el ángulo en el que se encuentra. Con la

modificación quitamos el potenciómetro y lo sustituimos por dos resistencias iguales

con lo que la información que le llega al servo e

posición de 90º, si le indicamos al servo que se coloque en una posición mayor de 90º,

por ejemplo 180º, girará de forma continua en un dirección, si

que se coloque en una posición inferior, por ejempl

otro sentido. Si le indicamos 90º el servo se parará.

Como las resistencias no son perfectas y tienen cierta diferencia respecto al valor

nominal (aunque pongamos resistencias con 1% de tolerancia) se genera un cierto

error respecto a la posición central. Así que 90º puede que no pare el motor y

tendremos que buscar un ángulo cercano a 90º para que el motor quede parado.

Necesitaremos identificar este dato para cada uno de los dos servos.

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

En primer lugar necesitamos que alguien nos imprima en 3D las piezas del robot, si no

conocéis a nadie, os podéis poner en contacto con nosotros e intentaremos hacer que

4 resistencias (dos de 210Ω y dos de 10kΩ) 1 sensor ultrasonidos (HC-SR04)

placas donde soldar los componentes.

Para el montaje del robot, podéis seguir estas instrucciones creadas por los padres del

Caracterización de los servos modificados los servos para que se comporten como motores que pueden

girar continuamente tenemos que identificar el valor para el cual el motor está parado,

loleando.es podéis ver en detalle cómo realizarlo:

Para saber la posición en la que está, se utiliza un potenciómetro que gira

simultáneamente con el servo y que indica el ángulo en el que se encuentra. Con la

modificación quitamos el potenciómetro y lo sustituimos por dos resistencias iguales

con lo que la información que le llega al servo es que se encuentra siempre en la

posición de 90º, si le indicamos al servo que se coloque en una posición mayor de 90º,

por ejemplo 180º, girará de forma continua en un dirección, si le indicamos al servo

que se coloque en una posición inferior, por ejemplo 0º, girará de forma continua en el

otro sentido. Si le indicamos 90º el servo se parará.

Como las resistencias no son perfectas y tienen cierta diferencia respecto al valor

nominal (aunque pongamos resistencias con 1% de tolerancia) se genera un cierto

rror respecto a la posición central. Así que 90º puede que no pare el motor y

tendremos que buscar un ángulo cercano a 90º para que el motor quede parado.

Necesitaremos identificar este dato para cada uno de los dos servos.

las piezas del robot, si no

conocéis a nadie, os podéis poner en contacto con nosotros e intentaremos hacer que

creadas por los padres del

o motores que pueden

girar continuamente tenemos que identificar el valor para el cual el motor está parado,

podéis ver en detalle cómo realizarlo:

, se utiliza un potenciómetro que gira

simultáneamente con el servo y que indica el ángulo en el que se encuentra. Con la

modificación quitamos el potenciómetro y lo sustituimos por dos resistencias iguales

s que se encuentra siempre en la

posición de 90º, si le indicamos al servo que se coloque en una posición mayor de 90º,

le indicamos al servo

o 0º, girará de forma continua en el

Como las resistencias no son perfectas y tienen cierta diferencia respecto al valor

nominal (aunque pongamos resistencias con 1% de tolerancia) se genera un cierto

rror respecto a la posición central. Así que 90º puede que no pare el motor y

tendremos que buscar un ángulo cercano a 90º para que el motor quede parado.

50 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

En el caso de los sketch indicad

utilizo la librería Servo.h y el método writeMicroseconds para controlar

los servos.

Los valores que utilizo en los dos servos

• #define derechoParada 1450• #define izquierdoParada• #define derechoAdelante 2000• #define izquierdoAdelante 1000• #define derechoAtras 1000• #define izquierdoAtras 2000

La posición a 0º suele indicarse con 1000µs y la posición 180º con 2000µs, al tener

orientaciones opuestas para cada servo hay que asignar valores para que cada servo

gire en un sentido diferente.

Las paradas corresponden a 1450 µs y 1390 µs.

• Circuito IR siguelineas y sensor ultrasonidosEl siguiente paso será soldar

según el siguiente esquema:

También es necesario caracterizar es

blanco y negro que podamos usar en el sketch. En las pruebas que he realizado al

poner el sensor sobre fondo negro da un valor de 600 y al ponerlo sobre fondo blanco

da 30, así que he escogido como umbral 200 o

de este umbral entienda que el sensor está sobre fondo blanco y corrija la trayectoria.

También incluiremos una tira de 4 pines hembra para alojar el sensor de ultrasonidos.

Finalmente se han soldado los seis hilos de

sensores y la alimentación

Arduino.

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

En el caso de los sketch indicados en este tutorial

utilizo la librería Servo.h y el método writeMicroseconds para controlar

Los valores que utilizo en los dos servos son:

#define derechoParada 1450 #define izquierdoParada 1390 #define derechoAdelante 2000

Adelante 1000 #define derechoAtras 1000 #define izquierdoAtras 2000

La posición a 0º suele indicarse con 1000µs y la posición 180º con 2000µs, al tener

orientaciones opuestas para cada servo hay que asignar valores para que cada servo

diferente.

Las paradas corresponden a 1450 µs y 1390 µs.

Circuito IR siguelineas y sensor ultrasonidos El siguiente paso será soldar los emisores y receptores IR junto con sus resistencias

según el siguiente esquema:

También es necesario caracterizar estos sensores para encontrar un

blanco y negro que podamos usar en el sketch. En las pruebas que he realizado al

poner el sensor sobre fondo negro da un valor de 600 y al ponerlo sobre fondo blanco

da 30, así que he escogido como umbral 200 o 300 para que cuando la señal sea menor

de este umbral entienda que el sensor está sobre fondo blanco y corrija la trayectoria.

También incluiremos una tira de 4 pines hembra para alojar el sensor de ultrasonidos.

Finalmente se han soldado los seis hilos del trozo cable paralelo para conectar los

sensores y la alimentación (5v, GND, Trig, Echo, IR izquiedo, IR derecho) con la placa

os en este tutorial

utilizo la librería Servo.h y el método writeMicroseconds para controlar

La posición a 0º suele indicarse con 1000µs y la posición 180º con 2000µs, al tener

orientaciones opuestas para cada servo hay que asignar valores para que cada servo

los emisores y receptores IR junto con sus resistencias

tos sensores para encontrar un umbral entre

blanco y negro que podamos usar en el sketch. En las pruebas que he realizado al

poner el sensor sobre fondo negro da un valor de 600 y al ponerlo sobre fondo blanco

300 para que cuando la señal sea menor

de este umbral entienda que el sensor está sobre fondo blanco y corrija la trayectoria.

También incluiremos una tira de 4 pines hembra para alojar el sensor de ultrasonidos.

l trozo cable paralelo para conectar los

(5v, GND, Trig, Echo, IR izquiedo, IR derecho) con la placa

51 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

Los receptores IR están cubiertos en la parte lateral con plástico (un pequeño trozo de

globo fino del que se usa par

extremo, es decir la que rebota desde el suelo.

• Conexión con la placa Arduino.Usaremos el trozo de cable paralelo para conectar los sensores con la placa Arduino. El

cable va soldado a otra plac

extremo que encajarán con las entradas analógicas, más Vin y GND y un pin que queda

entre los dos bloques de pines (en total 9 pines). En el otro extremo de la placa hemos

soldado 8 pines macho que enca

Arduino. De esta forma para conectar y desconectar la placa Arduino del robot sólo

hay que sacar la placa que tiene los pines soldados.

En esta placa también colocamos dos tiras de tres pines machos (

donde conectaremos los cables de los servos. Por último para conectar las líneas de

control de los servos usaremos dos cables que se conectarán directamente

8 y 12 de la placa Arduino.

Como vemos en la imagen hemos añadid

que va desde las pilas a la placa para poder parar el robot.

• Código siguelineas Con este código el robot es capaz de seguir un recorrido marcado por una línea negra

sobre un fondo blanco. La línea debe ser lo su

sensores quepan dentro de ella.

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

Los receptores IR están cubiertos en la parte lateral con plástico (un pequeño trozo de

globo fino del que se usa para hacer figuras) para que sólo reciban luz infrarroja por el

extremo, es decir la que rebota desde el suelo.

Conexión con la placa Arduino. Usaremos el trozo de cable paralelo para conectar los sensores con la placa Arduino. El

cable va soldado a otra placa en la que también hemos soldado 9 pines macho en un

extremo que encajarán con las entradas analógicas, más Vin y GND y un pin que queda

entre los dos bloques de pines (en total 9 pines). En el otro extremo de la placa hemos

soldado 8 pines macho que encajarán con las entradas digitales (de 0 a 7) de la placa

Arduino. De esta forma para conectar y desconectar la placa Arduino del robot sólo

hay que sacar la placa que tiene los pines soldados.

En esta placa también colocamos dos tiras de tres pines machos (en la paste superior)

donde conectaremos los cables de los servos. Por último para conectar las líneas de

control de los servos usaremos dos cables que se conectarán directamente

Como vemos en la imagen hemos añadido un interruptor en el cable de alimentación

que va desde las pilas a la placa para poder parar el robot.

Con este código el robot es capaz de seguir un recorrido marcado por una línea negra

sobre un fondo blanco. La línea debe ser lo suficientemente ancha para que los dos

sensores quepan dentro de ella.

Los receptores IR están cubiertos en la parte lateral con plástico (un pequeño trozo de

a hacer figuras) para que sólo reciban luz infrarroja por el

Usaremos el trozo de cable paralelo para conectar los sensores con la placa Arduino. El

a en la que también hemos soldado 9 pines macho en un

extremo que encajarán con las entradas analógicas, más Vin y GND y un pin que queda

entre los dos bloques de pines (en total 9 pines). En el otro extremo de la placa hemos

jarán con las entradas digitales (de 0 a 7) de la placa

Arduino. De esta forma para conectar y desconectar la placa Arduino del robot sólo

en la paste superior)

donde conectaremos los cables de los servos. Por último para conectar las líneas de

control de los servos usaremos dos cables que se conectarán directamente a los pines

o un interruptor en el cable de alimentación

Con este código el robot es capaz de seguir un recorrido marcado por una línea negra

ficientemente ancha para que los dos

52 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

La lógica es muy simple:

• Si los sensores “ven” negro (están sobre la línea) los dos motores giran hacia delante.

• Si uno de ellos “ve” blanco parará el motor del otro lado con lo que el girará hacia la línea negra.

• Si los dos sensores ven blanco el robot se para.Al principio del sketch se han definido las constantes que hacen girar (o parar) a los

motores.

19. Práctica: Código Escoba

Con este código queremos que el robot bu

50 cm) y cuando los encuentre los empuje fuera de un círculo limitado por una línea

negra.

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

Si los sensores “ven” negro (están sobre la línea) los dos motores giran hacia

Si uno de ellos “ve” blanco parará el motor del otro lado con lo que el girará hacia la línea negra. Si los dos sensores ven blanco el robot se para.

Al principio del sketch se han definido las constantes que hacen girar (o parar) a los

Código Escoba (Arduino)

Con este código queremos que el robot busque objetos cercanos (a menos de

50 cm) y cuando los encuentre los empuje fuera de un círculo limitado por una línea

Si los sensores “ven” negro (están sobre la línea) los dos motores giran hacia

Si uno de ellos “ve” blanco parará el motor del otro lado con lo que el robot

Al principio del sketch se han definido las constantes que hacen girar (o parar) a los

sque objetos cercanos (a menos de

50 cm) y cuando los encuentre los empuje fuera de un círculo limitado por una línea

53 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

Utilizamos las librerías Servo.h y

ultrasonidos respectivamente.

La lógica se basa en mantener al robot girando (sólo se mueve un motor) hasta que el

sensor de distancia detecte algo a menos de 50 cm. Cuando detecta un objeto avanza

moviendo los dos motores.

Cuando los sensores IR “ven” la línea negra el robot retrocede y el objeto queda fuera

de la línea negra. Es necesario quitar el objeto ya que sino el robot estará intentando

llegar al objeto y retrocediendo de forma continua.

La superficie donde están los objetos puede

caen.

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

Utilizamos las librerías Servo.h y Ultrasonic.h para manejar los servos y el sensor de

ultrasonidos respectivamente.

La lógica se basa en mantener al robot girando (sólo se mueve un motor) hasta que el

sensor de distancia detecte algo a menos de 50 cm. Cuando detecta un objeto avanza

moviendo los dos motores.

sores IR “ven” la línea negra el robot retrocede y el objeto queda fuera

de la línea negra. Es necesario quitar el objeto ya que sino el robot estará intentando

llegar al objeto y retrocediendo de forma continua.

La superficie donde están los objetos puede estar elevada y cuando el robot los saca se

os y el sensor de

La lógica se basa en mantener al robot girando (sólo se mueve un motor) hasta que el

sensor de distancia detecte algo a menos de 50 cm. Cuando detecta un objeto avanza

sores IR “ven” la línea negra el robot retrocede y el objeto queda fuera

de la línea negra. Es necesario quitar el objeto ya que sino el robot estará intentando

estar elevada y cuando el robot los saca se

54 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

20. PRÁCTICA : SIGUELINEAS CON ARDUBLOCK

Si en lugar de hacerlo directamente en Arduino como hace Borja en Arduteka,

queremos hacerlo con Ardublock el programa para el

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

PRÁCTICA : SIGUELINEAS CON ARDUBLOCK

Si en lugar de hacerlo directamente en Arduino como hace Borja en Arduteka,

queremos hacerlo con Ardublock el programa para el SIGUELINEAS nos quedaría así:

Si en lugar de hacerlo directamente en Arduino como hace Borja en Arduteka,

nos quedaría así:

55 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

Cuyo código correspondiente será:

#include <Servo.h>

int _ABVAR_1_derechoParada;

Servo servo_pin_12;

int _ABVAR_2_izquierdaParada;

int _ABVAR_4_izquierdaAdelante;

int _ABVAR_6_irde;

int _ABVAR_5_irizq;

int _ABVAR_3_derechoAdelante;

Servo servo_pin_8;

void setup()

_ABVAR_4_izquierdaAdelante = 0;

_ABVAR_3_derechoAdelante = 0;

_ABVAR_5_irizq = 0;

servo_pin_8.attach(8);

_ABVAR_2_izquierdaParada = 0;

servo_pin_12.attach(12);

_ABVAR_1_derechoParada = 0;

_ABVAR_6_irde = 0;

void loop()

_ABVAR_1_derechoParada = 1450 ;

_ABVAR_2_izquierdaParada = 1390 ;

_ABVAR_3_derechoAdelante = 2000 ;

_ABVAR_4_izquierdaAdelante = 1000 ;

_ABVAR_5_irizq = analogRead(A5) ;

_ABVAR_6_irde = analogRead(A4) ;

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

Cuyo código correspondiente será:

int _ABVAR_2_izquierdaParada;

int _ABVAR_4_izquierdaAdelante;

int _ABVAR_3_derechoAdelante;

_ABVAR_4_izquierdaAdelante = 0;

_ABVAR_3_derechoAdelante = 0;

_ABVAR_2_izquierdaParada = 0;

ada = 1450 ;

_ABVAR_2_izquierdaParada = 1390 ;

_ABVAR_3_derechoAdelante = 2000 ;

_ABVAR_4_izquierdaAdelante = 1000 ;

_ABVAR_5_irizq = analogRead(A5) ;

_ABVAR_6_irde = analogRead(A4) ;

56 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

servo_pin_12.write( _ABVAR_4_izquierdaAdelante );

servo_pin_8.write( _ABVAR_3_derechoAdelante );

if (( ( _ABVAR_6_irde ) < ( 200 ) ))

servo_pin_12.write( _ABVAR_2_izquierdaParada );

if (( ( _ABVAR_5_irizq ) < ( 200 ) ))

servo_pin_8.write( _ABVAR_1_derechoParada );

Puedes compararlo con el que nos propone Borja en

Ahora ya os doy el relevo a vosotros: ¡A diseñar vuestros propios programas!

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

servo_pin_12.write( _ABVAR_4_izquierdaAdelante );

VAR_3_derechoAdelante );

if (( ( _ABVAR_6_irde ) < ( 200 ) ))

servo_pin_12.write( _ABVAR_2_izquierdaParada );

if (( ( _ABVAR_5_irizq ) < ( 200 ) ))

servo_pin_8.write( _ABVAR_1_derechoParada );

Puedes compararlo con el que nos propone Borja en Arduteka.

Ahora ya os doy el relevo a vosotros: ¡A diseñar vuestros propios programas!

Ahora ya os doy el relevo a vosotros: ¡A diseñar vuestros propios programas!

57 | GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérr

DOCUMENTACIÓN – BIBLIOGRAFÍA

Arduino la tecnología al alcance de todos de Mikel Etxebarria Isuskiza

Ardublock + Arduino tutorial

Versión de Documento: V1.0 José Manuel Ruiz Gutiérrez. Blog de

http://josemanuelruizgutierrez.blogspot.com/

http://www.arduino.cc/

Ángela Bravo (2012).

Arduino. Recuperado 12 de noviembre de 2013, desde

http://solorobotica.blogspot.com.es/search?q=ardublock

Borja (2013), Robot miniskybot 2 como siguelíneas y detector de obstáculos

Recuperado 11 de enero de 2014 desde:

http://www.arduteka.com/2013/04/robot

detector-de-obstaculos/

Opiron Electronics

de noviembre de 2013 desde :

sobre-ardublock

Pablo Murillo(2011

enero de 2014 desde:

0004-sensor-ldr/

http://www.ardublog.com/

Antony García González (2013). HC

Recuperado desde

arduino/

GRUPO DE TRABAJO PROYECTO CANTABROBOTS 3.0: Ana Núñez, Marta Gutiérrez, Didio Sordo, María Guijarro y José Andrés Echevarría

BIBLIOGRAFÍA - WEBGRAFÍA:

Arduino la tecnología al alcance de todos de Mikel Etxebarria Isuskiza

Ardublock + Arduino tutorial de José Manuel Ruiz Gutiérrez (Diciembre de 2011

Versión de Documento: V1.0 José Manuel Ruiz Gutiérrez. Blog de

http://josemanuelruizgutierrez.blogspot.com/33

http://www.arduino.cc/

Ángela Bravo (2012). Ardublock: Entorno de programación gráfica para

Recuperado 12 de noviembre de 2013, desde

http://solorobotica.blogspot.com.es/search?q=ardublock

Robot miniskybot 2 como siguelíneas y detector de obstáculos

Recuperado 11 de enero de 2014 desde:

http://www.arduteka.com/2013/04/robot-miniskybot-2-como-siguelineas

obstaculos/

Opiron Electronics (2013). Todo sobre Ardublock by Opiron. Recuperado el 12

de noviembre de 2013 desde : http://www.opiron.com/portfolio/t

Pablo Murillo(2011). Tutorial Arduino # 0004 – Sensor LDR. Recuperado 9 de

enero de 2014 desde: http://www.arduteka.com/2011/11/tutorial

http://www.ardublog.com/

Antony García González (2013). HC-SR04: Sensor ultrasónico para Arduino

Recuperado desde http://panamahitek.com/hc-sr04-sensor-ultrasonico

Arduino la tecnología al alcance de todos de Mikel Etxebarria Isuskiza

de José Manuel Ruiz Gutiérrez (Diciembre de 2011

Versión de Documento: V1.0 José Manuel Ruiz Gutiérrez. Blog de referencia:

Ardublock: Entorno de programación gráfica para

Robot miniskybot 2 como siguelíneas y detector de obstáculos.

Recuperado 11 de enero de 2014 desde:

siguelineas-y-

Recuperado el 12

http://www.opiron.com/portfolio/tutorial-

Recuperado 9 de

http://www.arduteka.com/2011/11/tutorial-arduino-

Sensor ultrasónico para Arduino.

ultrasonico-para-