Sommario:
- Passo 1:
- Passaggio 2: schema elettrico
- Passaggio 3: programma
- Passaggio 4: Spiegazione del codice
- Passaggio 5: puoi scaricare il progetto completo
- Passaggio 6: video
Video: Interfaccia del sensore di temperatura (LM35) con ATmega32 e display LCD - Controllo automatico della ventola: 6 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:03
Sensore di temperatura (LM35) Interfaccia con ATmega32 e display LCD
Passo 1:
In questo progetto imparerai come interfacciare un sensore di temperatura (LM35) con il microcontrollore AVR ATmega32 e il display LCD.
Prima di questo progetto devi avere informazioni sui seguenti articoli
come aggiungere la libreria lcd in avr studio| tutorial sul microcontrollore avr
introduzione all'ADC nel microcontrollore AVR | per principianti
Il sensore di temperatura (LM35) è un sensore di temperatura popolare ea basso costo. Il Vcc può essere da 4V a 20V come specificato dal datasheet. Per utilizzare il sensore è sufficiente collegare il Vcc a 5V, GND a Ground e l'Out a uno degli ADC (canale convertitore analogico-digitale).
L'uscita è 10 MilliVolt per grado centigrado. Quindi, se l'uscita è 310 mV, la temperatura è 31 gradi C. Per realizzare questo progetto dovresti avere familiarità con l'ADC degli AVR e anche utilizzando l'LCD Quindi la risoluzione degli AVR ADC è 10 bit e per la tensione di riferimento stai usando 5 V quindi la risoluzione in termini di tensione è
5/1024 = 5,1 mV circa
Quindi, se il risultato dell'ADC corrisponde a 5,1 mV, ovvero se la lettura dell'ADC è
10 x 5,1 mV = 51 mV
Puoi leggere il valore di qualsiasi canale ADC usando la funzione adc_result(ch);
Dove ch è il numero del canale (0-5) in caso di ATmega8. Se hai collegato l'uscita dell'LM35 al canale 0 dell'ADC, chiama
adc_result0 = adc_read(0);
questo memorizzerà la lettura ADC corrente nella variabile adc_value. Il tipo di dati di adc_value deve essere int poiché il valore ADC può variare da 0-1023.
Come abbiamo visto, i risultati dell'ADC sono in un fattore di 5,1 mV e per 1 grado C l'uscita di LM35 è 10 mV, quindi 2 unità di ADC = 1 grado.
Quindi per ottenere la temperatura dividiamo adc_value per due
temperatura = risultato_adc0 /2;
Infine il microcontrollore visualizzerà la temperatura in gradi centigradi nel LCD alfanumerico 16X2.
Passaggio 2: schema elettrico
Passaggio 3: programma
#ifndef F_CPU
#define F_CPU 1600000UL
#finisci se
#includere
#includere
#include "LCD/lcd.h"
void adc_init()
{
// AREF = AVcc
ADMUX = (1<
// Abilitazione ADC e prescaler di 128
ADCSRA = (1<
}
// legge il valore adc
uint16_t adc_read(uint8_t ch)
{
// seleziona il canale corrispondente 0~7
ch &= 0b00000111; // Operazione AND con 7
ADMUX = (ADMUX & 0xF8)|ch;
// avvia la conversione singola
// scrivi '1' in ADSC
ADCSRA |= (1<
// attendo il completamento della conversione
// ADSC diventa di nuovo '0'
mentre(ADCSRA & (1<
ritorno (ADC);
}
intero principale()
{
DDRB=0xff;
uint16_t adc_result0;
temperatura interna;
int lontano;
buffer di caratteri[10];
// inizializza adc e lcd
adc_init();
lcd_init(LCD_DISP_ON_CURSOR); //CURSORE
lcd_clrscr();
lcd_gotoxy(0, 0);
_delay_ms(50);
mentre(1)
{
adc_result0 = adc_read(0); // legge il valore adc su PA0
temp=adc_result0/2.01; // trovare la temperatura
//lcd_gotoxy(0, 0);
//lcd_puts("Adc=");
//itoa(adc_result0, buffer, 10); //visualizza il valore ADC
//lcd_puts(buffer);
lcd_gotoxy(0, 0);
itoa(temp, buffer, 10);
lcd_puts("Temp="); //visualizza la temperatura
lcd_puts(buffer);
lcd_gotoxy(7, 0);
lcd_puts("C");
lontano=(1.8*temp)+32;
lcd_gotoxy(9, 0);
itoa(lontano, buffer, 10);
lcd_puts(buffer);
lcd_gotoxy(12, 0);
lcd_puts("F");
_delay_ms(1000);
se(temp>=30)
{lcd_clrscr();
lcd_home();
lcd_gotoxy(0, 1);
lcd_puts("VENTILAZIONE ATTIVA");
PORTAB=(1<
}
se (temp<=30)
{
lcd_clrscr();
lcd_home();
lcd_gotoxy(7, 1);
lcd_puts("VENTILATORE SPENTO");
PORTAB=(0<
}
}
}
Passaggio 4: Spiegazione del codice
Spero che tu sappia che saprai come abilitare l'ADC e come interfacciare l'LCD con il microcontrollore Avr in questo codice quando la temperatura è superiore a 30 gradi, quindi la ventola è accesa e puoi vedere sul display a LED FAN ON e quando la temperatura è inferiore a 30 quindi la ventola è spento e puoi vedere FAN OFF
Passaggio 5: puoi scaricare il progetto completo
Clicca qui
Consigliato:
Controllore automatico della luce e della ventola della stanza con contatore visitatori bidirezionale: 3 passaggi
Controllore automatico della luce e della ventola della stanza con contatore visitatori bidirezionale: spesso vediamo contatori visitatori in stadi, centri commerciali, uffici, aule, ecc. Come contano le persone e accendono o spengono la luce quando nessuno è all'interno? Oggi siamo qui con il progetto di controllo automatico della luce ambientale con contatore visitatori bidirezionale
Raspberry Pi Box di ventola di raffreddamento con indicatore della temperatura della CPU: 10 passaggi (con immagini)
Raspberry Pi Box di raffreddamento FAN con indicatore della temperatura della CPU: avevo introdotto il circuito dell'indicatore della temperatura della CPU raspberry pi (di seguito come RPI) nel progetto precedente. Il circuito mostra semplicemente RPI 4 diversi livelli di temperatura della CPU come segue.- LED verde acceso quando La temperatura della CPU è entro 30~
Iniziare con l'interfaccia del sensore I2C?? - Interfaccia il tuo MMA8451 utilizzando ESP32: 8 passaggi
Iniziare con l'interfaccia del sensore I2C?? - Interfaccia il tuo MMA8451 utilizzando ESP32: in questo tutorial imparerai tutto su come avviare, connettere e far funzionare il dispositivo I2C (accelerometro) con il controller (Arduino, ESP32, ESP8266, ESP12 NodeMCU)
Lettura della temperatura utilizzando il sensore di temperatura LM35 con Arduino Uno: 4 passaggi
Lettura della temperatura utilizzando il sensore di temperatura LM35 con Arduino Uno: Ciao ragazzi in questo tutorial impareremo come usare LM35 con Arduino. Lm35 è un sensore di temperatura in grado di leggere valori di temperatura da -55°C a 150°C. È un dispositivo a 3 terminali che fornisce una tensione analogica proporzionale alla temperatura. Ciao G
Pad di raffreddamento per laptop fai da te - Impressionanti trucchi di vita con ventola della CPU - Idee creative - Ventola del computer: 12 passaggi (con immagini)
Pad di raffreddamento per laptop fai da te | Impressionanti trucchi di vita con ventola della CPU | Idee creative | Fan del computer: devi guardare questo video fino alla fine. per capire il video