Vous êtes sur la page 1sur 36

Ingeniería Electrónica y Telecomunicaciones

“Detector de voltaje con bluetooth”

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

– Arduino Uno (Arduino Leonardo, Olimexino, etc.)

– Convertidor TTL/CMOS-RS232 (o el MAX232)

– Sensor de Temperatura LM35

– Sensor de Temperatura MCP9701

– Módulo de Bluetooth JY-MCU

– Bluetooth USB para la computadora (En caso de que la PC no tenga Bluetooth)

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

Bluetooth es una especificación industrial para Redes Inalámbricas de Área Personal


(WPAN) que posibilita la transmisión de datos entre diferentes dispositivos mediante un
enlace por radiofrecuencia en la banda ISM de los 2,4 GHz. Los principales objetivos que se
pretenden conseguir con esta norma son:

– Facilitar las comunicaciones entre equipos móviles y fijos.

– Eliminar los cables y conectores entre éstos.

– Ofrecer la posibilidad de crear pequeñas redes inalámbricas y facilitar la sincronización de


datos entre equipos personales.

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.

Se denomina Bluetooth al protocolo de comunicaciones diseñado especialmente para


dispositivos de bajo consumo, que requieren corto alcance de emisión y basados en
transceptores de bajo costo.

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.

En la mayoría de los casos, la cobertura efectiva de un dispositivo de clase 2 se extiende


cuando se conecta a un transceptor de clase 1. Esto es así gracias a la mayor sensibilidad y
potencia de transmisión del dispositivo de clase 1, es decir, la mayor potencia de transmisión
del dispositivo de clase 1 permite que la señal llegue con energía suficiente hasta el de clase
2. Por otra parte la mayor sensibilidad del dispositivo de clase 1 permite recibir la señal del
otro pese a ser más débil.

Los dispositivos con Bluetooth también pueden clasificarse según su ancho de banda:

Figura 4: Tabla de ancho de banda del bluetooth.

MÓDULO DE BLUETOOTH JY-MCU

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

 Módulo inalámbrico bluetooth TTL controlado por RS232.


 De fácil uso y completamente encapsulado.
 Antena impresa en el PCB.
 Chipset: CSR.
 Versión de bluetooth: V2.0.
 Voltaje de operación: 3.3V.
 Corriente de operación: 20 a 30mA.
 Baud rates definidos por el usuario: 1200, 2400, 4800, 9600, 19200, 38400, 57600 y 115200.
 Default 9600, N, 8, 1.
 Password: 1234
 Ideal para proyectos de robótica, sensores, instrumentación, transmisión de datos, etc.

5
ARDUINO

Arduino es una plataforma de electrónica abierta para la creación de prototipos basada en


software y hardware flexibles y fáciles de usar. Se creó para electrónicos, artistas,
diseñadores, aficionados y cualquiera interesado en crear entornos u objetos interactivos.

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.

SENSOR DE TEMPERATURA MPC9701

EL MPC9701 es una familia de termistores activos lineales. Es un sensor análogo de


temperatura que convierte la temperatura en un voltaje análogo. Es de bajo costo, bajo
consumo con una precisión de ±4°C desde 0°C a +70°C con un consumo típico de 6 µA.

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

– Discos Duros y periféricos de la PC

– Sistemas de entretenimiento

– Aplicaciones para el hogar

– Equipos de oficina

– Paquetes de baterías y equipos portables

– Propósito general para el monitoreo de temperatura

ESPECIFICACIONES

– Tamaño reducido

– Encapsulado: TO-92-3

– Rango de medición: -40°C to +125°C

– Precisión: ±4°C (max.), 0°C to +70°C

– Optimizado para conversores ADC 19.5 mV/°C

– Amplio voltaje de operación: VDD = 3.1V to 5.5V

– Bajo corriente: 6 µA

– Optimizado para trabajar cargas capacitivas grandes.

7
Figura 5: Grafica del voltaje de salida contra la temperatura para el sensor de temperatura
MCP7901.

SENSOR DE TEMPERATURA LM35

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

– Esta calibrado directamente en grados Celsius.

– La tensión de salida es proporcional a la temperatura.

– Tiene una precisión garantizada de 0.5°C a 25°C.

– Opera entre 4 y 30 volts de alimentación.

– Baja impedancia de salida.

– Baja corriente de alimentación (60uA).

– Bajo costo.

8
Figura 6: Grafica de la Temperatura vs Voltaje del sensor de temperatura LM35.

LABVIEW

LabVIEW es una herramienta gráfica para pruebas, control y diseño mediante la


programación. El lenguaje que usa se llama lenguaje G, donde la G simboliza que es lenguaje
Gráfico.

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.

Los programas desarrollados con LabVIEW se llaman Instrumentos Virtuales, o VIs, y su


origen provenía del control de instrumentos, aunque hoy en día se ha expandido ampliamente
no sólo al control de todo tipo de electrónica (Instrumentación electrónica) sino también a su
programación embebida. Un lema tradicional de LabVIEW es: “La potencia está en el
Software”, que con la aparición de los sistemas multinúcleo se ha hecho aún más potente.
Entre sus objetivos están el reducir el tiempo de desarrollo de aplicaciones de todo tipo (no
sólo en ámbitos de Pruebas, Control y Diseño) y el permitir la entrada a la informática a
profesionales de cualquier otro campo. LabVIEW consigue combinarse con todo tipo de
software y hardware, tanto del propio fabricante (tarjetas de adquisición de datos, PAC,
Visión, instrumentos y otro Hardware) como de otros fabricantes.

Principales usos

 Adquisición de datos y análisis matemático.


 Comunicación y control de instrumentos de cualquier fabricante.
 Automatización industrial y programación de PACs (Controlador de Automatización
Programable).
 Diseño de controladores: simulación, prototipaje rápido, hardware-en-el-ciclo (HIL) y
validación.
 Diseño embebido de micros y chips.
 Control y supervisión de procesos.
 Visión artificial y control de movimiento.
 Robótica.

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.

Para la comunicación entre la


computadora y el Bluetooth y
el Arduino primero hay
que configurar el Bluetooth
como puertos COM (serie) y
hacer el emparejamiento
como si se fuera hacer una
transferencia de datos entre
un celular y la computadora.

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.

Figura 7: Propiedades del dispositivo bluetooth en el administrador de dispositivos donde se


muestra los puertos COM asignados al mismo.

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:

 Baude rate: 9600N81


 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

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

Como se mencionó anteriormente el LabView es una herramienta gráfica para pruebas,


control, etc. Se optó por utilizar este software debido su facilidad en establecer la
comunicación con el microcontrolador de modo serial, para el procesamiento y una rápida
presentación de datos obtenidos de los sensores.

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.

Figura 9: Lectura del sensor MCP9701.

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.

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

Comunicacion Arduino y Labview


por Bluetooth
Administrador abril 15, 2014 Comunicación, Proyectos de desarrollo 20 comentarios

COMUNICACION ARDUINO Y LABVIEW


POR BLUETOOTH
Ejemplo para el módulo bluetooth JY-MCU HeTPro.

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

– Arduino Uno (Arduino Leonardo, Olimexino, etc.)

– Convertidor TTL/CMOS-RS232 (o el MAX232)

– Sensor de Temperatura LM35

– Sensor de Temperatura MCP9701

– Módulo de Bluetooth JY-MCU

– Bluetooth USB para la computadora (En caso de que la PC no tenga Bluetooth)

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

Bluetooth es una especificación industrial para Redes Inalámbricas de Área Personal


(WPAN) que posibilita la transmisión de datos entre diferentes dispositivos mediante un
enlace por radiofrecuencia en la banda ISM de los 2,4 GHz. Los principales objetivos que se
pretenden conseguir con esta norma son:

– Facilitar las comunicaciones entre equipos móviles y fijos.

– Eliminar los cables y conectores entre éstos.

– Ofrecer la posibilidad de crear pequeñas redes inalámbricas y facilitar la sincronización de


datos entre equipos personales.

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.

Se denomina Bluetooth al protocolo de comunicaciones diseñado especialmente para


dispositivos de bajo consumo, que requieren corto alcance de emisión y basados en
transceptores de bajo costo.

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.

Figura 3: Tabla de potencias del bluetooth.

En la mayoría de los casos, la cobertura efectiva de un dispositivo de clase 2 se extiende


cuando se conecta a un transceptor de clase 1. Esto es así gracias a la mayor sensibilidad y
potencia de transmisión del dispositivo de clase 1, es decir, la mayor potencia de transmisión
del dispositivo de clase 1 permite que la señal llegue con energía suficiente hasta el de clase
2. Por otra parte la mayor sensibilidad del dispositivo de clase 1 permite recibir la señal del
otro pese a ser más débil.

Los dispositivos con Bluetooth también pueden clasificarse según su ancho de banda:

22
Figura 4: Tabla de ancho de banda del bluetooth.

