Upload
lamkhuong
View
251
Download
1
Embed Size (px)
Citation preview
Índice: 0. Instalación Software 1. Presentando la tarjeta Arduino UNO /ZUMBT 2. Bitbloq 3. Alternativas:
a. Instalables b. WEB
4. Presentación del IDE Arduino 5. Inicio a la programación con Arduino:
a. Salidas Digitales b. Entradas Digitales
6. Robot Seguidor de lineas
0. Instalación Software
• Hace falta instalar: – IDE de arduino: Descargar de
http://arduino.cc/en/Main/Software e instalar ( “si” a todo)
– Google Chrome: Descargar de google
1.-Presentación de Arduino UNO
Pines de Entrada y
Salida Digital
Pines de Entrada
Analógica
Conector USB al PC
Conector de
alimentación
Selector de tensión
de la placa
G=GND= Masa=0V
V= 5V
Sx=x: Pin x
2.-Bitbloq Se accede con la dirección: http://bitbloq.bq.com/ desde: Google Chrome
2.-Bitbloq
Se puede acceder • Sin usuario (Todo lo que hagamos
habrá que guardarlo en local)
• Con usuario (Todo lo que hagamos
se guarda en la nube)
El usuario puede ser: - Gmail - Facebook - Registrarnos en bq
2.-Bitbloq
La Web App puede que te pida instalar una extensión para seguir “CodeBender.cc”.
La descargas y reinicias
el navegador El resultado es el que
ves.
2.-Bitbloq
Hay dos partes o pantallas diferentes:
● Pantalla Bloques ● Pantalla Código
En la pantalla de los Bloques se elabora el programa con elementos preconfigurados.
2.-Bitbloq
Las opciones que hay son:
● Octopus ● zum ● Servo ● LCD block ● Controlar ● Lógica ● Matemáticas ● Texto ● comunicaciones ● Pin functions ● Varialbes ● Funciones
2.-Bitbloq
Las opciones que hay son:
● bq ● Servo ● Controlar ● Lógica ● Matemáticas ● Texto ● Avanzado ● Variables ● Funciones
2.-Bitbloq
Las opciones que hay son:
● bq ● Servo ● Controlar ● Lógica ● Matemáticas ● Texto ● Avanzado ● Variables ● Funciones
2.-Bitbloq
Las opciones que hay son:
● bq ● Servo ● Controlar ● Lógica ● Matemáticas ● Texto ● Avanzado ● Variables ● Funciones
2.-Bitbloq
Hay dos partes o pantallas diferentes:
● Pantalla Bloques ● Pantalla Código
En la pantalla Código se traduce lo elaborado en la pantalla de Bloques en el lenguaje de “Arduino”, pudiéndose emplear en el IDE.
3.-Alternativas
Hay muchísimas, pero las más 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 vía USB con la tarjeta cargando a esta un firmware.
Puedes descargártelo en: http://processing.org/
3.-Alternativas instalables
Processing (II): puedes compilar (crear la aplicación 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 españoles en Cataluña.
Tiene su origen en Scratch (del MIT) y permite conectar una tarjeta Arduino UNO vía 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 solución para probar programas.
3.-Alternativas WEB
Blockly Demo: (origen de Bitbloq) verás el parecido en Inglés. A través de
Internet puedes acceder a esta versión Demostración, puesto que te puedes bajar un paquete que crea un servidor WEB con la aplicación, de manera que puedes crear nuevos bloques.
http://www.gasolin.idv.tw/public/blockly/demos/blocklyduino/index.html
4.-Presentación del IDE de Arduino
Al pulsar en el icono arranca el IDE de Arduino que funciona sobre la máquina virtual de JAVA.
El lenguaje empleado para generar las programas es “C” simplificado, coloquialmente “Arduino”.
Está pensado para aprender rápido.
Verificar el
programa Cargar el
programa en
la tarjeta
Abrir
Guardar
Nuevo Fichero
4.-Presentación del IDE de Arduino
Abre el monitor del puerto serie,
podemos observar la comunicación por USB entre el PC y la tarjeta UNO.
5.-Iniciación a la programación con Arduino
Para aprender a programar, emplearemos lo que se denomina “Code-On line” que consiste en que:
● el instructor va ir haciendo los programas a la vez que los explica.
● el alumno va copiando los programas y atendiendo a las explicaciones.
Más tarde, el profesor os planteará una serie de mejoras o retos para que lo modifiquéis.
Para aprender a programar para un Ordenador en cualquier lenguaje, la primera aplicación suele ser “Hola mundo”.
En Arduino, el primer programa es el “Blink”, que consiste en
hacer parpadear un LED (Diodo Emisor de Luz) que está cerca de la patilla D13 y que se activa con esta.
Vamos pues… a trabajar con Salidas Digitales
5.-Iniciación a la programación con Arduino
5.Iniciación a la programación con Arduino
En bloques: Analicemos lo que hemos puesto:
1. Conectamos el módulo del LED
en el Pin D13 de la placa.
2. Le indico a Arduino que lo
encienda
3. Espero 1000ms, es decir, 1 s
4. Le indico a Arduino que lo
enchufado en el pin13 se
apague
5. Espero 1000ms, es decir, 1 s
6. Vuelve al punto 1 porque llego al
final del programa
5.-Iniciación a la programación con Arduino
Explicación:
Todo programa Arduino tiene, por lo menos
dos funciones:
● setup(): lo que hay entre las llaves “{“
“}” sólo se ejecuta una vez al
encenderse la placa. Se emplea,
generalmente, para configurar las
conexiones.
● loop(): lo que hay entre las llaves “{“
“}” vuelve a ejecutarse cada vez que
llega a su fin.
Código:
5.-Iniciación a la programación con Arduino
Explicación del código:
● pinMode(nº de pin,modo): configura el
pin como entrada o salida.
● digitalWrite(nº de pin, valor digital):
coloca ese pin a:
○ 5V si es HIGH
○ 0V si es LOW
● delay(milisegundos): indica al
procesador que se espere el tiempo
expresado en milisegundos .
Este código se puede copiar y pegar,
después, en el IDE de Arduino para su
carga en la tarjeta UNO.
Código:
5.-Iniciación a la programación con Arduino
- Para cargar en el arduino: - 1º Conecta el cable usb al arduino - 2º Configura el bitbloq serial - 3º Dale al icono programar
5.-Iniciación a la programación con Arduino
Otra manera más avanzada: 1. Composición por bloques con Bitbloq 2. Copia del código al IDE Arduino 3. Modificado del código 4. Carga del programa en la tarjeta UNO
5.-Iniciación a la programación con Arduino
Entradas Digitales: Como entrada digital, vamos a emplear:
● los sensores de infrarrojos de la cabeza del robot “renacuajo” y
● el botón pulsador. Estos elementos nos ofrecen a la tarjeta o 0V (LOW) o 5V (HIGH)
5.-Iniciación a la programación con Arduino
Entradas Digitales: Como entrada digital, vamos a emplear:
● los sensores de infrarrojos o LOW -> detecta negro o HIGH -> detecta blanco
● el botón pulsador. o LOW ->pulsado o HIGH ->sin pulsar
5.-Iniciación a la programación con Arduino
Ejercicio: 1. Diseña un programa con un pulsador (pin 10)
que encienda el LED del (pin 13) cuando lo pulses.
¿Qué pasa?¿Te falta conocer algo?
5.-Iniciación a la programación con Arduino
Ejercicio: Si has hecho esto: Siempre se enciende el LED
porque no has puesto que el resto del tiempo debe estar apagado
5.-Iniciación a la programación con Arduino Para añadir un caso “else” (es decir si no se cumple el pulsador entonces hacer otra cosa)
Se enciende el led cuando se pulsa????? Que está pasando???: Pulsador en lógica negativa
5.-Iniciación a la programación en Arduino
• Movimiento motores – Motor izquierdo pin 9 – Motor derecho pin 6
Hacer un programita que pulsando el pulsador haga que el robot vaya recto.
¿Que sentido deben seguir los
motores para que el robot vaya
recto, hacia atrás, izquierda o
derecha?
5. Iniciación a la programación con Arduino
Vamos a calibrar el servo, o que es lo mismo, si seleccionamos detener en ambos servos el robot no deberia moverse. Si se mueve hay que desmontar el servo y ajustar el tornillo de calibracion (explicado en las transparencias del primer día)
#include <Servo.h> Servo servo_6; Servo servo_9; void setup(){ servo_6.attach(6);} servo_9.attach(9);} void loop(){ servo_6.write(90); servo_9.write(90); }
Bloque
Código
6. Robot seguidor de líneas
• Localización por medio de landmarks
– Utilizaremos dos sensores de infrarrojos para seguir líneas negras colocadas en el suelo, como utilizan los robots guiados en la industria (aunque con otro tipo de líneas)
6. Robot seguidor de líneas(básico)
• El robot seguidor de líneas. Procedimiento:
– Si ambos sensores leen blanco: Sigo en línea recta
– Si el sensor derecho detecta negro: giro un poco a la derecha
– Si el sensor izquierdo detecta negro: Sigo un poco a la izquierda
– Si ambos detectan negro… puede ser que sea una bifurcación! Ya veremos
– Si después de negro ambos detectan blanco…estoy perdido!
6. Robot seguidor de líneas(básico) M
_Iz
q:
Pin
9
M_
De
r: P
in 6
IR_
Izq:
P
in 3
IR_
De
r:
Pin
2
Si sensor derecho negro
entonces mover
Rueda Izquierda (sentido
antihorario)
Si sensor izquiedo negro
entonces mover
Rueda Derecha (sentido
horario)
6. Robot seguidor de líneas • Problema: velocidad del servo. • Solución 1: Utilizar el bloque servo de posición y ponerle
manualmente el valor
• Solución 2: copiar el código al IDE de arduino y aumentar o
disminuir el valor de velocidad del servo • Solución 3: LA VUESTRA