Académique Documents
Professionnel Documents
Culture Documents
Docente:
Cuzcano Rivas Abilio Bernardino
Alumnos:
AYASTA PORTOCARRERO LUIS
Miranda Yllanes Hector
Chavez Elias Alex
Zamora Vilca Anotny
Lima – Perú
2018
1
OBJETIVO
Objetivo: Comunicar por medio de Bluetooth a un Arduino con LabView para obtener lectura
de los sensores de Temperatura LM35 y MCP9701 de manera remota.
MATERIAL
DIAGRAMA ESQUEMATICO
2
Figura 1: Conexión del Bluetooth con Arduino y los sensores de temperatura MCP9701 y
LM35.
Figura 2: Diagrama esquemático que muestra la conexión del Bluetooth con un convertidor
TTL/CMOS para la configuración del Bluetooth, ya sea para el cambio de velocidad de
transmisión de datos, Nombre del dispositivo, etc. (El convertidor TTL/CMOS-RS232 puede
ser remplazado por un MAX232).
3
INTRODUCCION
BLUETOOTH
Los dispositivos que con mayor frecuencia utilizan esta tecnología pertenecen a sectores de
las telecomunicaciones y la informática personal, como PDA, teléfonos móviles,
computadoras portátiles, ordenadores personales, impresoras o cámaras digitales.
Los dispositivos que incorporan este protocolo pueden comunicarse entre ellos cuando se
encuentran dentro de su alcance. Las comunicaciones se realizan por radiofrecuencia de
forma que los dispositivos no tienen que estar alineados y pueden incluso estar en
habitaciones separadas si la potencia de transmisión es suficiente. Estos dispositivos se
clasifican como “Clase 1”, “Clase 2” o “Clase 3” en referencia a su potencia de transmisión,
siendo totalmente compatibles los dispositivos de una clase con los de las otras.
4
Figura 3: Tabla de potencias del bluetooth.
Los dispositivos con Bluetooth también pueden clasificarse según su ancho de banda:
Este pequeño módulo Bluetooth transmisor/receptor TTL fue diseñado para ser controlado a
través de RS232. Permite tanto transmitir como recibir datos a través de tecnología bluetooth
sin conectar cables a los dispositivos a comunicar. Es un dispositivo fácil de implementar y
compacto.
Especificaciones
5
ARDUINO
Arduino puede tomar información del entorno a través de sus pines de entrada de toda una
gama de sensores y puede afectar aquello que le rodea controlando luces, motores y otros
actuadores. El Microcontrolador en la placa Arduino se programa mediante el lenguaje de
programación Arduino (basado en Wiring) y el entorno de desarrollo Arduino (basado en
Processing). Los proyectos hechos con Arduino pueden ejecutarse sin necesidad de conectar
a un ordenador, si bien tienen la posibilidad de hacerlo y comunicar con diferentes tipos de
software (p.ej. Flash, Processing, MaxMSP).
Las placas pueden ser hechas a mano o compradas montadas de fábrica; el software puede
ser descargado de forma gratuita. Los diseños Del PCB están disponibles bajo la licencia
abierta.
Comparados con los sensores resistivos, los termistores lineales activos no requieren un
circuito acondicionador de señal. El pin de salida de voltaje (Vout) puede ser conectado
directamente a una entrada ADC de un Microcontrolador.
Los coeficientes de temperatura están escalados para proporcionar una resolución de 1°C/bit
para un ADC de 8 bits con una referencia de voltaje de 5V.
Este sensor provee una solución de bajo costo para aplicaciones que requieran mediciones
del cambio de temperatura relativa.
Esta familia es inmune a los efectos parásitos de la capacitancia y pueden manejar grandes
cargas capacitivas. Esto provee de una gran flexibilidad al momento de diseñar un PCB,
permitiendo que el dispositivo se encuentre alejado del Microcontrolador.
6
APLICACIONES
– Sistemas de entretenimiento
– Equipos de oficina
ESPECIFICACIONES
– Tamaño reducido
– Encapsulado: TO-92-3
– Bajo corriente: 6 µA
7
Figura 5: Grafica del voltaje de salida contra la temperatura para el sensor de temperatura
MCP7901.
Es un sensor de temperatura con una precisión calibrada de 1ºC. Su rango de medición abarca
desde -55°C hasta 150°C. La salida es lineal y cada grado centígrado equivale a 10mV, por
lo tanto:
150 °C = 1500 mV
-40°C = -400 mV
ESPECIFICACIONES
– Bajo costo.
8
Figura 6: Grafica de la Temperatura vs Voltaje del sensor de temperatura LM35.
LABVIEW
Este programa fue creado por National Instruments (1976) para funcionar sobre máquinas
MAC, salió al mercado por primera vez en 1986. Ahora está disponible para las plataformas
Windows, UNIX, MAC y GNU/Linux. La última versión es la 2011.
Principales usos
9
DESARROLLO DEL EJEMPLO
A continuación tenemos el
programa en lenguaje C, el
cual fue desarrollado para
Arduino. En el código se
describe la comunicación
entre el Arduino y el
Bluetooth con la
computadora.
La comunicación es de modo
serial (USART), y la
conexión del Arduino con el
Bluetooth se hizo a través de
los pines Rx y Tx del
Arduino, estos son para
escritura y lectura serial.
En la Figura 5 se muestra los puertos COM para comunicar el Arduino (con el módulo
bluetooth) con la Computadora. Estos puertos COM son los del Bluetooth JY-MCU. Esta
ventana aparece al darle click derecho, propiedades en el dispositivo bluetooth desde el
administrador de dispositivos.
10
COMANDOS PARA CONFIGURAR EL BLUETOOTH
Para utilizar las siguientes instrucciones es necesario tener el hardware conectado como se
muestra en la figura 2.
Parámetros default:
Enviar: AT
Regresa: OK
Resetear el Bluetooth para cambiar la velocidad de transmisión
Enviar: AT + BAUD1
Regresa: OK1200
Enviar: AT + BAUD2
Regresa: OK2400
1————1200
2————2400
3————4800
4————9600 (DEFAULT)
5————19200
6————38400
7————57600
8————115200
9————230400
A————460800
B————921600
C————1382400
11
PROGRAMA EN LENGUAJE C PARA ARDUINO 1.0.1
//Este
programa
enviara
temperatura
por
Bluetooth
//Se declaran las variables VALOR, SELECT y VALOR2 como entero
int valor = 0; // Variable en la que se guarda el valor leído del ADC 0 que pertenece al LM35
int select = 0; // Variable en la cual se guarda el caracter enviado del LabView y así leer los
sensores
int valor2 = 0; // Variable en la que se guarda el valor leído del ADC 1 que pertenece al MCP970
void setup()
{
Serial.begin(9600); // La velocidad de Transmicion será de 9600 Baudios
}
void loop()
{
if(Serial.available() > 0) // Si no hay una escritura serial no entra en el ciclo
{
// Se guarda en la variable "select" lo que se escriba en el puerto serial
select = Serial.read();
//Segun sea el caso de lo que se escriba en el LabView será la informacion que veamos
switch(select)
{
case 'a': //Si se escribe "a" nos enviara la temperatura del LM35
valor = analogRead(A0); // Se lee el ADC 0 y el valor se guarda en la variable “valor”
Serial.print((5.0 * valor * 100)/1023);
delay(10); // Retardo de 10 milisegundos
Serial.println("°C LM35");
delay(5000); // Retardo de 5 segundos
break;
case 'b': //Si se escribe "b" nos enviara la temperatura del MCP9701
valor2 = analogRead(A1); // Se lee el ADC 1 y el valor se guarda en la variable “valor2”
Serial.print((5 * valor2 * 100)/1023);
delay(10); // Retardo de 10 milisegundos
12
Serial.println("°C MCP9701");
delay(5000); // Retardo de 5 segundos
break;
default: //Si se escribe "cualquier otro caracter" nos enviara error
Serial.println("error");
delay(500); //Retardo de 0.5 segundos
}
}
}
PROGRAMA EN LABVIEW
En la figura 8 se muestra una lectura que se hizo del sensor de temperatura LM35. Sí se
escribe el carácter “a” nos arrojara la lectura del sensor LM35.
13
Figura 8: Lectura del sensor LM35.
En la figura 9 se muestra una lectura que se hizo del sensor de temperatura MCP9701. Sí se
escribe el carácter “b” nos arrojara la lectura del sensor MCP9701.
14
Figura 10: Diagrama a bloques en LabView.
15
Figura 11: En esta parte del diagrama de bloques se configura el puerto serial para la lectura
y escritura serial, la velocidad de transmisión de datos, paridad, los bits que se transmitirán
por dato, etc.
Figura 12: Parte del diagrama donde se realiza la escritura para mandar el carácter, solo se
enviara este si está habilitado con el botón OK, ya que está en una estructura Falso Verdadero.
Figura 13: Ciclo para que el dato se retarde en el tiempo que determine el usuario.
16
Figura 14: Diagrama a bloques que muestra la información leída del puerto y el número de
bytes leídos, después cierra la sesión de la comunicación.
17
Referencias
Home
Arduino
Comunicación
Comunicacion Arduino y Labview por Bluetooth
OBJETIVO
18
Objetivo: Comunicar por medio de Bluetooth a un Arduino con LabView para obtener lectura
de los sensores de Temperatura LM35 y MCP9701 de manera remota.
MATERIAL
DIAGRAMA ESQUEMATICO
19
Figura 1: Conexión del Bluetooth con Arduino y los sensores de temperatura MCP9701 y
LM35.
20
Figura 2: Diagrama esquemático que muestra la conexión del Bluetooth con un convertidor
TTL/CMOS para la configuración del Bluetooth, ya sea para el cambio de velocidad de
transmisión de datos, Nombre del dispositivo, etc. (El convertidor TTL/CMOS-RS232 puede
ser remplazado por un MAX232).
INTRODUCCION
BLUETOOTH
21
Los dispositivos que con mayor frecuencia utilizan esta tecnología pertenecen a sectores de
las telecomunicaciones y la informática personal, como PDA, teléfonos móviles,
computadoras portátiles, ordenadores personales, impresoras o cámaras digitales.
Los dispositivos que incorporan este protocolo pueden comunicarse entre ellos cuando se
encuentran dentro de su alcance. Las comunicaciones se realizan por radiofrecuencia de
forma que los dispositivos no tienen que estar alineados y pueden incluso estar en
habitaciones separadas si la potencia de transmisión es suficiente. Estos dispositivos se
clasifican como “Clase 1”, “Clase 2” o “Clase 3” en referencia a su potencia de transmisión,
siendo totalmente compatibles los dispositivos de una clase con los de las otras.
Los dispositivos con Bluetooth también pueden clasificarse según su ancho de banda:
22
Figura 4: Tabla de ancho de banda del bluetooth.
Este pequeño módulo Bluetooth transmisor/receptor TTL fue diseñado para ser controlado a
través de RS232. Permite tanto transmitir como recibir datos a través de tecnología bluetooth
sin conectar cables a los dispositivos a comunicar. Es un dispositivo fácil de implementar y
compacto.
Especificaciones
Arduino puede tomar información del entorno a través de sus pines de entrada de toda una
gama de sensores y puede afectar aquello que le rodea controlando luces, motores y otros
actuadores. El Microcontrolador en la placa Arduino se programa mediante el lenguaje de
programación Arduino (basado en Wiring) y el entorno de desarrollo Arduino (basado en
Processing). Los proyectos hechos con Arduino pueden ejecutarse sin necesidad de conectar
a un ordenador, si bien tienen la posibilidad de hacerlo y comunicar con diferentes tipos de
software (p.ej. Flash, Processing, MaxMSP).
Las placas pueden ser hechas a mano o compradas montadas de fábrica; el software puede
ser descargado de forma gratuita. Los diseños Del PCB están disponibles bajo la licencia
abierta.
23
Comparados con los sensores resistivos, los termistores lineales activos no requieren un
circuito acondicionador de señal. El pin de salida de voltaje (Vout) puede ser conectado
directamente a una entrada ADC de un Microcontrolador.
Los coeficientes de temperatura están escalados para proporcionar una resolución de 1°C/bit
para un ADC de 8 bits con una referencia de voltaje de 5V.
Este sensor provee una solución de bajo costo para aplicaciones que requieran mediciones
del cambio de temperatura relativa.
Esta familia es inmune a los efectos parásitos de la capacitancia y pueden manejar grandes
cargas capacitivas. Esto provee de una gran flexibilidad al momento de diseñar un PCB,
permitiendo que el dispositivo se encuentre alejado del Microcontrolador.
APLICACIONES
– Sistemas de entretenimiento
– Equipos de oficina
ESPECIFICACIONES
– Tamaño reducido
– Encapsulado: TO-92-3
– Bajo corriente: 6 µA
24
– Optimizado para trabajar cargas capacitivas grandes.
Figura 5: Grafica del voltaje de salida contra la temperatura para el sensor de temperatura
MCP7901.
Es un sensor de temperatura con una precisión calibrada de 1ºC. Su rango de medición abarca
desde -55°C hasta 150°C. La salida es lineal y cada grado centígrado equivale a 10mV, por
lo tanto:
150 °C = 1500 mV
-40°C = -400 mV
ESPECIFICACIONES
25
– Baja impedancia de salida.
– Bajo costo.
LABVIEW
Este programa fue creado por National Instruments (1976) para funcionar sobre máquinas
MAC, salió al mercado por primera vez en 1986. Ahora está disponible para las plataformas
Windows, UNIX, MAC y GNU/Linux. La última versión es la 2011.
En la Figura 5 se muestra los puertos COM para comunicar el Arduino (con el módulo
bluetooth) con la Computadora. Estos puertos COM son los del Bluetooth JY-MCU. Esta
ventana aparece al darle click derecho, propiedades en el dispositivo bluetooth desde el
administrador de dispositivos.
27
Figura 7: Propiedades del dispositivo bluetooth en el administrador de dispositivos donde se
muestra los puertos COM asignados al mismo.
Para utilizar las siguientes instrucciones es necesario tener el hardware conectado como se
muestra en la figura 2.
Parámetros default:
28
ID: Linvor
Password: 1234
Test de comunicación:
Enviar: AT
Regresa: OK
Resetear el Bluetooth para cambiar la velocidad de transmisión
Enviar: AT + BAUD1
Regresa: OK1200
Enviar: AT + BAUD2
Regresa: OK2400
1————1200
2————2400
3————4800
4————9600 (DEFAULT)
5————19200
6————38400
7————57600
8————115200
9————230400
A————460800
B————921600
C————1382400
29
int valor = 0; // Variable en la que se guarda el valor leído del ADC 0 que pertenece al LM35
int select = 0; // Variable en la cual se guarda el caracter enviado del LabView y así leer los sensores
int valor2 = 0; // Variable en la que se guarda el valor leído del ADC 1 que pertenece al MCP9701
void setup()
void loop()
select = Serial.read();
//Segun sea el caso de lo que se escriba en el LabView será la informacion que veamos
switch(select)
case 'a': //Si se escribe "a" nos enviara la temperatura del LM35
Serial.println("°C LM35");
break;
case 'b': //Si se escribe "b" nos enviara la temperatura del MCP9701
30
valor2 = analogRead(A1); // Se lee el ADC 1 y el valor se guarda en la variable “valor2”
Serial.println("°C MCP9701");
break;
Serial.println("error");
PROGRAMA EN LABVIEW
En la figura 8 se muestra una lectura que se hizo del sensor de temperatura LM35. Sí se
escribe el carácter “a” nos arrojara la lectura del sensor LM35.
31
Figura 8: Lectura del sensor LM35.
En la figura 9 se muestra una lectura que se hizo del sensor de temperatura MCP9701. Sí se
escribe el carácter “b” nos arrojara la lectura del sensor MCP9701.
32
En las siguientes imágenes se muestra el diagrama de bloques, que es el programa en sí,
donde se define su funcionalidad. Observando la figura 8, vemos el flujo del programa en
labview siguiendo las interconecciones de los bloques de control, primero se puede observar
que se tiene el bloque VISA Serial el cual configura el puerto serial de la computadora, el
bloque tienen parámetros de entrada como constantes las cuales son el nombre del puerto,
baud rate, bits de datos, paridad, bit de paro, entre otros. Posteriormente tenemos una
condición TRUE/FALSE, si la condición es true, esto es, que se presione el botón OK,
entonces labview escribirá en el puerto serie lo que este en la ventana “write buffer”.
Insertamos un pequeño delay. Por ultimo tenemos otra condición la cual si llega un dato al
puerto serie (el dato seria la información que manda el arduino a través de bluetooth con la
temperatura capturada del sensor), este aparece en la ventana “read buffer”. Al finalizar se
cierra el puerto serie.
33
Figura 11: En esta parte del diagrama de bloques se configura el puerto serial para la lectura
y escritura serial, la velocidad de transmisión de datos, paridad, los bits que se transmitirán
por dato, etc.
34
Figura 12: Parte del diagrama donde se realiza la escritura para mandar el carácter, solo se
enviara este si está habilitado con el botón OK, ya que está en una estructura Falso Verdadero.
Figura 13: Ciclo para que el dato se retarde en el tiempo que determine el usuario.
Figura 14: Diagrama a bloques que muestra la información leída del puerto y el número de
bytes leídos, después cierra la sesión de la comunicación.
35
Referencias
http://www.hetpro-
store.com/index.php?page=shop.product_details&flypage=flypage.tpl&product_id=39&cat
egory_id=17&option=com_virtuemart&Itemid=4&lang=en&vmcchk=1&Itemid=4
Hoja de datos del sensor MCP9701
http://www.hetpro-
store.com/index.php?page=shop.product_details&flypage=flypage.tpl&product_id=43&cat
egory_id=17&option=com_virtuemart&Itemid=4&lang=en
Pagina de Arduino
http://www.arduino.cc/
Pagina de Olimexino
https://www.olimex.com/Products/Duino/AVR/OLIMEXINO-32U4/
Conversor TTL/CMOS-RS232
http://www.hetpro-
store.com/index.php?page=shop.product_details&flypage=flypage.tpl&product_id=82&cat
egory_id=19&option=com_virtuemart&Itemid=4&lang=en
Módulo bluetooth JY-MCU
http://www.hetpro-
store.com/index.php?page=shop.product_details&flypage=flypage.tpl&product_id=180&c
ategory_id=19&option=com_virtuemart&Itemid=4&lang=en
36