MÓDULO DE BLUETOOTH JY-MCU

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

 Módulo inalámbrico bluetooth TTL controlado por RS232.


 De fácil uso y completamente encapsulado.
 Antena impresa en el PCB.
 Chipset: CSR.
 Versión de bluetooth: V2.0.
 Voltaje de operación: 3.3V.
 Corriente de operación: 20 a 30mA.
 Baud rates definidos por el usuario: 1200, 2400, 4800, 9600, 19200, 38400, 57600 y 115200.
 Default 9600, N, 8, 1.
 Password: 1234
 Ideal para proyectos de robótica, sensores, instrumentación, transmisión de datos, etc.
ARDUINO

Arduino es una plataforma de electrónica abierta para la creación de prototipos basada en


software y hardware flexibles y fáciles de usar. Se creó para electrónicos, artistas,
diseñadores, aficionados y cualquiera interesado en crear entornos u objetos interactivos.

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.

SENSOR DE TEMPERATURA MPC9701

EL MPC9701 es una familia de termistores activos lineales. Es un sensor análogo de


temperatura que convierte la temperatura en un voltaje análogo. Es de bajo costo, bajo
consumo con una precisión de ±4°C desde 0°C a +70°C con un consumo típico de 6 µA.

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

– Discos Duros y periféricos de la PC

– Sistemas de entretenimiento

– Aplicaciones para el hogar

– Equipos de oficina

– Paquetes de baterías y equipos portables

– Propósito general para el monitoreo de temperatura

ESPECIFICACIONES

– Tamaño reducido

– Encapsulado: TO-92-3

– Rango de medición: -40°C to +125°C

– Precisión: ±4°C (max.), 0°C to +70°C

– Optimizado para conversores ADC 19.5 mV/°C

– Amplio voltaje de operación: VDD = 3.1V to 5.5V

– 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.

SENSOR DE TEMPERATURA LM35

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

– Esta calibrado directamente en grados Celsius.

– La tensión de salida es proporcional a la temperatura.

– Tiene una precisión garantizada de 0.5°C a 25°C.

– Opera entre 4 y 30 volts de alimentación.

25
– Baja impedancia de salida.

– Baja corriente de alimentación (60uA).

– Bajo costo.

Figura 6: Grafica de la Temperatura vs Voltaje del sensor de temperatura LM35.

LABVIEW

LabVIEW es una herramienta gráfica para pruebas, control y diseño mediante la


programación. El lenguaje que usa se llama lenguaje G, donde la G simboliza que es lenguaje
Gráfico.

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.

Los programas desarrollados con LabVIEW se llaman Instrumentos Virtuales, o VIs, y su


origen provenía del control de instrumentos, aunque hoy en día se ha expandido ampliamente
no sólo al control de todo tipo de electrónica (Instrumentación electrónica) sino también a su
programación embebida. Un lema tradicional de LabVIEW es: “La potencia está en el
Software”, que con la aparición de los sistemas multinúcleo se ha hecho aún más potente.
Entre sus objetivos están el reducir el tiempo de desarrollo de aplicaciones de todo tipo (no
sólo en ámbitos de Pruebas, Control y Diseño) y el permitir la entrada a la informática a
profesionales de cualquier otro campo. LabVIEW consigue combinarse con todo tipo de
software y hardware, tanto del propio fabricante (tarjetas de adquisición de datos, PAC,
Visión, instrumentos y otro Hardware) como de otros fabricantes.
26
Principales usos

 Adquisición de datos y análisis matemático.


 Comunicación y control de instrumentos de cualquier fabricante.
 Automatización industrial y programación de PACs (Controlador de Automatización
Programable).
 Diseño de controladores: simulación, prototipaje rápido, hardware-en-el-ciclo (HIL) y
validación.
 Diseño embebido de micros y chips.
 Control y supervisión de procesos.
 Visión artificial y control de movimiento.
 Robótica.

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.

Para la comunicación entre la computadora y el Bluetooth y el Arduino primero hay


que configurar el Bluetooth como puertos COM (serie) y hacer el emparejamiento como si
se fuera hacer una transferencia de datos entre un celular y la computadora.

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.

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:

 Baude rate: 9600N81

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

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

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()

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

30
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

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

view rawbluetoothLabview1.ino hosted with ❤ by GitHub

PROGRAMA EN LABVIEW

Como se mencionó anteriormente el LabView es una herramienta gráfica para pruebas,


control, etc. Se optó por utilizar este software debido su facilidad en establecer la
comunicación con el microcontrolador de modo serial, para el procesamiento y una rápida
presentación de datos obtenidos de los sensores.

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.

Figura 9: 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.

Figura 10: Diagrama a bloques en LabView.

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

Hojas de datos del sensor LM35

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

Vous aimerez peut-être aussi