Você está na página 1de 42

Programacin con

Arduino
Jornadas de Robtica 2016
Curso de Impresin 3D y Hardware libre
ndice:
0. Instalacin Software
1. Presentando la tarjeta Arduino UNO /ZUMBT
2. Bitbloq
3. Alternativas:
a. Instalables
b. WEB
4. Presentacin del IDE Arduino
5. Inicio a la programacin con Arduino:
a. Salidas Digitales
b. Entradas Digitales
6. Robot Seguidor de lineas
0. Instalacin Software
Hace falta instalar:
Google Chrome: Descargar de google
Es recomendable instalar:
IDE de arduino: Descargar de
http://arduino.cc/en/Main/Software e instalar ( si
a todo)
0. Instalacin IDE Arduino
Descargar y darle a si a todo.
0. Google Chrome
Instalar el google Chrome
1.-Presentacin de Arduino UNO
Pines de Entrada y
Salida Digital
Conector USB al PC

G=GND= Masa=0V
Selector de tensin V= 5V
de la placa Sx=x: Pin x

Conector de
alimentacin Pines de Entrada
Analgica
2.-Bitbloq
Se accede con la direccin: http://bitbloq.bq.com/
desde: Google Chrome
Podemos entrar
como invitado

O con una cuenta


2. Bitbloq
Mejor tener una cuenta (as se guardan
nuestros programas)
El usuario puede ser:
- Gmail
- Facebook
- Registrarnos en
bq
2.-Bitbloq
Hay dos partes o
pantallas
diferentes:
Pantalla
HARDWARE
Pantalla
CDIGO
2.-Bitbloq
En la pantalla Hardware
conectamos los
dispositivos a la
placa de arduino tal
como los tenemos
conectados en
nuestro robot
Primero elegimos la
placa que tiene
nuestro robot
2.-Bitbloq
Luego podemos
conectar los
componentes pines
correspondientes

En arduino los pines


son los puertos
Digitales o
Analogicos que
podemos controlar,
como por ejemplo
Leds, motores,
pulsadores,
sensores.
2.-Bitbloq-ejemplo led
Vamos a conectar un
led, que es una salida
digital, por ejemplo
al pin 3
En el robot real hacemos
lo mismo.
!!Mucho cuidado,
conectar los cables
siguiendo los
colores!!!
TODAS LAS CONEXIONES
Negro= Masa
CON EL ROBOT Rojo= +5v
APAGADO Y Amarillo= Seal entrada o salida (para un LED ser una salida)
DESCONECTADO
2.-Bitbloq-ejemplo led
En la pantalla software es
donde programamos
nuestro robot.
Un programa est
compuesto por 3
partes: Inicializacin
de variables,
configuracin, bucle
principal
En la parte derecha
tenemos todos los
elementos que
podemos aadir al
programa
2.-Bitbloq-ejemplo led
En software nos vamos a
componentes.
Vemos que tenemos la
opcin de
encender/apagar el
led (si hubieramos
aadido ms
componentes a la
placa tendriamos ms
opciones!)
Arrastramos sobre bucle
principal
2.-Bitbloq-ejemplo led
Conectamos el cable
USB al robot
Pinchamos sobre el
botn de su subir el
programa
Bitbloq detectar la
placa y programar
tu robot( La primera
vez que lo hagas te
instalar un
programa que se
llama web2board)
SE ENCIENDE EL LED???
2. Bitbloq-ejemplo led
Lo anterior era
programacin por
bloques (muy sencillo).
Eso se traduce a cdigo
(ms complicado, pero
ms potente)
2.Bitbloq-ejemplo-led-parpadeo
Ahora vamos a hacer
que parpadee. Para
ello lo encenderemos
y aparemos dejando
un tiempo intermedio
Utilizaremos un
bloque de espera
(delay)
2.Bitbloq-ejemplo-led-parpadeo
/*** Included libraries ***/
Explicacin del cdigo: Cdigo: /*** Global variables and function
pinMode(n de pin,modo): configura el definition ***/
pin como entrada o salida. int led_0 = 3;
digitalWrite(n de pin, valor digital): /*** Setup ***/
coloca ese pin a: void setup()
5V si es HIGH {
0V si es LOW pinMode(led_0, OUTPUT);
delay(milisegundos): indica al }
procesador que se espere el tiempo /*** Loop ***/ void loop()
expresado en milisegundos . {
digitalWrite(led_0, HIGH);
delay(1000);
Este cdigo se puede copiar y pegar, digitalWrite(led_0, LOW);
despus, en el IDE de Arduino para su delay(1000);
carga en la tarjeta UNO. }
2. Bitbloq-ejemplo led+botn
Ahora vamos a estudiar
entradas digitales
Utilizaremos un botn.
Cuando se pulsa la
entrada digital es 1 (o
verdadero) y cuando se
suelta la entrada digital
es 0 (o falso)
Conectaremos al pin 4 el
botn
2. Bibloq- Ejemplo led+pulsador
En programacin se usan las
estructuras de control.
Sirven para crear condiciones,
del ejemplo: SI
botn=pulsado ENTONCES
encender led
Esta estructura es IF---THEN
(en programacin se suele
escribir en ingls)
Hay otras estructuras como:
While (mietras se cumpla una
condicin hacer algo).
FOR (repetir algo un nmero
de veces)
2-Bitbloq-led+botn
Aadimos la lgica necesaria:

