0% encontró este documento útil (0 votos)
49 vistas19 páginas

Sensores Analógicos en Arduino UNO

Este documento resume la tercera semana de un curso de robótica que enseña sobre sensores analógicos en Arduino. Explica qué son las señales analógicas y cómo Arduino puede leerlas usando puertos analógicos de 10 bits. También cubre el uso de sensores analógicos como LM35 y TMP36 para medir temperatura, y el sensor DHT11 para medir temperatura y humedad de forma digital.

Cargado por

Leandro Raimondi
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
49 vistas19 páginas

Sensores Analógicos en Arduino UNO

Este documento resume la tercera semana de un curso de robótica que enseña sobre sensores analógicos en Arduino. Explica qué son las señales analógicas y cómo Arduino puede leerlas usando puertos analógicos de 10 bits. También cubre el uso de sensores analógicos como LM35 y TMP36 para medir temperatura, y el sensor DHT11 para medir temperatura y humedad de forma digital.

Cargado por

Leandro Raimondi
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

SEMANA 2

Curso orientado al desarrollo de dispositivos


robóticos a través de la programación por
código en ARDUINO UNO
Robótica Avanzada
Curso orientado al desarrollo de dispositivos robóticos a
través de la programación por código en ARDUINO
UNO
Semana 3:
Sensores Analógicos
¿Qué son las señales analógicas?

● Una señal analógica es una señal generada por algún tipo de fenómeno físico y se
caracteriza por ser matemáticamente continua. Algunos ejemplos más comunes
pueden ser la luz, el sonido o la misma energía.
● En nuestro caso la magnitud que nos interesa es la diferencia de potencial
eléctrico también denominado voltaje.
● ARDUINO UNO cuenta con seis puertos que nos permiten leer señales analógicas
dentro del rango de 0 a 5 Volts, nomenclados como A0, A1, A2, etc.
● Esto lo consigue gracias a que dentro de su sistema posee conversores analógico-
digitales (también denominados A/D) con una resolución de 10 bits.
● Por lo tanto, las señales analógicas que midamos serán expresadas en un rango de
1024 valores discretos.
Ejemplo: Temperatura ambiente

Analógico Digital

1024
puntos

Más adelante en este encuentro veremos dos sensores que nos permitirán adquirir fácilmente la
temperatura del ambiente.
Analog Read
● Los pines analógicos funcionan únicamente como
puertos de entrada, por lo que no hará falta
configurarlos en el void setup.
● Para realizar la lectura de una variable analógica
utilizaremos la función analogRead() y
guardaremos el valor devuelto en una variable.
● Luego aplicaremos una condición para que en
función del valor leído, se imprima un mensaje en
Analog Ins de
10 bits el monitor Serial.
● Recordando que al tener 10 bits, el rango de
representación del voltaje medido en la entrada
puede variar entre 0 y 1023.
Analog Read
Analog Read - Tensión en un potenciómetro
Analog Read - Circuito con LDR
Mapeo
● Como ya hemos visto, el valor de las señales analógicas se expresan en Arduino
en un rango de 0 a 1023.
● Dicho rango puede resultar poco práctico para la interpretación de un fenómeno
físico y obstaculizarnos a la hora de realizar un código más complejo.
● Por suerte existe la función map() que nos permitirá pasar del rango original a otro
rango distinto más útil si le introducimos los parámetros necesarios.
● En este caso vemos cómo mapear una señal de 0 a 5 V:

ValorMapeado = map(variable, min_inicial, max_inicial, min_final, max_final)


;
ValorMapeado = map(Valor, 0, 1023, 0, 5) ;
Mapeo

ValorMapeado = map(Valor, 0, 1023, 0, 5) ;

● El problema con este ejemplo es que la función map() devuelve un número entero,
por lo que en el monitor solo se observarán valores redondeados de 0 a 5,
dejando de lado los valores intermedios que se podrían expresar en decimales.
● Para eso es que existe otra función similar denominada fmap() que nos permitirá,
ahora sí, mapear de un rango de valores a otro con decimales.
● Un detalle importante es que ahora la variable para guardar el valor mapeado
deberá ser del tipo float, que permite codificar números con coma.
Mapeo

● Para que fmap() funcione correctamente debemos incluir fuera de las estructuras
void el siguiente código tal cual está escrito:

● Y ya podremos utilizar la función fmap() correctamente.


● Un detalle no menor, es que las variables del tipo float son más pesadas
(contienen más bits) por lo que, a menos que sea realmente necesario, no se
recomienda utilizar mucho esta función ya que podría reducir la velocidad de
nuestro algoritmo y por tanto de nuestro sistema.
Mapeo - Ejemplo con fmap
Sensores Analógicos
● Ahora que ya hemos visto como trabaja Arduino con las señales analógicas y conocemos el
mapeo, es momento de explorar las posibilidades de los sensores analógicos.

TMP36 DHT11
Sensores Analógicos: Datasheet
● Todos los sensores y componentes electrónicos tienen asociada una hoja de datos ofrecida por
su fabricante denominada Datasheet. En ésta, podremos encontrar las especificaciones técnicas y
la información necesaria para poder conectar y entender cómo se comporta el componente.
Sensores Analógicos: LM35 y TMP36
● Los dispositivos LM35 y TMP36, son sensores analógicos que permiten medir la temperatura
ambiente con un factor de escala lineal de 10mV/ºC, es decir que por cada grado Celsius
observaremos una variación de 10mV en la señal entregada por el sensor.
● Poseen tres pines para su conexión: VCC (alimentación), Out (Señal entregada por el sensor) y
GND (tierra).
● Sus rangos de tensión de trabajo son diferentes, pero ambos funcionan perfectamente con
nuestra alimentación de 5V de Arduino.
● Existen otros modelos de sensores, pero debido a su gran relación de precio calidad éstos son los
mejores para la educación y el aprendizaje.
Sensores Analógicos: LM35 y TMP36
Analog Read - Temperatura ambiente
Sensor DHT 11
● Este sensor nos permite medir tanto temperatura como humedad del ambiente. Éstas señales
analógicas son leídas directamente por un circuito conversor integrado al dispositivo.
● Esto nos permite recibir en el arduino la información digital de temperatura y humedad de forma
serializada. En otras palabras, el sensor nos envía alternadamente datos de humedad y
temperatura para que Arduino lea directamente a través de un puerto digital.
● Su tensión de trabajo es de 3,5 a 5 V.
● Su rango de
● Se trata de un dispositivo excelente para realizar una estación meteorológica.

También podría gustarte