Sisällysluettelo:

Lämpötila -anturi (LM35) liitettynä ATmega32: een ja LCD -näyttöön - Automaattinen tuulettimen ohjaus: 6 vaihetta
Lämpötila -anturi (LM35) liitettynä ATmega32: een ja LCD -näyttöön - Automaattinen tuulettimen ohjaus: 6 vaihetta

Video: Lämpötila -anturi (LM35) liitettynä ATmega32: een ja LCD -näyttöön - Automaattinen tuulettimen ohjaus: 6 vaihetta

Video: Lämpötila -anturi (LM35) liitettynä ATmega32: een ja LCD -näyttöön - Automaattinen tuulettimen ohjaus: 6 vaihetta
Video: MAX6675-lämpöparin käyttö LCD1602: n ja Arduinon kanssa 2024, Heinäkuu
Anonim
Lämpötila -anturi (LM35) liitettynä ATmega32: een ja LCD -näyttöön | Automaattinen tuulettimen ohjaus
Lämpötila -anturi (LM35) liitettynä ATmega32: een ja LCD -näyttöön | Automaattinen tuulettimen ohjaus

Lämpötila -anturi (LM35) Liitäntä ATmega32: n ja LCD -näytön kanssa

Vaihe 1:

Tässä projektissa opit liittämään lämpötila -anturin (LM35) AVR ATmega32 -mikro -ohjaimeen ja LCD -näyttöön.

Ennen tätä projektia sinun on opittava seuraavista artikkeleista

kuinka lisätä lcd -kirjasto avr studioon | avr -mikro -ohjaimen opetusohjelma

johdanto ADC: hen AVR -mikrokontrollerissa | aloittelijoille

Lämpötila -anturi (LM35) on suosittu ja edullinen lämpötila -anturi. Vcc voi olla 4V - 20V tuoteselosteen mukaisesti. Jos haluat käyttää anturia, kytke Vcc 5V: iin, GND maahan ja ulostulo johonkin ADC: stä (analogisesta digitaaliseen muunninkanavaan).

Lähtö on 10MilliVolttia celsiusastetta kohti. Joten jos lähtö on 310 mV, lämpötila on 31 astetta C. Tämän projektin tekemiseksi sinun tulee tuntea AVR -laitteiden ADC ja käyttää myös LCD -näyttöä. jännitteen suhteen on

5/1024 = noin 5,1 mV

Joten jos ADC: n tulos vastaa 5,1 mV eli jos ADC -lukema on

10 x 5,1 mV = 51 mV

Voit lukea minkä tahansa ADC -kanavan arvon käyttämällä funktiota adc_result (ch);

Missä ch on kanavan numero (0-5) ATmega8: n tapauksessa. Jos olet liittänyt LM35: n ulostulon ADC -kanavaan 0, soita

adc_result0 = adc_read (0);

tämä tallentaa nykyisen ADC -lukeman muuttujaan adc_value. Adc_value -tyypin tulee olla int, koska ADC-arvo voi vaihdella välillä 0-1023.

Kuten näimme, ADC -tulokset ovat 5,1 mV ja 1 asteen C osalta LM35: n lähtö on 10 mV, joten 2 yksikköä ADC = 1 aste.

Joten saadaksemme lämpötilan jakamme adc_value kahdella

lämpötila = adc_result0 /2;

Lopuksi mikrokontrolleri näyttää lämpötilan celsiusasteina 16X2 aakkosnumeerisessa nestekidenäytössä.

Vaihe 2: Piirikaavio

Piirikaavio
Piirikaavio

Vaihe 3: Ohjelmoi

#ifndef F_CPU

#define F_CPU 1600000UL

#loppu Jos

#sisältää

#sisältää

#include "LCD/lcd.h"

void adc_init ()

{

// AREF = AVcc

ADMUX = (1 <

// ADC Ota käyttöön ja esiskaalaa 128

ADCSRA = (1 <

}

// lue adc -arvo

uint16_t adc_read (uint8_t ch)

{

// valitse vastaava kanava 0 ~ 7

ch & = 0b00000111; // JA käyttö 7: llä

ADMUX = (ADMUX & 0xF8) | ch;

// aloita yksittäinen muunnos

// kirjoita ADSC: lle 1

ADCSRA | = (1 <

// odota muuntamisen valmistumista

// ADSC muuttuu jälleen "0": ksi

kun taas (ADCSRA & (1 <

paluu (ADC);

}

int main ()

{

DDRB = 0xff;

uint16_t adc_result0;

sisäinen lämpötila;

int kaukana;

hiilipuskuri [10];

// alustetaan adc ja lcd

adc_init ();

lcd_init (LCD_DISP_ON_CURSOR); // KURSSI

lcd_clrscr ();

lcd_gotoxy (0, 0);

_viive_ms (50);

samalla (1)

{

adc_result0 = adc_read (0); // lue adc -arvo PA0: ssa

lämpötila = adc_result0/2.01; // lämpötilan löytäminen

// lcd_gotoxy (0, 0);

// lcd_puts ("Adc =");

// itoa (adc_result0, puskuri, 10); // näyttää ADC -arvon

// lcd_puts (puskuri);

lcd_gotoxy (0, 0);

itoa (lämpötila, puskuri, 10);

lcd_puts ("Lämpötila ="); // näyttää lämpötilan

lcd_puts (puskuri);

lcd_gotoxy (7, 0);

lcd_puts ("C");

kaukana = (1,8*lämpötila) +32;

lcd_gotoxy (9, 0);

itoa (far, puskuri, 10);

lcd_puts (puskuri);

lcd_gotoxy (12, 0);

lcd_puts ("F");

_viive_ms (1000);

jos (lämpötila> = 30)

{lcd_clrscr ();

lcd_home ();

lcd_gotoxy (0, 1);

lcd_puts ("FAN ON");

PORTB = (1 <

}

jos (lämpötila <= 30)

{

lcd_clrscr ();

lcd_home ();

lcd_gotoxy (7, 1);

lcd_puts ("FAN OFF");

PORTB = (0 <

}

}

}

Vaihe 4: Selitä koodi

Toivottavasti tiedät, että tiedät kuinka ottaa ADC käyttöön ja kuinka liittää nestekidenäyttö Avr -mikrokontrolleriin tässä koodissa, kun lämpötila on yli 30 astetta, sitten tuuletin on päällä ja näet LED -tuulettimen päällä ja kun lämpötila on alle 30, sitten tuuletin on pois päältä ja näet FAN OFF

Vaihe 5: Voit ladata koko projektin

Klikkaa tästä

Suositeltava: