Daftar Isi:

Sensor Suhu (LM35) Antarmuka Dengan ATmega32 dan Layar LCD- Kontrol Kipas Otomatis: 6 Langkah
Sensor Suhu (LM35) Antarmuka Dengan ATmega32 dan Layar LCD- Kontrol Kipas Otomatis: 6 Langkah

Video: Sensor Suhu (LM35) Antarmuka Dengan ATmega32 dan Layar LCD- Kontrol Kipas Otomatis: 6 Langkah

Video: Sensor Suhu (LM35) Antarmuka Dengan ATmega32 dan Layar LCD- Kontrol Kipas Otomatis: 6 Langkah
Video: Simulasi proteus ADC (Analog to Digital Converter) pada ATMEGA32 dengan sensor suhu (LM35) 2024, November
Anonim
Sensor Suhu (LM35) Antarmuka Dengan ATmega32 dan Layar LCD| Kontrol Kipas Otomatis
Sensor Suhu (LM35) Antarmuka Dengan ATmega32 dan Layar LCD| Kontrol Kipas Otomatis

Sensor Suhu (LM35) Antarmuka dengan ATmega32 dan Layar LCD

Langkah 1:

Dalam proyek ini, Anda akan belajar Bagaimana menghubungkan Sensor Suhu (LM35) dengan Mikrokontroler AVR ATmega32 dan layar LCD.

Sebelum Proyek Ini, Anda perlu Pelajari tentang artikel berikut

cara menambahkan perpustakaan lcd di avr studio| tutorial mikrokontroler avr

Pengenalan ADC pada Mikrokontroler AVR | untuk pemula

Sensor Suhu (LM35) adalah sensor suhu yang populer dan murah. Vcc dapat dari 4V hingga 20V seperti yang ditentukan oleh lembar data. Untuk menggunakan sensor cukup menghubungkan Vcc ke 5V, GND ke Ground dan Out ke salah satu ADC (saluran konverter analog ke digital).

Outputnya adalah 10MilliVolts per derajat celcius. Jadi jika outputnya adalah 310 mV maka suhunya adalah 31 derajat C. Untuk membuat project ini anda harus familiar dengan ADC dari AVR dan juga menggunakan LCD Jadi Resolusi AVR ADC adalah 10bit dan untuk tegangan referensi anda menggunakan 5V jadi resolusinya dalam hal tegangan adalah

5/1024 = 5.1mV kira-kira

Jadi jika hasil ADC sesuai dengan 5.1mV yaitu jika pembacaan ADC adalah

10 x 5.1mV = 51mV

Anda dapat membaca nilai saluran ADC apa pun menggunakan fungsi adc_result(ch);

Di mana ch adalah nomor saluran (0-5) untuk ATmega8. Jika Anda telah menghubungkan output LM35 ke saluran ADC 0 maka hubungi

adc_result0 = adc_read(0);

ini akan menyimpan pembacaan ADC saat ini dalam variabel adc_value. Tipe data adc_value harus int karena nilai ADC dapat berkisar dari 0-1023.

Seperti yang kita lihat hasil ADC dalam faktor 5.1mV dan untuk 1 derajat C output LM35 adalah 10mV, Jadi 2 unit ADC = 1 derajat.

Jadi untuk mendapatkan suhu, kami membagi adc_value dengan dua

suhu = adc_result0 /2;

Terakhir mikrokontroler akan menampilkan suhu dalam derajat celcius pada LCD alfanumerik 16X2.

Langkah 2: Diagram Sirkuit

Diagram Sirkuit
Diagram Sirkuit

Langkah 3: Program

#ifndef F_CPU

#define F_CPU 1600000UL

#berakhir jika

#termasuk

#termasuk

#sertakan "LCD/lcd.h"

batal adc_init()

{

// AREF = AVcc

ADMUX = (1<

// ADC Aktifkan dan prescaler 128

ADCSRA = (1<

}

// baca nilai adc

uint16_t adc_read(uint8_t ch)

{

// pilih saluran yang sesuai 0~7

ch &= 0b00000111; // DAN operasi dengan 7

ADMUX = (ADMUX & 0xF8)|ch;

// mulai konversi tunggal

// tulis '1' ke ADSC

ADCSRA |= (1<

// tunggu konversi selesai

// ADSC menjadi '0' lagi

sementara(ADCSRA & (1<

kembali (ADC);

}

int utama()

{

DDRB=0xff;

uint16_t adc_result0;

int suhu;

int jauh;

penyangga karakter[10];

// inisialisasi adc dan lcd

adc_init();

lcd_init(LCD_DISP_ON_CURSOR); //KURSOR

lcd_clrscr();

lcd_gotoxy(0, 0);

_delay_ms(50);

sementara(1)

{

adc_result0 = adc_read(0); // membaca nilai adc pada PA0

temp=adc_result0/2.01; // mencari suhu

//lcd_gotoxy(0, 0);

//lcd_puts("Adc=");

//itoa(adc_result0, buffer, 10); //menampilkan nilai ADC

//lcd_puts(penyangga);

lcd_gotoxy(0, 0);

itoa(suhu, buffer, 10);

lcd_puts("Suhu="); //menampilkan suhu

lcd_puts(penyangga);

lcd_gotoxy(7, 0);

lcd_puts("C");

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

lcd_gotoxy(9, 0);

itoa(jauh, penyangga, 10);

lcd_puts(penyangga);

lcd_gotoxy(12, 0);

lcd_puts("F");

_delay_ms(1000);

jika(suhu>=30)

{lcd_clrscr();

lcd_rumah();

lcd_gotoxy(0, 1);

lcd_puts("KIPAS NYALA");

PORTB=(1<

}

jika (suhu<=30)

{

lcd_clrscr();

lcd_rumah();

lcd_gotoxy(7, 1);

lcd_puts("KIPAS MATI");

PORTB=(0<

}

}

}

Langkah 4: Penjelasan Kode

Saya harap Anda Tahu Anda akan tahu Cara mengaktifkan ADC dan Cara menghubungkan LCD dengan Mikrokontroler avr dalam kode ini ketika suhu lebih dari 30 derajat maka kipas menyala dan Anda dapat melihat di layar led FAN ON dan ketika Suhu Kurang dari 30 maka kipas mati dan Anda dapat melihat KIPAS MATI

Langkah 5: Anda Dapat Mengunduh Proyek Lengkap

Klik disini

Direkomendasikan: