Vehiculo controlado por app y Arduino

Post on 03-Jun-2015

9.265 views 4 download

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

Grupo de Trabajo: ELABORACIÓN DE MATERIALES

DIDÁCTICOS USANDO LA PLATAFORMA ARDUINO

IES HELIÓPOLISCurso 2013/2014

José Pujol

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

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

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

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

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

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

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

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

Comunicación Serie

Comunicación Serie

● Monitor Serie

Enviar Datos Arduino → PC

Ejemplo de contador

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

Enviar Datos Arduino → PC

Ejercicio: monitorizar un sensor por el Puerto Serie.

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

Enviar Datos PC → Arduino

Ejemplo: programa básico para recibir datos

Enviar Datos PC → Arduino

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

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

Enviar Datos PC → Arduino

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

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>

Módulo Bluetooth

Usaremos Módulo HC-06

Características:

● Económico

● Fácil de usar

Modos de funcionamiento:

● Master

● Esclavo

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/

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

CONTROL DE MOTORES MEDIANTE DRIVER L298

1) L298

2) Driver

CONTROL DE MOTORES MEDIANTE L298

2) Driver

CONTROL DE MOTORES MEDIANTE L298

Ejemplo: programa básico para controlar un motor

Grupo de Trabajo: ELABORACIÓN DE MATERIALES

DIDÁCTICOS USANDO LA PLATAFORMA ARDUINO

IES HELIÓPOLISCurso 2013/2014

José Pujol