SENSORES I
PRÁCTICA No.1
1 SENSADO DE NIVELES DE PRESIÓN USANDO SENSOR PIEZOELÉCTRICO
Objetivo:
Implementar una aplicación que detecte cuándo se ha ejercido un nivel de presión sobre un elemento
piezoeléctrico, dicho efecto debe ser visualizado en un entorno gráfico desarrollado en Labview.
Materiales:
PC con LabView y driver de comunicación serial NI-VISA instalados.
Software Arduino versión 1.0.5
Software (Librerías LIFA_BASE)
Drivers de comunicación LIFA (Labview Interface For Arduino) instalados.
Drivers DAQ-mx instalados (driver para reconocimiento de las tarjetas de adquisición de datos
de la NI).
Placa Arduino UNO o MEGA-cable de comunicación USB o Tarjeta NI-myDAQ
2 Sensores de vibración piezoeléctricos SEN-10293
Buzzer de 5V
Board, Fuente DC
Resistencias, potenciómetros, capacitores varios, cables y caimanes
Pre-informe
1. Consultar el principio de funcionamiento de un sensor piezoeléctrico.
2. Adjuntar algunas imágenes de este tipo de sensores y construir una tabla con las principales
diferencias técnicas entre ellos.
3. Consultar y listar las principales aplicaciones donde se implementan los sensores de presión
piezoeléctricos.
4. Consultar el datasheet del sensor de vibración piezoeléctrico SEN-10293 (TBB-20-6L0), sus
principales usos y aplicaciones.
5. Realice el montaje en board del (os) circuito(s) propuesto(s) y programe los códigos necesarios en
software antes de la práctica. Recuerde que el tiempo en el laboratorio es limitado y lo debe
optimizar realizando los montajes y programas en un horario extra curricular.
Experimento
Antes de comenzar su laboratorio, asegúrese de te er i stalados todos los progra as y driver’s de
comunicación necesarios:
Labview
Librerías LIFA -Labview Interface For Arduino- (bloques de Arduino para Labview)
LIFA_Base
NI VISA drivers (Comunicación Serial) y DAQ-mx drivers.
Arduino versión 1.0.5
Sensor de vibración piezoeléctrico
1. El sensor de la Figura 1a, es un sensor piezoeléctrico usado para detectar vibraciones o golpes, en
términos generales, éste sensor puede captar los cambios en los niveles de presión que se ejercen
sobre él, generando una salida de voltaje proporcional a la excitación generada. Para realizar su
conexión, tenga en cuenta el diagrama de la Figura 2a y 2b si usa Arduino. Si usa la tarjeta myDAQ,
tenga en cuenta la conexión mostrada en la Figura 2c y recuerde que las entradas analógicas de
ésta tarjeta están en modo diferencial, por lo tanto, uno de los pines de conexión de la entrada
analógica escogida debe estar conectada a tierra. En ambos casos considere la conexión de la
resistencia en paralelo mostrada en la Figura 2a.
a) b)
Figura 1. a) Sensor piezoeléctrico SEN-10293. b) Esquemático del funcionamiento del sensor
Conecte el cable negro del sensor a tierra (gnd) y el cable rojo al pin de entrada analógica de voltaje A0
del Arduino o de la NI-myDAQ. Adicionalmente, conecte un resistor de MΩ e paralelo al se sor
piezoeléctrico con el fin de asegurar un nivel de voltaje bajo a la entrada del Arduino cuando el sensor no
sea presionado.
a) c)
b)
Figura 2. Conexiones del sensor piezoeléctrico
2. Con base en el diagrama circuital mostrado en la Figura 2, conecte un diodo LED y un buzzer en
los pines de salida digitales de la placa Arduino UNO, MEGA o myDAQ como se indica en la Figura
3.
Figura 3. Conexión del sensor piezoeléctrico, LED y buzzer al Arduino o a la NI-myDAQ
3. Conecte la Placa Arduino UNO, MEGA o NI-myDAQ al PC e identifique el puerto COM donde se ha
iniciado la comunicación con el dispositivo.
4. Diseñe una interfaz en Labview que permita comunicarse con la placa Arduino UNO, MEGA ó NI-
myDAQ y se pueda visualizar en ella un LED virtual que deberá encenderse y apagarse
sincronizadamente con el diodo LED implementado físicamente cada vez que el usuario ejerza un
nivel de presión sobre el sensor piezoeléctrico. El buzzer debe sonar también cada vez que lo
anterior suceda. Asegúrese de elegir correctamente el puerto de comunicación y la velocidad de
transmisión de datos (Baud Rate).
Para encender el LED virtual en Labview es necesario medir experimentalmente los niveles de
voltaje cada vez que se presiona el sensor, estableciendo umbrales de voltaje para la toma de
decisiones. Para leer el voltaje de entrada por el pin A0, use el bloque de la librería LIFA mostrado
en la Tabla 1 (para el caso en que trabaje con Arduino).
Tabla 1. Estado de los LEDS de la aplicación y bloque de lectura de voltaje de Arduino LIFA
LED Virtual encendido LED Virtual apagado
Voltaje medido 1= Voltaje medido 2=
Si el voltaje de entrada (Vin) en el pin A0 es mayor o igual al voltaje medido 2, entonces se debe
encender el LED, sino, se apagará.
Para encender el LED físico y el Buzzer conectados a la placa Arduino, es necesario configurar los
pines respectivos como salidas digitales. Para esto use los bloques de las librerías LIFA mostrados
a continuación.
Figura 4. Bloques de la librería LIFA
Para una mejor comprensión de lo que se requiere a nivel de hardware, refiérase al siguiente
enlace donde podrá ver un video del funcionamiento del circuito:
[Link]
En la Figura 5, se puede ver un ejemplo de una interfaz diseñada en LabView y su respectivo código
para realizar la operación descrita anteriormente.
Figura 5. Ejemplo de Labview para leer un pin analógico de voltaje y escritura de pines configurados
como salidas digitales usando Arduino.
5. Aplicaciones
5.1 Reloj digital configurable con sensor piezoeléctrico : Monte el circuito de la Figura 6, adicionando
un nuevo sensor piezoeléctrico conectado al pin A1 del Arduino o a la NI-myDAQ.
Figura 6. Conexión de los dos piezoeléctricos a la tarjeta Arduino
Se debe desarrollar una aplicación en software que permita interactuar con los sensores piezoeléctricos
instalados, de modo tal que cada vez que el primer sensor (config) se presione, aumente la cuenta uno a
uno de un contador(1) cíclico que va desde 1 hasta 12 (Horas), es decir el conteo que realiza el contador
cada vez que se presiona el sensor es el siguiente:
1-2-3-4-5-6-7-8-9-10-11-12-1-2-3-4-5-6-7-8-9-10-11-12- ….
Cuando el segundo sensor (enter) sea presionado, el contador(1) se detiene y da paso para que otro
contador(2) sea configurado al presionar nuevamente el primer sensor (config). El nuevo contador(2),
incrementará su cuenta uno a uno desde 0 hasta 59 (minutos) así:
0-1-2-3-4- …… - ….. … ….. 7-58-59-0-1-2-3-4- …… …… ….. …… 7-58-59-0-1-2- ….
Al terminar de configurar el segundo contador, se presiona nuevamente el segundo sensor (enter)
confirmando los valores de los contadores.
Al recibir un tercer toque en el segundo sensor se tendrá configurada la hora deseada, a partir de ese
instante el reloj debe comenzar a correr y a dar la hora cada minuto que pase. Para esta temporización,
se puede usar el bloque de Labview llamado wait ms mostrado en la figura 7.
Figura 7. Bloque de temporización de Labview Wait (ms)
Se aclara que partiendo de la Figura 5, se debe incluir en el código la lectura del segundo sensor a través
del pin A1, además se debe implementar la lógica de los incrementos de los contadores.
Figura 8. Aplicación final desarrollada en Labview
5.2 Desarrolle una aplicación libre donde haga uso de los dos sensores piezoeléctricos, de tal forma
que partiendo de la propiedad que tienen estos sensores para generar un voltaje proporcional a
la presión efectuada sobre ellos, se puedan realizar diferentes acciones con un mismo sensor. Por
ejemplo, si se presiona levemente el sensor 1, éste generará un voltaje 1, lo cual implicará realizar
la acción 1. Si se presiona más fuertemente el mismo sensor 1, se generará un voltaje 2, lo cual
implicará realizar una acción 2.
Como un ejemplo práctico para esta situación, está la incorporación de este tipo de sensores en
las pantallas táctiles de los celulares modernos para aplicaciones de video juegos, donde el nivel
de presión ejercida sobre la pantalla, efectuará una acción diferente y proporcional a dicha
presión en el juego.
6. Conclusiones
Escriba las conclusiones más relevantes de la práctica de laboratorio, indicando hallazgos,
dificultades y logros.
NOTA IMPORTANTE FINAL: Por compatibilidad entre programas, es conveniente tener instalado el
software de arduino versión 1.0.5, el cual se puede descargar en el enlace de abajo. Si esta versión no está
instalada, puede ser que se presenten problemas para correr las librerías LIFA_Base necesarias para
programar el Arduino con Labview y se visualice en pantalla el siguiente error: C:\Program Files
(x86)\Arduino\libraries\RobotIRremote\[Link]: error: 'TKD2' was not declared in this scope.
[Link]