You are on page 1of 9

16/11/2016

SENSORESENENTRADASANALGICASDEARDUINO|DIYMakers

(http://diymakers.es/)

SENSORES EN ENTRADAS ANALGICAS DE


ARDUINO

(10/08/14)

En este tutorial explicaremos paso a paso como conectar sensores analgicos en las entradas
analgicas de Arduino y a como calcular la variable de medida del sensor.

Material
-Arduino Uno Rev 3
-Sensor analgico cualquiera (temperatura, gas propano, ampermetro, acelermetro)

http://diymakers.es/sensoresenentradasanalogicasdearduino/

1/9

16/11/2016

SENSORESENENTRADASANALGICASDEARDUINO|DIYMakers

Sensores analgicos
Los sensores analgicos normalmente se componen de tres pins: positivo, masa y salida de voltaje
analgica. Esta salida de voltaje es directamente proporcional a la variable de medida del sensor (lineal).

Estas salidas de voltaje analgico se pueden conectar a las entradas analgicas de Arduino para poder
medir la variable del sensor.

Entradas analgicas de Arduino


Las placas Arduino disponen de varias entradas analgicas. En el caso del Arduino Uno Rev 3, tiene 6
pins analgicos. Estos pins aceptan un voltaje mximo de 5V. La mayora de sensores analgicos se
pueden alimentar a 5V por lo que su voltaje mximo de salida ser este. En la siguiente imagen se
puede observar cmo se conecta un sensor analgico en Arduino:

http://diymakers.es/sensoresenentradasanalogicasdearduino/

2/9

16/11/2016

SENSORESENENTRADASANALGICASDEARDUINO|DIYMakers

Para poder obtener la variable del sensor en el cdigo Arduino, se deben seguir 3 pasos:
1. ADC del voltaje analgico procedente del sensor.
2. Obtener el voltaje del sensor
3. Obtener la variable del sensor

1 ADC (Analog-to-Digital Converter)


Cuando entra un voltaje analgico en un pin analgico de Arduino, este hace la conversin de analgico
a digital (ADC). Quiere decir que convierte el voltaje de entrada 0-5V en valores enteros comprendidos
entre 0-1023. Para entender este valor, hay que saber que las entradas analgicas de Arduino son de 10
bits. Tal como sabemos, un bit puede ser 1 o 0 (dual). Con un nombre n de bits se pueden representar
hasta 2nvalores digitales. En el caso de las entradas analgicas de Arduino: 210 = 1024 valores (de 0 a
1023)

http://diymakers.es/sensoresenentradasanalogicasdearduino/

3/9

16/11/2016

SENSORESENENTRADASANALGICASDEARDUINO|DIYMakers

2 Obtener el voltaje del sensor


El siguiente paso es convertir estos valores nuevamente a voltaje en el cdigo de Arduino. Para esto se
tiene que multiplicar el valor ledo del pin analgico por 5 (que son los 5V mximo que da el sensor) y
dividirlo entre 1023 (que es el valor ms grande dentro del rango de 10 bits). La frmula sera la
siguiente:

De este modo, tenemos relacionada el voltaje de salida del sensor con los valores digitales de Arduino.

http://diymakers.es/sensoresenentradasanalogicasdearduino/

4/9

16/11/2016

SENSORESENENTRADASANALGICASDEARDUINO|DIYMakers

3 Obtener la variable del sensor


El ltimo paso es obtener la variable de medida del sensor. Para calcular esta, tenemos que saber la
relacin voltaje/variable del sensor. Esta informacin la encontraremos en el datasheet del sensor.
Si por ejemplo usamos el sensor de temperatura LM35, el datasheet nos informa que en su salida da
10mV por 1.

A travs de esta informacin, tenemos que encontrar la relacin de 1V ya que la escala que usamos con
Arduino es de voltio en voltio. Como es una conversin lineal, usando una simple regla de tres podemos
calcular esta relacin. En este caso el resultado es que 1V equivale a 100C.

http://diymakers.es/sensoresenentradasanalogicasdearduino/

5/9

16/11/2016

SENSORESENENTRADASANALGICASDEARDUINO|DIYMakers

Con esto, tenemos que multiplicar el voltaje obtenido en el paso anterior por el valor de la relacin
voltaje-variable (en este caso 100) y obtendremos la variable de medida del sensor.

Aunque para este ejemplo hemos usado el sensor de temperatura LM35, estos 3 pasos sirven para
cualquier sensor analgico que conectemos al Arduino. Simplemente cambiar la relacin
Voltaje/Variable del ltimo paso.

Cdigo Arduino
Ahora haremos el cdigo de Arduino haciendo cada paso descrito anteriormente usando para este
ejemplo el sensor LM35, aunque este cdigo puede servir tambin como plantilla para conectar
cualquier sensor analgico.

/*

http://diymakers.es/sensoresenentradasanalogicasdearduino/

6/9

16/11/2016

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

SENSORESENENTRADASANALGICASDEARDUINO|DIYMakers

/*
www.diymakers.es
byA.Garca
10/08/14
SensoresenentradasanalgicasdeArduino
Tutorialen:http://diymakers.es/sensoresenentradasanalogicasdearduino/(http://diyma
*/

#definepin_sensorA5//Pindelsensor
floatadc;//Variableparaobtenerlosvaloresenel1paso
floatvoltaje;//Variableparaobtenerelvoltajeenel2paso
floatvariable;//Variablefinaldelsensorenel3paso
floatrel_voltaje_variable=100.00;//RelacinVoltaje/Variabledelsensor(enelcasodel

voidsetup()
{
Serial.begin(9600);
}

voidloop()
{
//Paso1,conversinADCdelalecturadelpinanalgico
adc=analogRead(pin_sensor);
Serial.println(adc);

//Paso2,obtenerelvoltaje
voltaje=adc*5/1023;
Serial.println(voltaje);

//Paso3,obtenerlavariabledemedidadelsensor
variable=voltaje*rel_voltaje_variable;
Serial.println(variable);

delay(1000);
}

Sensores con mediciones negativas


Hay sensores que pueden medir variables con valor negativo. Por ejemplo tenemos un sensor que su
gr ca voltaje/variable es la siguiente:

http://diymakers.es/sensoresenentradasanalogicasdearduino/

7/9

16/11/2016

SENSORESENENTRADASANALGICASDEARDUINO|DIYMakers

Para poder medir estos valores negativos con Arduino, hay que localizar el o set. El o set se puede
apreciar en la gr ca, es el punto que la lnea cruza el eje vertical (voltaje). En nuestro sensor, el o set
es 1V. El o set lo tenemos que restarlo con el voltaje en el ltimo paso.

/*

http://diymakers.es/sensoresenentradasanalogicasdearduino/

8/9

16/11/2016

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

SENSORESENENTRADASANALGICASDEARDUINO|DIYMakers

/*
www.diymakers.es
byA.Garca
10/08/14
SensoresenentradasanalgicasdeArduino
Tutorialen:http://diymakers.es/sensoresenentradasanalogicasdearduino/(http://diyma
*/

#definepin_sensorA5//Pindelsensor
floatadc;//Variableparaobtenerlosvaloresenel1paso
floatvoltaje;//Variableparaobtenerelvoltajeenel2paso
floatvariable;//Variablefinaldelsensorenel3paso
floatrel_voltaje_variable=40.00;//RelacinVoltaje/Variabledelsensor
floatoffset=1.00;//Offset

voidsetup()
{
Serial.begin(9600);
}

voidloop()
{
//Paso1,conversinADCdelalecturadelpinanalgico
adc=analogRead(pin_sensor);
Serial.println(adc);

//Paso2,obtenerelvoltaje
voltaje=adc*5/1023;
Serial.println(voltaje);

//Paso3,obtenerlavariabledemedidadelsensor
variable=((voltajeoffset)*rel_voltaje_variable);
Serial.println(variable);

delay(1000);
}

Fijaos que hemos tenido que cambiar tambin el valor de la relacin voltaje/variable. En este caso
tenemos que 1V equivale a 40 (la variable del sensor). De esta manera, en este ejemplo el Arduino
puede medir el rango entre -40 a 160. Esto lo podemos aplicar a cualquier sensor que su gr ca
voltaje/variable mida valores negativos.
Hasta aqu este tutorial dedicado a conectar sensores analgicos a las entradas analgicas de Arduino,
que nos servir para entender mejor los pasos que hay que seguir para obtener los valores de los
sensores para nuestros proyectos.

(http://www.facebook.com/sharer.php?u=http://diymakers.es/sensores-en-entradas-analogicas-dearduino/)0

(http://twitter.com/share?url=http://diymakers.es/sensores-en-entradas-analogicas-de-

arduino/&text=SENSORES+EN+ENTRADAS+ANAL%C3%93GICAS+DE+ARDUINO+)

http://diymakers.es/sensoresenentradasanalogicasdearduino/

9/9

You might also like