SISTEM KONTROL DAN MONITORING SUHU 

RUANGAN BERBASIS ATMEGA 8535




Program Studi Teknik Elektronika Jurusan Teknik Elektro

Politeknik Negeri Semarang 

Jln. Prof. H. Sudarto, S.H., Tembalang, Semarang, Jawa Tengah, Indonesia. 50275.

Telp. (024)7473417, Website :www.polines.ac.id, Email : mailto:sekretariat@polines.ac.id



Kelompok A2

1.Adelia Yuni                                           (02)

2.Firman Sasongko A.W                          (11)        

3.M Rizki Asyapii                                    (14)

4.Salsabila Niekie R                                 (23)




I

PENDAHULUAN

 1.1 LATAR BELAKANG

        Seperti yang kita ketahui akibat perubahan iklim dapat mempengaruhi suhu di lingkungan. suhu yang meningkat signifikan dapat membuat bencana seperti kebakaran hutan atau lahan. efek suhu yang meningkat juga dapat membuat manusia mudah terkena dehidrasi, iritasi kulit, dan sistem imun yang menurun. tidak hanya itu suhu dalam ruangan pun juga meningkat seiring meningkatnya suhu diluar ruangan. maka, perlu adanya sebuah sistem yang dapat mengontrol suhu di ruangan. dengan memanfaatkan teknologi yang ada, kami menginovasikan sebuah sistem kontrol dan monitoring suhu ruangan berbasis ATMega 8535 dengan sensor suhu LM35 sebagai masukan dan LCD sebagai keluaran.

1.2 RUMUSAN MASALAH

        Dari latar belakang tersebut dapat ditarik rumusan masalah sebagai berikut :

    1. Bagaimanakah cara membuat sistem kontrol dan monitoring suhu ruangan berbasis                                  mikrokontroler ATMega 8535?

    2. Bagaiamana cara kerja sistem kontrol dan monitoring suhu ruangan berbasis mikrokontroler                    ATMega      8535?

   3. Bagaimana cara membuat program untuk menjalankan alat tersebut?

   4. Apa saja komponen yang digunakan pada system tersebut?

1.3 TUJUAN

       1. Dapat merancang bangun sistem kontrol dan monitoring suhu ruangan berbasis mikrokontroler               ATMega 8535

       2. Dapat mengetahui komponen apa saja yang digunakan dalam pembuatan alat tersebut

       3. Dapat memahami bagaimana cara kerja alat tersebut

       4. Dapat mengetahui dan menerapkan program untuk menjalankan alat tersebut




II

TINJAUAN PUSTAKA 

      Penjelasan dan uraian teori penunjang yang digunakan dalam membuat alat ini diperlukan untuk            mempermudah pemahaman tentang cara kerja rangkaian maupun dasar-dasar perencenaan alat.

A. MIKROKONTROLER ATMEGA 8535 

           Merupakan sistem mikrokontroler 8 bit berbasis RISC dengan kecepatan maksimal 16 MHz. Memiliki memori flash 8 KB, SRAM sebesar 512 byte dan EEPROM (Electrically Erasable Programmable Read Only Memory) sebesar 512 byte. Memiliki ADC (Pengubah analog-ke-digital) internal dengan ketelitian 10 bit sebanyak 8 saluran. Memiliki PWM (Pulse Width Modulation - Gelombang Sinyal Termodulasi) internal sebanyak 4 saluran. Portal komunikasi serial (USART) dengan kecepatan maksimal 2,5 Mbps. Enam pilihan mode sleep, untuk menghemat penggunaan daya listrik.

B. SENSOR SUHU LM 35

Sensor suhu IC LM 35 merupkan chip IC produksi Natioanal Semiconductor yang berfungsi untuk mengetahui temperature suatu objek atau ruangan dalam bentuk besaran elektrik, atau dapat juga di definisikan sebagai komponen elektronika yang berfungsi untuk mengubah perubahan temperature yang diterima dalam perubahan besaran elektrik. Sensor suhu IC LM35 dapat mengubah perubahan temperature menjadi perubahan tegangan pada bagian outputnya. Sensor suhu IC LM35 membutuhkan sumber tegangan DC +5 volt dan konsumsi arus DC sebesar 60 µA dalam beroperasi.

