Vehiculo controlado por app y Arduino

28
Grupo de Trabajo: ELABORACIÓN DE MATERIALES DIDÁCTICOS USANDO LA PLATAFORMA ARDUINO IES HELIÓPOLIS Curso 2013/2014 José Pujol

description

Grupo de Trabajo Elaboración de materiales didácticos usando la plataforma Arduino Objetivos: - Control de vehículo mediante app y bluetooth - Presentación de la herramienta S4A

Transcript of Vehiculo controlado por app y Arduino

Page 1: Vehiculo controlado por app y Arduino

Grupo de Trabajo: ELABORACIÓN DE MATERIALES

DIDÁCTICOS USANDO LA PLATAFORMA ARDUINO

IES HELIÓPOLISCurso 2013/2014

José Pujol

Page 2: Vehiculo controlado por app y Arduino

OBJETIVOS DEL GRUPO DE TRABAJO

1) Control de vehículo mediante aplicación móvil

2) Presentación de la herramienta S4A: Scratch For Arduino

Page 3: Vehiculo controlado por app y Arduino

CONTROL DE VEHÍCULO MEDIANTE APP

1) Comunicación Serie Teléfono móvil → Arduino mediante módulo Bluetooth

2) Control de motores mediante Driver L298

Page 4: Vehiculo controlado por app y Arduino

CONTROL DE VEHÍCULO MEDIANTE APP

Los datos que envía la app son:

http://es.appszoom.com/android_applications/tools/arduino-controlled-robot_inuri.html

Page 5: Vehiculo controlado por app y Arduino

COMUNICACIÓN SERIE

1) Tipos de datos

2) Comunicación Serie

3) Comunicación Arduino → PC

4) Comunicación PC → Arduino

5) Módulo Bluetooth

Page 6: Vehiculo controlado por app y Arduino

Tipos de datos

● Enteros- int

Números enteros, ocupan 2 bytes, -32,768 al 32,767

Ejemplo:

int ledPin=13; // variable ledPin de tipo entero igual a 13

● Binarios- boolean

Tienen 2 valores true o false. 1 bit de memoria

Ejemplo:

boolean lectura=false; // variable binaria lectura, estado falso

Page 7: Vehiculo controlado por app y Arduino

Tipos de datos

● byte

Guarda un números de 8 bits entre 0 y 255

Ejemplo: byte b=01010101; // variable b de tipo byte

● char

Tipo de datos que ocupa 1 byte de memoria que almacena un carácter. Son almacenados con la numeración decimal correspondiente al carácter ASCII

Ejemplo:

char dato ='A';

char dato=65; // ambos son equivalentes

Page 8: Vehiculo controlado por app y Arduino

Comunicación Serie

● Comunica Arduino con PC u otros dispositivos

● Utiliza los pines Rx 0 y Tx 1 conectados al controlador FTDI

● Permite recibir y enviar datos

● Usa un buffer de 64 bytes cola FIFO

Page 9: Vehiculo controlado por app y Arduino

Comunicación Serie

● Para enviar y recibir datos usa el código ASCII

● Utilidades:

➔ Monitorizar valores de variables

➔ Depurar programas

➔ Mandar comandos a Arduino

➔ Conexión con otros módulos

Page 10: Vehiculo controlado por app y Arduino

Comunicación Serie

Page 11: Vehiculo controlado por app y Arduino

Comunicación Serie

● Monitor Serie

Page 12: Vehiculo controlado por app y Arduino

Enviar Datos Arduino → PC

Ejemplo de contador

Page 13: Vehiculo controlado por app y Arduino

Enviar Datos Arduino → PC

Serial.begin (velocidad)

Abre el puerto serie y establece la velocidad de conexión

Serial.print()

Imprime los datos por el puerto serie

Serial.print (“Texto”);

Serial.print (variables);

Serial.println()

Realiza además un retorno de carro

Page 14: Vehiculo controlado por app y Arduino

Enviar Datos Arduino → PC

Ejercicio: monitorizar un sensor por el Puerto Serie.

Page 15: Vehiculo controlado por app y Arduino

Enviar Datos PC → Arduino

Nos permite controlar Arduino desde otro dispositivo

Algunas opciones:

● PC desde cable USB

● Teléfono movil vía bluetooth

● Internet via Telnet

Page 16: Vehiculo controlado por app y Arduino

Enviar Datos PC → Arduino

Ejemplo: programa básico para recibir datos

Page 17: Vehiculo controlado por app y Arduino

Enviar Datos PC → Arduino

Ejercicio: controlar el encendido de un LED desde el teclado mediante las letras H y L

Page 18: Vehiculo controlado por app y Arduino

Enviar Datos PC → Arduino

Serial.available ()

Devuelve el estado del buffer del puerto serie y desvela si hay datos dentro de este

Serial.read()

Lee el primer carácter del buffer. Es importante entender que lee un solo carácter (byte)

Serial.flush()

Vacia el buffer del puerto serie

Serial.end()

Desactiva la comunicación serie

Page 19: Vehiculo controlado por app y Arduino

Enviar Datos PC → Arduino

Ejemplo: programa básico para recibir datos numéricos

Page 20: Vehiculo controlado por app y Arduino

Enviar Datos Arduino → PC

Ejercicio: Controlar la intensidad luminosa de un led mediante el teclado mandando un número entre 0 y 255

Añadir terminador de datos >

Añadir comienzo de cadena <

Ejercicio: Controlar la intensidad luminosa de un led RG mediante el teclado mandando <255R> <255G>

Page 21: Vehiculo controlado por app y Arduino

Módulo Bluetooth

Usaremos Módulo HC-06

Características:

● Económico

● Fácil de usar

Modos de funcionamiento:

● Master

● Esclavo

Page 22: Vehiculo controlado por app y Arduino

Módulo Bluetooth

Conexión:

Configuración: mediante programa o comandos AT podemos cambiar nombre, y la contraseña, además del modo de funcionamiento

http://giltesa.com/2012/08/10/modulo-bluetooth-hc-06-para-arduino/

Page 23: Vehiculo controlado por app y Arduino

Módulo Bluetooth

Pasos para conectar al teléfono móvil:

● Activar modo Bluetooth en nuestro teléfono y comprobar que ve el dispositivo

● Linkarlo: el LED rojo que parpadea debe quedarse fijo

● Descargar un programa de envio de datos

● Comprobar que podemos encende un LED desde el telefono mediante H y L, en Arduino debemos cargar Communication--> Physical Pixel

Page 24: Vehiculo controlado por app y Arduino

CONTROL DE MOTORES MEDIANTE DRIVER L298

1) L298

2) Driver

Page 25: Vehiculo controlado por app y Arduino
Page 26: Vehiculo controlado por app y Arduino

CONTROL DE MOTORES MEDIANTE L298

2) Driver

Page 27: Vehiculo controlado por app y Arduino

CONTROL DE MOTORES MEDIANTE L298

Ejemplo: programa básico para controlar un motor

Page 28: Vehiculo controlado por app y Arduino

Grupo de Trabajo: ELABORACIÓN DE MATERIALES

DIDÁCTICOS USANDO LA PLATAFORMA ARDUINO

IES HELIÓPOLISCurso 2013/2014

José Pujol