Tabla de contenido:
- Paso 1:
- Paso 2: diagrama de circuito
- Paso 3: Programa
- Paso 4: Explica el código
- Paso 5: puede descargar el proyecto completo
- Paso 6: video
Video: Sensor de temperatura (LM35) que interactúa con ATmega32 y pantalla LCD - Control automático del ventilador: 6 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
Sensor de temperatura (LM35) Interfaz con ATmega32 y pantalla LCD
Paso 1:
En este proyecto, aprenderá cómo conectar un sensor de temperatura (LM35) con el microcontrolador AVR ATmega32 y la pantalla LCD.
Antes de este proyecto, debe obtener información sobre los siguientes artículos
cómo agregar una biblioteca lcd en avr studio | tutorial de microcontrolador avr
introducción a ADC en microcontrolador AVR | para principiantes
El sensor de temperatura (LM35) es un sensor de temperatura popular y de bajo costo. El Vcc puede ser de 4 V a 20 V como se especifica en la hoja de datos. Para usar el sensor, simplemente conecte el Vcc a 5V, GND a tierra y la salida a uno de los ADC (canal conversor analógico a digital).
La salida es de 10 milivoltios por grado centígrado. Entonces, si la salida es de 310 mV, entonces la temperatura es de 31 grados C. Para hacer este proyecto, debe estar familiarizado con el ADC de los AVR y también con el LCD. Por lo tanto, la resolución de los AVR ADC es de 10 bits y para el voltaje de referencia está usando 5 V, por lo que la resolución en términos de voltaje es
5/1024 = 5,1 mV aproximadamente
Entonces, si el resultado de ADC corresponde a 5.1 mV, es decir, si la lectura de ADC es
10 x 5,1 mV = 51 mV
Puede leer el valor de cualquier canal ADC usando la función adc_result (ch);
Donde ch es el número de canal (0-5) en el caso de ATmega8. Si ha conectado la salida del LM35 al canal ADC 0, llame
adc_result0 = adc_read (0);
esto almacenará la lectura actual de ADC en la variable adc_value. El tipo de datos de adc_value debe ser int ya que el valor ADC puede oscilar entre 0-1023.
Como vimos, los resultados de ADC están en un factor de 5,1 mV y para 1 grado C, la salida de LM35 es de 10 mV, por lo que 2 unidades de ADC = 1 grado.
Entonces, para obtener la temperatura, dividimos el adc_value por dos
temperatura = adc_result0 / 2;
Finalmente, el microcontrolador mostrará la temperatura en grados centígrados en la pantalla LCD alfanumérica de 16X2.
Paso 2: diagrama de circuito
Paso 3: Programa
#ifndef F_CPU
#define F_CPU 1600000UL
#terminara si
#incluir
#incluir
#include "LCD / lcd.h"
void adc_init ()
{
// AREF = AVcc
ADMUX = (1 <
// ADC Enable y prescaler de 128
ADCSRA = (1 <
}
// leer valor adc
uint16_t adc_read (uint8_t ch)
{
// seleccione el canal correspondiente 0 ~ 7
ch & = 0b00000111; // Operación Y con 7
ADMUX = (ADMUX & 0xF8) | ch;
// iniciar una conversión única
// escribe '1' en ADSC
ADCSRA | = (1 <
// espera a que se complete la conversión
// ADSC vuelve a ser '0'
mientras que (ADCSRA & (1 <
retorno (ADC);
}
int main ()
{
DDRB = 0xff;
uint16_t adc_result0;
int temp;
int far;
tampón de carbón [10];
// inicializar adc y lcd
adc_init ();
lcd_init (LCD_DISP_ON_CURSOR); //CURSOR
lcd_clrscr ();
lcd_gotoxy (0, 0);
_delay_ms (50);
mientras (1)
{
adc_result0 = adc_read (0); // leer el valor adc en PA0
temp = adc_result0 / 2.01; // encontrar la temperatura
// lcd_gotoxy (0, 0);
// lcd_puts ("Adc =");
// itoa (adc_result0, buffer, 10); // muestra el valor de ADC
// lcd_puts (búfer);
lcd_gotoxy (0, 0);
itoa (temp, buffer, 10);
lcd_puts ("Temp ="); // muestra la temperatura
lcd_puts (búfer);
lcd_gotoxy (7, 0);
lcd_puts ("C");
lejos = (1.8 * temp) +32;
lcd_gotoxy (9, 0);
itoa (lejos, búfer, 10);
lcd_puts (búfer);
lcd_gotoxy (12, 0);
lcd_puts ("F");
_delay_ms (1000);
si (temp> = 30)
{lcd_clrscr ();
lcd_home ();
lcd_gotoxy (0, 1);
lcd_puts ("VENTILADOR ENCENDIDO");
PORTB = (1 <
}
si (temp <= 30)
{
lcd_clrscr ();
lcd_home ();
lcd_gotoxy (7, 1);
lcd_puts ("VENTILADOR APAGADO");
PORTB = (0 <
}
}
}
Paso 4: Explica el código
Espero que sepa que sabrá cómo habilitar ADC y cómo conectar la pantalla LCD con el microcontrolador Avr en este código cuando la temperatura es superior a 30 grados, el ventilador está encendido y puede ver en la pantalla LED FAN ON y cuando la temperatura es inferior a 30 y luego el ventilador. está apagado y puede ver FAN OFF
Paso 5: puede descargar el proyecto completo
Haga clic aquí
Recomendado:
Ventilador de enfriamiento automático con servo y sensor de temperatura y humedad DHT11 con Arduino: 8 pasos
Ventilador de enfriamiento automático con Servo y sensor de temperatura y humedad DHT11 con Arduino: En este tutorial aprenderemos cómo iniciar & girar un ventilador cuando la temperatura sube por encima de un cierto nivel
Lectura de temperatura usando el sensor de temperatura LM35 con Arduino Uno: 4 pasos
Lectura de temperatura usando el sensor de temperatura LM35 con Arduino Uno: Hola chicos, en este instructables aprenderemos cómo usar LM35 con Arduino. Lm35 es un sensor de temperatura que puede leer valores de temperatura de -55 ° C a 150 ° C. Es un dispositivo de 3 terminales que proporciona voltaje analógico proporcional a la temperatura. Hig
Pantalla LCD I2C / IIC - Use una pantalla LCD SPI para la pantalla LCD I2C usando el módulo SPI a IIC con Arduino: 5 pasos
Pantalla LCD I2C / IIC | Use una pantalla LCD SPI para la pantalla LCD I2C usando el módulo SPI a IIC con Arduino: Hola a todos, ya que una pantalla LCD SPI 1602 normal tiene demasiados cables para conectar, por lo que es muy difícil conectarlo con arduino, pero hay un módulo disponible en el mercado que puede Convierta la pantalla SPI en la pantalla IIC, por lo que solo necesita conectar 4 cables
Pantalla LCD I2C / IIC - Convierta una pantalla LCD SPI en una pantalla LCD I2C: 5 pasos
Pantalla LCD I2C / IIC | Convierta una pantalla LCD SPI en la pantalla LCD I2C: el uso de la pantalla lcd spi necesita demasiadas conexiones, lo cual es realmente difícil de hacer, así que encontré un módulo que puede convertir la pantalla lcd i2c en la pantalla lcd spi, así que comencemos
Predicción de la temperatura ambiente mediante el sensor LM35 y el aprendizaje automático: 4 pasos
Predicción de la temperatura ambiente a través del sensor LM35 y aprendizaje automático: Introducción Hoy nos centramos en crear un proyecto de aprendizaje automático que predice la temperatura mediante regresión polinomial. El aprendizaje automático es una aplicación de inteligencia artificial (IA) que proporciona a los sistemas la capacidad de aprender automáticamente