C. CRYSTAL 
Crystal adalah komponen yang memiliki fungsi sebagai resonator, untuk membangkitkan frekuensi dengan bilangan yang stabil atau tetap

D. KAPASITOR

Kapasitor adalah komponen listrik yang digunakan untuk menyimpan muatan listrik. Kapasitor yang digunakan pada sistem ini bernilai 22pf

E. RELAY

Relay adalah saklar elektromekanik yang digunakan untuk membuka dan menutup rangkaian listrik serta menstimulasi listrik kecil menjadi arus yang lebih besar.

F. POTENSIOMETER
Potensiometer adalah komponen resistor yang resistansi variabelnya dapat diatur sesuai kebutuhan pada rangkaian. terdiri dari 3 kaki terminal yang pada 2 ujungnya merupakan elemen resitif sedangkan 1 kaki sisanya terhubung ketuas/shaft yang merupakan wiper yang menentukan nilai resistansi variabelnya.

G. RESISTOR


Resistor adalah komponen pasif yang mempunyai sifat menghambat arus listrik. Nilai resistor biasanya diwakili dengan kode angka atau gelang warna yang terdapat di badan resistor. Satuan nilai dari resistor atau hambatan adalah Ohm dan biasa disimbolkan dengan tanda Ω. Pada rangkaian ini digunakan resistor dengan nilai 330Ω.

H. LED 
Light Emitting Diode atau sering disingkat dengan LED adalah komponen elektronika yang dapat memancarkan cahaya monokromatik ketika diberikan tegangan maju. LED merupakan keluarga Dioda yang terbuat dari bahan semikonduktor. Warna-warna Cahaya yang dipancarkan oleh LED tergantung pada jenis bahan semikonduktor yang dipergunakannya.

I. LCD 16x2
LCD (Liquid Cristal Display) adalah salah satu jenis display elektronik yang dibuat dengan teknologi CMOS logic yang bekerja dengan tidak menghasilkan cahaya tetapi memantulkan cahaya yang ada di sekelilingnya terhadap front -lit atau mentransmisikan cahaya dari back -lit . LCD (Liquid Cristal Display) berfungsi sebagai penampil data baik dalam bentuk karakter, huruf, angka ataupun grafik .

J. TRANSISTOR 


Transistor 2N2222 merupakan transistor NPN yang memiliki nilai penguatan mulai dari 110 hingga 800. Nilai ini menentukan seberapa besar kapasitas amplifikasi transistor. Sedangkan, jumlah maksimum arus yang dapat mengalir melalui PIN kolektor adalah 800mA.





III
PERANCANGAN ALAT

3.1 Perangkat Keras dan Rangkaian Elektronika
      Komponen yang digunakan dalam pembuatan alat ini diantaranya :

      a. Mikrokontroler Atmega 8535
      b. Sensor Suhu LM 35
      c. Crystal 16 Mhz
      d. Kapasitor 22 pf
      e. Relay
      f. Potensiometer
      g. Transistor 2n2222
      h. Resistor 330 Ohm
      i. LED
      h. LCD 16x2

3.2 Diagram Blok
       
       
Gambar 3.1 Diagram Blok

3.3 Diagram Alir

Gambar 3.2 Diagram Alir

3.4 Gambar Rangkaian 


Gambar 3.3 Skematik Rangkaian

3.5 Cara Kerja Alat 

          Saat kondisi awal, sensor LM35 akan mendeteksi suhu ruangan. LCD akan menampilkan berapa        suhu yang terdeteksi. kemudian, bila suhu naik, LM 35 akan mendeteksi berapa derajat kenaikan            suhunya. Bila mencapai set point yang telah diberikan/saat suhu tertentu alarm akan menyala dan            otomatis menghidupkan kipas angin.

3.6 Program


Chip type               : ATmega8535
Program type            : Application
AVR Core Clock frequency: 4.000000 MHz
Memory model            : Small
External RAM size       : 0
Data Stack size         : 128
*****************************************************/
#include <mega8535.h>  
#include <delay.h>
#include <stdio.h>
#include <stdlib.h>

int Temp, dataADC; 
// sensor menggunakan LM35 Pin output terhubung dengan PINA.0 (pada mikrokontroller)

// Alphanumeric LCD Module functions
#asm
   .equ __lcd_port=0x15 ;PORTC
#endasm
#include <lcd.h>

#define ADC_VREF_TYPE 0x40

// Read the AD conversion result
unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}
void tampil (unsigned int dat)          // rutin untuk menampilkan di LCD
{
unsigned int data;
//lcd_gotoxy(0,0);  

dat%=100;
data = dat / 10;
data+=0x30;
lcd_putchar(data);

dat%=10;
data = dat + 0x30;
lcd_putchar(data);
}    
// Declare your global variables here

void main(void)
{
// Declare your local variables here
char lcd_buf[81];

// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
PORTA=0x00;
DDRA=0x00;

// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
PORTB=0x00;
DDRB=0xF0;

// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
PORTC=0x00;
DDRC=0x00;

// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
PORTD=0x0F;
DDRD=0x00;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x20;
SFIOR=0x00;


// ADC initialization
// ADC Clock frequency: 86.400 kHz
// ADC Voltage Reference: AREF pin
// ADC Auto Trigger Source: None
ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x87;

// LCD module initialization
lcd_init(16);
lcd_gotoxy(3,0);              
lcd_putsf("SENSOR SUHU");
lcd_gotoxy(5,1);              
lcd_putsf("RUANGAN");
delay_ms(200);                  
delay_ms(300);                                                    
lcd_gotoxy(3,0);              
lcd_putsf(" KELOMPOK 2 ");
delay_ms(200);
lcd_gotoxy(0,0);              
lcd_putsf("                                   ");
lcd_gotoxy(3,0);              
lcd_putsf("MOHON TUNGGU");
lcd_gotoxy(6,1);              
lcd_putsf("        ");
delay_ms(500);
while (1)
      {
      // Place your code here  
        if (PORTB.7==1)
      {
       lcd_gotoxy (0,0);
       lcd_putsf("ALARM:AKTIF/");  
       lcd_puts(lcd_buf); 
        //delay_ms(150); 
        }     
      else
        {
        lcd_gotoxy (0,0);
        lcd_putsf("ALARM:MATI /");  
        lcd_puts(lcd_buf); 
        //delay_ms(100); 
         }
         
        dataADC=read_adc(0);            //pembacaan ADC pada PINA.0                 (no1)
        delay_ms(200);
        lcd_gotoxy(14,0);              
        lcd_putsf("'C");          
        Temp=(dataADC*4.9/10);          //conversi nilai ADC ke nilai Temperatur     (no7)
        lcd_gotoxy(12,0);                //menentukan kordinat huruf pada LCD 2x16  (x,y) = (7,1) //artinya kolom ke 7 dan baris ke1    (no8)
        tampil(Temp);                   //menampilkan nilai temp hasil dari  no7    (no9)          
        delay_ms(150);
      
        dataADC=read_adc(1);            //pembacaan ADC pada PINA.0                 (no1)
        delay_ms(150);  
        lcd_gotoxy(0,1);                //menentukan kordinat huruf pada LCD 2x16  (x,y) = (0,0) //artinya kolom ke 0 dan baris ke0    (no2)   
        lcd_putsf("Suhu      : ");        //menampilkan tulisan string "view data sensor" (jangan //lebih dari 16 character)             (no3)
        dataADC=read_adc(1);            //pembacaan ADC pada PINA.0                 (no1)
        lcd_gotoxy(14,1);              
        lcd_putsf("'C");          
        Temp=(dataADC*4.9/10);          //conversi nilai ADC ke nilai Temperatur     (no7)
        lcd_gotoxy(12,1);                //menentukan kordinat huruf pada LCD 2x16  (x,y) = (7,1) //artinya kolom ke 7 dan baris ke1    (no8)
        tampil(Temp);
        delay_ms(150);
                                                
            if (ACSR.5==0) 
            {PORTB.7=0;}
              else 
                {PORTB.7=1;}    

         };
   }










Gambar rangkaian,Program dan Skematik bisa dilihat di link yang ada di bawah ini:






Komentar