Monitor de temperatura con Arduino y sensor KY-001 en pantalla LCD de 16 pines

Funcionamiento

Este proyecto consiste en construir un sistema que mida la temperatura ambiental usando el sensor KY-001 y despliegue la lectura en un LCD de 16 pines, controlado por un Arduino. Este tipo de sistema tiene múltiples aplicaciones, como el monitoreo ambiental en hogares o laboratorios, y puede ser expandido con características adicionales.


Componentes

  • Arduino (cualquier modelo, como Arduino Uno).
  • 1 sensor KY-001 (que utiliza el integrado DS18B20).
  • 1 pantalla LCD de 16 pines (generalmente compatible con el estándar HD44780)
  • 1 potenciómetro de 10 kΩ (para ajustar el contraste del LCD).
  • Resistencia de 330 Ω
  • Protoboard y cables jumpers .

Conexiones

  • Conexión del sensor KY-001:
  • Conecta el pin de señal del KY-001 al pin digital 2 del Arduino.
  • Conecta el pin GND del sensor al GND del Arduino.
  • Conecta el pin VCC del sensor al pin de 5V del Arduino.
  • Conexión del LCD de 16 pines:
  • VSS a GND
  • VDD a 5V
  • V0 al potenciómetro (para ajustar el contraste)
  • RS al pin digital 12 del Arduino
  • RW a GND
  • E al pin digital 11 del Arduino
  • D4 al pin digital 6 del Arduino
  • D5 al pin digital 5 del Arduino
  • D6 al pin digital 4 del Arduino
  • D7 al pin digital 3 del Arduino
  • A a 5V (retroiluminación). Resistencia 220Ω(opcional)
  • K a GND (retroiluminación)
  • Instalación de librerías:
  • En el IDE de Arduino, instala las librerías OneWire y DallasTemperature para el sensor KY-001.
  • Instala también la librería LiquidCrystal, que permite controlar pantallas LCD.


Código

 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
#include <Arduino.h>

#include <OneWire.h>
#include <DallasTemperature.h>
#include <LiquidCrystal.h>

// Configuración de los pines
#define ONE_WIRE_BUS 2

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

// Inicializar la biblioteca con los números de los pines de la interfaz
LiquidCrystal lcd(12, 11, 6, 5, 4, 3);

void setup() {
  Serial.begin(9600);
  sensors.begin(); // Inicializa el sensor

  // Establecer el número de columnas y filas de la pantalla LCD
  lcd.begin(16, 2);
}

void loop() {
  sensors.requestTemperatures(); // Solicita la temperatura al sensor
  float temperatura = sensors.getTempCByIndex(0); // Obtén la lectura en grados Celsius

  //Colocamos el primer texto a partir de la culumna 2 fila 0
  lcd.setCursor(4,0);
  // Imprimir un mensaje en la pantalla LCD
  lcd.print(temperatura );
  lcd.print(" C");
  delay(500); // Actualiza cada 500 milisegundos
}


Diseños


Videos


Conclusión

Este proyecto es ideal para aprender sobre sensores, pantallas LCD y programación en Arduino. Además de ser educativo, puede adaptarse y mejorarse según las necesidades del usuario, brindando una amplia gama de aplicaciones prácticas.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Carrito de compra