Está en la página 1de 3

PUEBLA, PUEBLA.

A 8 DE SEPTIEMBRE DE 2014 1
Sensores VCNL4000, TMP006, FSR y TouchCap Breakout
Gustavo Padilla Cernas, Bernardo S anchez Torres, Juan Miguel Castro Morales, y Aldo Aguilar Loyola.
Benem erita Universidad Aut onoma de Puebla
Facultad de Ciencias de la Electr onica
Desarrollo de Sistemas basados en Microcontroladores y DSPs
Reporte de pr actica No. 3
I. INTRODUCCI ON
H
Oy en da, los sensores son una gran herramienta para
la industria en general, ya que permiten mediante el uso
de la electr onica el procesamiento e interpretaci on de datos a
gran escala y con gran rapidez.
El objetivo del siguiente reporte es mostrar el fun-
cionamiento de distintos sensores mediante la programaci on
en un microcontrolador. En este caso, utilizamos la tarjeta de
desarrollo ARDUINO UNO y los siguientes sensores:
-38mm square FSR
-AT42QT1010
-TMP006 Breakout
-VCNL 4000
Se hablar a sobre las caractersticas y funci on de cada sensor
as como sus posibles aplicaciones en la industria y la vida
cotidiana, para posteriormente explicar y dar a conocer la
programaci on que fue necesaria para hacer que funcionaran.
A. Sensor FSR 38mm Square
Un FSR es b asicamente un resistor que cambia su valor
resistivo (en ohmios ) dependiendo de cu anto sea prensado.
Estos sensores son de bajo coste y f aciles de usar pero son
raramente precisos. Existe una variaci on entre sensor y sensor
de aproximadamente 10 porciento. As que, b asicamente,
cuando se utiliza un FSR se aspira a obtener solamente rangos
de respuesta. Aunque los FSRs pueden detectar el peso, son
una mala elecci on para detectar exactamente cu antas libras de
peso hay sobre ellos.
Las posibles aplicaciones de este sensor podran ser princi-
palmente en sistemas o mecanismos que requieran una cierta
presi on ejercida sobre alg un punto para accionar algo, aqu es
donde este sensor sera de gran ayuda ya que es muy bueno
para detectar peso pero no para calcularlo.
El c odigo que utilizamos para el sensor es el siguiente:
int fsrAnalogPin = 0;
int LEDpin = 11;
int fsrReading;
int LEDbrightness;
void setup(void)
Serial.begin(9600);
pinMode(LEDpin, OUTPUT);
void loop(void)
fsrReading = analogRead(fsrAnalogPin);
Serial.print(Analog reading = );
Serial.println(fsrReading);
LEDbrightness = map(fsrReading, 0, 1023, 0, 255);
analogWrite(LEDpin, LEDbrightness);
delay(100);
A grandes rasgos, lo m as relevante del c odigo es el comando
Analog read contenido en la variable fsrReading, el cual
nos permite leer la se nal anal ogica proveniente del sensor,
para despu es traspasar dicha lectura de se nal a la variable
LEDbrightness y que nalmente nuestro LED brille conforme
a la presi on que se aplique a la supercie del sensor.
B. Sensor AT42QT1010 Capacitive Touch Breakout
El AT42QT1010 es un bot on de un solo chip sentido
capacitivo dedicado.El chip maneja la supervisi on de un area
conductora para el tacto. Mientras se detecta un toque (un
dedo), el AT42QT1010 mantiene la lnea de salida alta.
De lo contrario, la lnea se mantiene baja. S olo tiene que
proporcionar una fuente de alimentaci on (5V) y tierra para
el AT42QT1010 funcione.
*GND debe estar conectado a la tierra del circuito de
acogida.
*OUT es la salida de la AT42QT1010. ALTA en el tacto,
BAJA contrario.
*VDD es la fuente de alimentaci on para el AT42QT1010 y
necesita ser conectado a un voltaje entre 1.8V - 5V.
*LED controla el funcionamiento del LED a bordo. Por
defecto, est a conectada al pin OUT. Si de-soldar el LED
Enable puente en la parte de atr as, se puede controlar de
forma independiente el LED.
*PAD se encuentra en la esquina superior izquierda y le
permite conectarse a un electrodo externo.
Se us o el siguiente c odigo:
const int TOUCH
B
UTTON
P
IN = 2;
const int LED
P
IN = 13;
int buttonState = 0;
void setup()
pinMode(TOUCH
B
UTTON
P
IN, INPUT);
pinMode(LED
P
IN, OUTPUT);
void loop()
buttonState = digitalRead(TOUCH
B
UTTON
P
IN);
if (buttonState == HIGH)
digitalWrite(LED
P
IN, HIGH);
else
digitalWrite(LED
P
IN, LOW);
PUEBLA, PUEBLA. A 8 DE SEPTIEMBRE DE 2014 2
C. TMP006 Breakout
El TMP006 es un sensor de temperatura que puede detectar
la temperatura de un objeto sin tener que hacer contacto
directo con ella. El sensor tiene una termopila que absorbe
la energa infrarroja del objeto. La termopila se compone de
varios termopares en el que cada serie producir un voltaje
cuando se calienta. La tensi on total se lee y se almacena en
el sensor como un n umero en un registro. Este n umero puede
usarse entonces para calcular la temperatura del objeto.
El sensor puede medir temperaturas entre -40 C y 125 C.
Puede ser alimentado con 3,3 V o 5 V o cualquier otra cosa.
Se puede utilizar con aplicaciones que funcionan con batera,
ya que es de baja potencia y tiene un ralent tpica (en reposo)
corriente de 240 A. Es el deporte un factor de forma muy
peque no. Usted puede interactuar con el chip usando I 2 C y
puede tener hasta ocho de ellas en el mismo I 2 C de autob us.
Ademas este sensor tiene varias aplicaciones como puede ser
notebook case temperaturecomfort index measurementserver
farm power management. Estas aplicaciones usan al sensor
mas que nada para dar informaci on de las temperaturas de
ciertos lugares o materiales que estan en un cambio brusco de
temperaturas y que puedan ser controladas.
Explicaci on del c odigo:
En el principio, tenemos dos variables globales. Una alma-
cena el I 2 C de direcci on del sensor, y las otras tiendas de la
cantidad de veces que nos gustara que el sensor se muestra
por la temperatura de lectura / c alculo. Aqu est an:
uint8
t
sensor1 = 0x40; //direccinI2CdeTMP006,
puede ser 0x40-0x47 muestras uint16
t
=
TMP006
C
FG
8
SAMPLE;
// de muestras por la lectura, puede ser 1/2/4/8/16
Aqu inicializamos salida serial para que podamos mostrar
nuestras lecturas. Tambi en pedimos una funci on de congu-
raci on para nuestro sensor TMP006. En el se establecen unos
valores predeterminados para nosotros para que nos vayamos
y tambi en le dice al sensor cu antas muestras por lectura nos
quieren. Si usted est a usando m as de un sensor, que tendr a
que llamar a esta funci on para cada uno con la direccin I2C
apropiado.
void setup ()
De serie. comenzar ( 9600 );
. Serial println ( TMP006 Ejemplo );
cong
T
MP006(sensor1, muestras);
La primera nos da la temperatura del objeto en frente
del sensor, y la segunda nos da la temperatura del propio
sensor. Ambos son entonces enviados a trav es de serie de su
computadora y se puede ver con el Serial Monitor.
void loop ()
otar object
t
emp = readObjTempC(sensor1);
. Serie de impresi on ( Temperatura del objeto: );
Serial. impresi on (object
t
emp); .Serialprintln( C);
otar sensor
t
emp = readDieTempC(sensor1);
. Serie de impresin ( Sensor de temperatura: );
Serial. impresin (sensor
t
emp); .Serialprintln( C);
retraso ( 2000 ); // retraso de 1 segundo por cada 4 muestras
por lectura
D. Sensor VCNL4000
El VCNL4000 puede detectar la proximidad a un objeto
que usando infrarrojo dentro de un rango de aproximadamente
20cm. Los datos de proximidad as como datos de nivel
ambientales ligeros pueden ser recogidos por medio de una
interfaz I2C. Esta tabla de desglose da el acceso a los pines I2C
, el pin de Vcc, GND y el pin IR + (la fuente de energa para
el emisor empotrado IR). Simplemente es necesario alimentar
el sensor con 3.3V y 2.5-5V para el emisor infrarrojo y el
sensor ser a capaz de detectar que tan lejos est a de un objeto
dentro de un rango de 20cm.
E. RESULTADOS
1) Sensor FSR
Una vez cargado el programa en el ARDUINO, el LED
permanece apagado cuando no hay contacto alguno con la
supercie del sensor, esto se debe a que cuando no hay
presi on, la resistencia del sensor tiende a innito. Una vez
que comenzamos a hacer un poco de presi on, el LED va
prendiendo cada vez m as, si continuamos haciendo presi on
de manera creciente, el LED brillar a totalmente, lo que quiere
decir que el sensor est a dejando pasar la corriente necesaria
para obtener el voltaje con el que el LED se enciende por
completo. ste fen omeno se debe a la ley de Ohm, que arma
que existe una relaci on inversa entre corriente y resistencia.
2) Sensor AT42QT1010 Capacitive Touch Breakout
Como resultado, al conectar el sensor al arduino y cargarle
el programa, lo que ocurra era que al momento de tocar el
panel del sensor, el LED encenda, esto debido a que con un
solo toque, el sensor lo detecta y enva un pulso de voltaje
hacia el LED lo cual hace que encienda. Cabe mencionar que
en este caso, es necesario tocar continuamente el sensor para
que el LED permanezca encendido, en cuanto se deja de hacer
contacto con el sensor, el LED se apaga.
3) Sensor TMP006 Breakout
Despu es de conectar debidamente el sensor con los puertos
del arduino, procedimos a abrir el monitor serial del IDE
de desarrollo de arduino, el cual nos mostraba los registros
de temperatura. Tuvimos la oportunidad de probar el sensor
con diferentes objetos tanto fros como calientes para com-
probar que efectivamente funcionaba. Lamentablemente, no
cont abamos con objetos lo sucientemente fros o calientes
para realmente probar los lmites de temperatura que el sensor
puede detectar.
4) Sensor VCNL4000
El sensor de proximidad VCNL4000, al conectarlo al ar-
duino , nos mostraba mediante el monitor serial una serie de
registros, cada uno de estos con 2 elementos: Uno era la dis-
tancia a la que se encontraba el objeto que detectaba y el otro
era un medidor de luz ambiental. A menor distancia el objeto
del sensor, la variable de luz ambiental aumentaba y a mayor
distancia, dicha variable disminua. Realmente consideramos
que este sensor puede ser muy util para medir distancias de
una manera muy precisa y puede tener muchas aplicaciones en
la industria automotriz principalmente, pudi endose usar en los
sensores de proximidad que forman parte del sistema auxiliar
PUEBLA, PUEBLA. A 8 DE SEPTIEMBRE DE 2014 3
de estacionado mediante avisos sonoros y visuales(c amara de
reversa).
II. CONCLUSI ON
Tras haber realizado la pr actica, podemos concluir que estos
sensores que probamos pueden tener una innidad de aplica-
ciones para la industria en general, pero m as especcamente
en la industria automotriz, ya que cada vez los modelos van
requiriendo m as sensores como estos para ofrecer confort y
seguridad. Cabe resaltar que la plataforma ARDUINO nos da
una muy buena base para permitirnos probar estos sensores
con c odigos realmente sencillos, esto es muy bueno ya que a
partir de pr acticas como estas se puede avanzar hacia algunas
otras m as complejas donde ya se involucren por ejemplo
robots o sistemas complejos que requieran de estos sensores
funcionando ya sea individualmente o colectivamente con
otros.
REFERENCES
[1] http://www.adafruit.com/products/1075 https://learn.sparkfun.com/tutorials/at42qt1010-
capacitive-touch-breakout-hookup-guide https://www.sparkfun.com/products/10901
http://www.adafruit.com/products/1296

También podría gustarte