CURSO:
MICROCONTROLADORES Y MICROPROCESADORES
CICLO:
VII SEMESTRE
ALUMNO:
GRUPO:
08
AREQUIPA-PERU
2018
Entrada y Salida Analógica
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 tiene una variación de 10mV por cada grado Celsius. Sus
características más relevantes son: Está 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. Baja impedancia
de salida. Baja corriente de alimentación (60 μA). Bajo coste. El LM35 no requiere de circuitos
adicionales para calibrarlo externamente. La baja impedancia de salida, su salida lineal y su precisa
calibración hace posible que este integrado sea instalado fácilmente en un circuito de control. Debido a su
baja corriente de alimentación se produce un efecto de auto calentamiento muy reducido. Se encuentra en
diferentes tipos de encapsulado, el más común es el TO-92, utilizado por transistores de baja potencia.
Significa Liquid Crystal Display o Pantalla de Cristal Líquido. Es una tecnología utilizada en monitores de
computadoras, televisores, cámaras digitales y otros dispositivos electrónicos, que permite una pantalla más
delgada y plana, además de Lab. de Microcontroladores y Microprocesadores (GRUPOS 1,2) 2018 una
excelente definición y más ahorro de energía con respecto a los viejos monitores de tubos de rayos catódicos
(CRT). Básicamente estas pantallas están integradas por diminutos puntos. Poseen dos capas de material
polarizante. Entre las capas se introduce una solución de cristal líquido. Luego una señal eléctrica hace que
los cristales se alineen de tal manera que impidan o no el paso de la luz. Cuando la pantalla se pone negra,
todos sus cristales están alineados para que no pase luz. Los LCD tienen una vida promedio de entre 50 y
60 mil horas de uso. Arduino nos facilita enormemente la comunicación con los Displays mediante la
librería “LiquidCrystal” la cual está optimizada de tal manera que nos permite comunicarnos por tan solo
4 pines de salida digital, con cualquier Display compatible con el Driver Hitachi HD44780. Podemos
encontrar en el mercado muchos modelos de Display compatibles con este Driver.
Procedimiento
Midiendo la Temperatura
1. Armar el circuito
2. Escriba y Explique el programa para leer el valor analógico que esta ingresado por el Pin
A0 y muéstrelo por el monitor serial
void loop()
{
int value = analogRead(sensorPin);
temp = (analogRead(0)*(5/1024.0));
temp = temp/0.01;
Serial.print(temp);
delay(1000);
}
El código recibe una señal por el PinA0 , esa señal es convertida dentro del void loop(), para
poder ser mostrada como temperatura ya que ingresa medida en milivoltios.
3. Llene una tabla de por lo menos 10 valores tomados
Lectura
22.4
22.3
22.5
22.6
21.9
24.5
24.8
25.3
25.5
25.7
Sensor de Temperatura
60
50
40
30
20
10
0
Sensor de Temperatura
void loop()
{
int value = analogRead(sensorPin);
temp = (analogRead(0)*(5/1024.0));
temp = temp/0.01;
kelvin = temp+273;
Serial.print(temp);
Serial.print("C");
Serial.print(kelvin);
Serial.print("Kelvin");
delay(1000);
}
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // incluimos la librería del LCD
float temp = 0.0; //Variable para los calculos de la temperatura
const int pulsadorPin = 8;
int valorPulsador = 0;
void setup()
{
lcd.begin(16, 2); // Cantidad de columnas y filas es el Display
pinMode(10, OUTPUT); //Activamos la retroiluminacion
digitalWrite(10, HIGH);
Serial.begin(9600);
pinMode(pulsadorPin, INPUT);
}
void loop(){
valorPulsador = digitalRead(pulsadorPin);
if (valorPulsador == HIGH) {
temp = (analogRead(0)*(5/1024.0)); //Leemos entrada analogica
temp = temp/0.01;
lcd.setCursor(0,0); //Establecemos la posicion del cursor
lcd.print("Temp: ");
lcd.print(temp);
Serial.println (temp);
delay(1000);
return;
}
else {
temp = (analogRead(0)*(5/1024.0)); //Leemos entrada analogica
temp = (temp/0.01)+273;
lcd.setCursor(0,0); //Establecemos la posicion del cursor
lcd.print("Temp: ");
lcd.print(temp);
Serial.println (temp);
delay(1000);
return;
}
}
3. Explique las modificaciones realizadas
A través de una condicional if, cuando el pulsador este en HIGH el Monitor Serial y la Pantalla
LCD mostraran la temperatura en grados Celsius, mientras que si se encuentra en LOW
mostrara la temperatura en grados Kelvin.
CUESTIONARIO
Sensor DHT11
El DHT11 es un sensor digital de temperatura y humedad relativa de bajo costo y fácil uso.
Utiliza un sensor capacitivo de humedad y un termistor para medir el aire circundante, y
muestra los datos mediante una señal digital en el pin de datos (no posee salida analógica). Es
bastante simple de usar tanto en hardware como software. El único inconveniente de este
sensor es que sólo se puede obtener nuevos datos una vez cada 2 segundos.
El sensor DHT11 se caracteriza por tener la señal digital calibrada, asegurando alta estabilidad
y fiabilidad a lo largo del tiempo. El sensor integra un sensores resistivos para temperatura
(termistor) y otro para humedad. Puede medir la humedad en un rango desde 20% hasta 90%
y temperatura en el rango de 0ºC a 50ºC.
Cada sensor DHT11 está estrictamente calibrado en laboratorio, presentando una extrema
precisión en la calibración. Los coeficientes de calibración se almacenan como programas en
la memoria OTP, que son empleados por el proceso de detección de señal interna del sensor.
El protocolo de comunicación emplea un único hilo o cable, por lo tanto hace que la
integración de este sensor en nuestros proyectos sea rápida y sencilla.
En comparación con el DHT22, este sensor es menos preciso, menos exacto y funciona en un
rango más pequeño de temperatura / humedad, pero su empaque es más pequeño y de menor
costo.
Sensor DHT22
Sensor BME280
Sensor SHT31
El sensor digital de temperatura y humedad relativa SHT31 permite realizar mediciones muy
precisas a bajo costo. El SHT31 posee mejores prestaciones respecto a los sensores DHT11
y DHT22, como mejor resolución, mayor precisión y un empaque más compacto. Utilizado
en aplicaciones de Control automático de temperatura, Aire Acondicionado, Monitoreo
ambiental en agricultura y más.
Su integración es sencilla tanto a nivel de software como hardware. A nivel de software se
dispone de librerías para Arduino con soporte para el protocolo I2C. En cuanto al hardware
solo son necesarios 4 cables, dos de alimentación y dos de datos I2C.
Sensor DS18B20
Display OLED
Este tipo de display es muy interesante para aplicaciones donde el tamaño importa, por lo
general son displays muy pequeñitos con una gran resolución y consumos muy bajos. El
nombre OLED proviene del ingles "organic light-emitting diode" y tiene este nombre por que
los LEDs con el que se compone la pantalla tienen componentes orgánicos que al paso de una
corriente eléctrica emiten luz por si mismos.
3. Cuál es la estructura interna de una pantalla LCD
El Módulo adaptador LCD a I2C que usaremos está basado en el controlador I2C PCF8574,
el cual es un Expansor de Entradas y Salidas digitales controlado por I2C. Por el diseño del
PCB este módulo se usa especialmente para controlar un LCD Alfanumérico.
La dirección I2C por defecto del módulo puede ser 0x3F o en otros casos 0x27. Es muy
importante identificar correctamente la dirección I2C de nuestro modulo, pues de otra forma
nuestro programa no funcionará correctamente. Para identificar la dirección especifica de
nuestro módulo podemos utilizar un pequeño sketch de prueba llamado: I2C Scanner, el cual
nos permite identificar la dirección I2C del dispositivo conectado al Arduino. Si en caso
existiera la necesidad de trabajar con más de un LCD podemos modificar la dirección I2C del
modulo adaptador. Para esto es necesario soldar los puentes A0, A1 y A2 presentes en el
módulo, estos tres puentes son los bits menos significativos de la dirección I2C del módulo.
La dirección 0x3F en binario sería: 0|0|1|1|1|A2|A1|A0 y la dirección
0x27: 0|0|1|0|0|A2|A1|A0. Por defecto A0, A2, A1 valen 1 pero si soldamos los puentes, estos
se conectan a tierra teniendo un valor 0. Por ejemplo si soldamos los tres puentes la nueva
dirección sería 0|0|1|0|0|0|0|0 (0x20), para un chip que anteriormente era 0x27.
Para controlar el contraste de los dígitos en el LCD solo necesitamos girar el potenciómetro
que se encuentra en el módulo, hasta quedar conformes con el contraste mostrado.
La luz de fondo se controla principalmente por software desde el Arduino, pero el módulo
también permite desconectar el Led de la luz de fondo removiendo un jumper LED.
Esta biblioteca permite que una placa Arduino controle pantallas LiquidCrystal ( LCD )
basadas en el chipset Hitachi HD44780 (o un compatible), que se encuentra en la mayoría de
las pantallas LCD basadas en texto . La biblioteca funciona en el modo de 4 u 8 bits (es decir,
usando 4 u 8 líneas de datos además de las líneas rs, enable y, opcionalmente, las líneas de
control rw).