Se apaga y se enciende el
led cuando pulsamos el
botn?
2. Bitbloq-led+boton
Con el programa
anterior se quedaba
encendido faltaba
programar que cuando
el botn no estuviera
pulsado se apagara
Esta secuencia de
control es: SI tal
ENTONCES esto, SINO
esto_otro
(en ingls
IFTHENELSE)
2.Bitbloq-led+botn
El cdigo es:
2.Bitbloq-Motores
Movimiento motores
Motor izquierdo pin 9
Motor derecho pin 6
2. Bitbloq-Motores
Hacemos
que el robot
siga recto
Cmo ser
para girar y
para ir hacia
atrs?
2. Bitbloq-Motores
Si con el bloque parar no paran, hay que
calibrar los motores (ajustar tornillito lateral)
Seguidor Renacuajo
2. Bitbloq- Robot sigue lneas
Localizacin por medio de landmarks
Utilizaremos dos sensores de infrarrojos para seguir lneas
negras colocadas en el suelo, como utilizan los robots
guiados en la industria (aunque con otro tipo de lneas)
2. Robot seguidor de lneas(bsico)

Pin 2
IR_Izq: Pin 3

IR_Der: Si sensor derecho negro


entonces mover
Rueda Izquierda (sentido

M_Der: Pin 6
M_Izq: Pin 9

antihorario)

Si sensor izquierdo negro


entonces mover
Rueda Derecha (sentido
horario)
2.Bitbloq- Robot sigue lneas
2.Bitbloq- Robot sigue lneas
2. Robot seguidor de lneas
Problema: velocidad del servo.
Solucin 1: Utilizar el bloque servo de posicin y
ponerle manualmente el valor
Solucin 2: copiar el cdigo al IDE de arduino y
aumentar o disminuir el valor de velocidad del
servo
Solucin 3: LA VUESTRA
3.-Alternativas
Hay muchsimas, pero las ms usuales:
Instalables:
o Processing
o S4A (Scratch for Arduino)
WEB:
o 123D.circuits.io (Simulador)
o Blockly Demo (origen de Bitbloq)
3.-Alternativas instalables
Processing: Open Source del MIT. De
donde proviene el IDE de Arduino.
Se puede comunicar va USB con la
tarjeta cargando a esta un
firmware.
Puedes descargrtelo en:
http://processing.org/
3.-Alternativas instalables
Processing (II): puedes compilar (crear
la aplicacin ejecutable) en:
JAVA: para ejecutar en cualquier
PC.
JavaScript: para incrustar en una
WEB.
APK Android: para correr en un
dispositivo Android.
3.-Alternativas instalables
S4A (Scratch for Arduino): creada por espaoles en Catalua.
Tiene su origen en Scratch (del MIT) y permite conectar una tarjeta Arduino UNO va
USB cargando en ella un firmware. Est en:
http://s4a.cat/
3.-Alternativas WEB
123D.circuits.io (Simulador): es una WEBApp comercial, no es Open Source,
pero tiene cuenta gratuita con limitaciones.
http://123d.circuits.io/
Si no tienes tarjeta, es una
buena solucin para probar
programas.
3.-Alternativas WEB
Blockly Demo: (origen de Bitbloq) vers el parecido en Ingls. A travs de
Internet puedes acceder a esta versin Demostracin, puesto que te puedes bajar
un paquete que crea un servidor WEB con la aplicacin, de manera que puedes
crear nuevos bloques.
http://www.gasolin.idv.tw/public/blockly/demos/blocklyduino/index.html
4.-Presentacin del IDE de Arduino
Al pulsar en el icono arranca el IDE
de Arduino que funciona sobre la
mquina virtual de JAVA.
El lenguaje empleado para generar las
programas es C simplificado,
coloquialmente Arduino.
Est pensado para aprender rpido.

Guardar

Verificar el Nuevo Fichero Abrir


programa
Cargar el
programa en
la tarjeta
4.-Presentacin del IDE de Arduino
Abre el monitor del puerto serie,
podemos observar la comunicacin
por USB entre el PC y la tarjeta UNO.
5.-Iniciacin a la programacin con Arduino
Otra manera ms avanzada:
1. Composicin por bloques con Bitbloq
2. Copia del cdigo al IDE Arduino
3. Modificado del cdigo
4. Carga del programa en la tarjeta UNO
COMPETICIN
Caractersticas del circuito:

Posible Circuito:

- Las ramas a seguir en las bifurcaciones se definen aleatoriamente cuando el robot


comienza el recorrido.
- Aparece un obstculo en la ltima bifurcacin (en la rama contraria a la indicada por la
seal)

Você também pode gostar