Senzor temperature (LM35) U sučelju s ATmega32 i LCD zaslonom - Automatsko upravljanje ventilatorom: 6 koraka
Senzor temperature (LM35) U sučelju s ATmega32 i LCD zaslonom - Automatsko upravljanje ventilatorom: 6 koraka
Anonim
Senzor temperature (LM35) U sučelju s ATmega32 i LCD zaslonom | Automatsko upravljanje ventilatorom
Senzor temperature (LM35) U sučelju s ATmega32 i LCD zaslonom | Automatsko upravljanje ventilatorom

Senzor temperature (LM35) U sučelju s ATmega32 i LCD zaslonom

Korak 1:

U ovom projektu naučit ćete kako spojiti temperaturni osjetnik (LM35) s AVR ATmega32 mikrokontrolerom i LCD zaslonom.

Prije ovog projekta morate znati Saznajte više o sljedećim člancima

kako dodati lcd biblioteku u avr studio | avr mikrokontroler vodič

uvod u ADC u mikrokontroleru AVR | za početnike

Senzor temperature (LM35) popularan je i jeftin senzor temperature. Vcc može biti od 4V do 20V prema specifikaciji. Za korištenje senzora jednostavno spojite Vcc na 5V, GND na uzemljenje i izlaz na jedan od ADC -a (analogno -digitalni kanal pretvarača).

Izlaz je 10 milivolta po stupnju Celzijusa. Dakle, ako je izlaz 310 mV, tada je temperatura 31 stupanj C. Da biste napravili ovaj projekt, trebali biste biti upoznati s ADC -om AVR -a i također koristiti LCD. Dakle, razlučivost AVR -ova ADC -a je 10 bita, a za referentni napon koristite 5 V pa rezolucija u pogledu napona je

5/1024 = približno 5,1 mV

Dakle, ako rezultat ADC -a odgovara 5,1 mV, tj. Ako je očitanje ADC -a

10 x 5,1 mV = 51 mV

Vrijednost bilo kojeg ADC kanala možete pročitati pomoću funkcije adc_result (ch);

Gdje je ch broj kanala (0-5) u slučaju ATmega8. Ako ste priključili izlaz LM35 na ADC kanal 0, nazovite

adc_result0 = adc_read (0);

ovo će pohraniti trenutno očitanje ADC -a u varijablu adc_value. Tip podataka adc_value trebao bi biti int jer vrijednost ADC-a može biti u rasponu od 0-1023.

Kao što smo vidjeli, rezultati ADC -a su faktor 5.1mV i za 1 stupanj C izlaz LM35 je 10mV, tako da su 2 jedinice ADC -a = 1 stupanj.

Dakle, za dobivanje temperature dijelimo adc_value na dva

temperatura = adc_result0 /2;

Konačno, mikrokontroler će prikazati temperaturu u stupnjevima Celzijevih na 16X2 alfanumeričkom LCD -u.

Korak 2: Dijagram kruga

Kružni dijagram
Kružni dijagram

Korak 3: Program

#ifndef F_CPU

#define F_CPU 1600000UL

#završi ako

#uključi

#uključi

#include "LCD/lcd.h"

void adc_init ()

{

// AREF = AVcc

ADMUX = (1 <

// Omogućivanje ADC -a i predskaler 128

ADCSRA = (1 <

}

// očitavanje adc vrijednosti

uint16_t adc_read (uint8_t ch)

{

// odabir odgovarajućeg kanala 0 ~ 7

ch & = 0b00000111; // AND operacija sa 7

ADMUX = (ADMUX & 0xF8) | ch;

// pokretanje pojedinačne pretvorbe

// upisuje '1' u ADSC

ADCSRA | = (1 <

// čekati da se konverzija dovrši

// ADSC ponovno postaje "0"

dok (ADCSRA & (1 <

povrat (ADC);

}

int main ()

{

DDRB = 0xff;

uint16_t adc_result0;

int temp;

int daleko;

me uspremnik [10];

// inicijalizacija adc i lcd

adc_init ();

lcd_init (LCD_DISP_ON_CURSOR); // POKAZATELJ

lcd_clrscr ();

lcd_gotoksi (0, 0);

_kašnjenje_ms (50);

dok (1)

{

adc_result0 = adc_read (0); // očitavanje adc vrijednosti na PA0

temp = adc_result0/2.01; // pronalaženje temperature

// lcd_gotoxy (0, 0);

// lcd_puts ("Adc =");

// itoa (adc_result0, međuspremnik, 10); // prikazuje vrijednost ADC -a

// lcd_puts (međuspremnik);

lcd_gotoksi (0, 0);

itoa (temp, tampon, 10);

lcd_puts ("Temp ="); // temperatura prikaza

lcd_puts (međuspremnik);

lcd_gotoksi (7, 0);

lcd_puts ("C");

daleko = (1,8*temp) +32;

lcd_gotoksi (9, 0);

itoa (daleko, tampon, 10);

lcd_puts (međuspremnik);

lcd_gotoksi (12, 0);

lcd_puts ("F");

_kašnjenje_ms (1000);

ako (temp> = 30)

{lcd_clrscr ();

lcd_home ();

lcd_gotoksi (0,1);

lcd_puts ("VENTILATOR UKLJUČEN");

PORTB = (1 <

}

ako (temp <= 30)

{

lcd_clrscr ();

lcd_home ();

lcd_gotoksi (7, 1);

lcd_puts ("FAN OFF");

PORTB = (0 <

}

}

}

Korak 4: Objasnite kôd

Nadam se da znate da ćete znati Kako omogućiti ADC i Kako spojiti LCD s Avr mikrokontrolerom u ovom kodu kada je temperatura veća od 30 stupnjeva, onda je ventilator uključen i možete vidjeti na LED zaslonu VENTILATOR UKLJUČEN, a kada je temperatura manja od 30, tada ventilator je isključen i možete vidjeti opciju VENTILATOR ISKLJUČEN

Korak 5: Možete preuzeti cijeli projekt

Kliknite ovdje

Preporučeni: