AIR TEMPERATURE SWITCHING AND MONITORING SYSTEM DENGAN MENGGUNAKAN SENSOR LM35 BERBASIS ATMEGA 16

AIR TEMPERATURE SWITCHING AND MONITORING SYSTEM DENGAN MENGGUNAKAN SENSOR LM35 BERBASIS ATMEGA 16

 




 



 


Dosen Pengampu:

DR. Samuel Beta K.,Ing.Tech,M.T.

 

Disusun Oleh:

Kelompok 3 

                                                1. Ammarsyah Mustika Yudha             EK–2A         3.32.24.0.03

                                                2. Eleazer Sameka Zola             EK-2A             3.32.24.0.09

                                                3. Melda Sabna Febriani             EK-2A         3.32.24.0.17

                                                4. Steven Ebzan Ruben Gamaliel       EK-2A         3.32.24.0.24


PROGRAM STUDI TEKNIK ELEKTRONIKA

JURUSAN TEKNIK ELEKTRO

POLITEKNIK NEGERI SEMARANG

2025

 

KATA PENGANTAR

            Puji syukur kami panjatkan kepada Allah SWT atas segala rahmat, nikmat, serta keberkahan-Nya. Alhamdulillah, kami dapat menyelesaikan proyek besar berjudul “Air Temperature Switching and Monitoring System dengan menggunakan Sensor LM35 berbasis Atmega 16” dengan lancar sebagai salah satu tugas akhir pada semester 3.

            Dalam proses penyusunannya, kami menghadapi berbagai hambatan dan kendala, baik teknis maupun non-teknis. Namun berkat kerja sama tim, dukungan moral, serta bantuan dari banyak pihak, proyek ini akhirnya dapat diselesaikan dengan baik. Oleh karena itu, pada kesempatan ini kami ingin menyampaikan terima kasih kepada:

  1. Bapak Dr. Samuel Beta K., Ing.Tech, M.T., selaku dosen pengampu mata kuliah Mikrokontroler yang telah memberikan ilmu, bimbingan, dan arahan sehingga proyek ini dapat terselesaikan.
  2. Politeknik Negeri Semarang (POLINES) yang telah menyediakan fasilitas pendukung bagi kelancaran penelitian dan pembuatan proyek.
  3. Teman–teman kelompok 3 yang telah meluangkan waktu, tenaga, dan pikiran untuk bekerja sama dalam menyelesaikan proyek ini.
  4. Orang tua, yang selalu memberi doa, dukungan, dan izin kepada anggota kelompok sehingga seluruh proses dapat berjalan dengan baik.
  5. Seluruh pihak yang telah membantu, baik secara langsung maupun tidak langsung, yang tidak dapat kami sebutkan satu per satu.

          Kami menyadari bahwa proyek ini masih jauh dari sempurna dan memiliki berbagai kekurangan. Oleh sebab itu, kami sangat terbuka terhadap kritik dan saran yang membangun demi peningkatan kualitas di masa mendatang. Besar harapan kami, proyek sederhana ini dapat memberikan manfaat dan menjadi referensi bagi siapa pun yang membaca laporan ini.

 

 

 

BAB 1

PENDAHULUAN

1.1   Latar Belakang

Perkembangan teknologi berbasis mikrokontroler telah memberikan kemudahan dalam merancang sistem otomatis yang mampu bekerja secara mandiri dan efisien. Salah satu penerapannya adalah pada sistem pengendalian suhu, yang banyak digunakan dalam berbagai kebutuhan seperti perangkat elektronik, ruang penyimpanan, maupun sistem pendingin otomatis. Pengendalian suhu yang baik sangat diperlukan untuk menjaga stabilitas lingkungan dan mencegah terjadinya kerusakan pada perangkat yang sensitif terhadap perubahan suhu.

Pada proyek ini, dirancang sebuah Air Temperature Switching and Monitoring System yang berfungsi untuk memantau suhu sekaligus mengendalikan kipas pendingin secara otomatis. Sistem ini menggunakan mikrokontroler ATmega16 serta LM35 sebagai pendeteksi suhu lingkungan. Dengan adanya sistem ini, proses pengaturan suhu dapat berjalan secara otomatis tanpa intervensi pengguna, sehingga lebih efisien, responsif, dan dapat meminimalkan risiko perubahan suhu yang berlebihan.

 

1.2   Rumusan Masalah

Berdasarkan latar belakang yang telah diuraikan, maka rumusan masalah dalam proyek ini adalah sebagai berikut:

1.     Bagaimana cara merancang sistem pemantauan suhu udara menggunakan sensor LM35 berbasis mikrokontroler ATmega16?

2.     Bagaimana cara mengimplementasikan sistem switching kipas pendingin secara otomatis berdasarkan perubahan suhu yang terdeteksi?

3.     Bagaimana kinerja sensor LM35 dalam mendeteksi suhu lingkungan secara akurat dan real-time?

4.     Bagaimana sistem dapat menampilkan informasi suhu dan status kipas secara jelas kepada pengguna?

5.     Bagaimana tingkat efektivitas sistem dalam menjaga suhu agar tetap berada pada batas yang telah ditentukan?

 

 

 

1.3    Tujuan

Tujuan dari proyek ini adalah sebagai berikut:

1.     Merancang dan merealisasikan sistem pemantauan suhu udara menggunakan sensor LM35 berbasis mikrokontroler ATmega16.

2.     Mengimplementasikan sistem pengendalian kipas (air switching) yang bekerja secara otomatis berdasarkan nilai suhu yang terdeteksi.

3.     Menampilkan informasi suhu dan status kerja sistem secara real-time sebagai sarana monitoring.

4.     Meningkatkan efisiensi dan keandalan pengendalian suhu tanpa memerlukan intervensi pengguna secara langsung.

5.     Menerapkan konsep sistem otomatis berbasis mikrokontroler sebagai bentuk implementasi teori yang telah dipelajari pada mata kuliah mikrokontroler.

 

BAB II

TINJAUAN PUSTAKA

2.1    Mikrokontroler ATmega16

 
Gambar 2.1 Mikrokontroller ATmega 16 beserta pin

ATmega16 merupakan mikrokontroler AVR 8-bit yang diproduksi oleh Microchip (dulu Atmel). Mikrokontroler ini menggunakan arsitektur RISC (Reduced Instruction Set Computer) yang memungkinkan sebagian besar instruksi dieksekusi dalam satu siklus clock sehingga menghasilkan kinerja yang cepat dan efisien. Pada proyek ini, ATmega16 bertugas membaca data analog dari sensor LM35 melalui ADC internal, mengolah hasil pembacaan suhu, menampilkan data ke LCD 16×2.

a.      Fitur utama ATmega16:

1.    Memori Flash sebesar 16 KB untuk menyimpan program

2.    SRAM 1 KB dan EEPROM 512 byte

3.    Memiliki 32 pin I/O yang dapat deprogram

4.    ADC 10-bit sebanyak 8 kanal untuk membaca sinyal analog

5.    Timer/Counter 8- dan 16-bit

6.    USART, SPI, dan I2C sebagai komunikasi serial

7.    Tegangan operasi 4.5–5.5 V

b.   Fungsi pin Mikrokontroler ATMega16:

1.      VCC digunakan sebagai masukan positif catu daya sebesar 5V.

2.      GND digunakan sebagai pin ground.

3.      Port A (PA7-PA0) Port A berfungsi untuk input analog pada konverter A/D. Jika A/D konverter tidak digunakan, maka port A juga sebagai suatu port I/O 8 bit dua arah. Pin yang ada di port menyediakan resistor internal pull up.

Port A adalah tri-stated dimana suatu kondisi reset menjadi aktif meskipun waktunya sudah habis.

4.      Port B (PB0-PB7) Port B adalah suatu pin I/O 8 bit dua arah dengan kisaran resistor internal pull up. Port B output buffer dapat memberi arus dan dapat mengendalikan display LED secara langsung.

5.      Port C (PC0-PC7) Port C adalah suatu pin I/O 8 bit dua arah dengan resistor internal pull up. Port C output buffer dapat memberi arus dan dapat mengendalikan display LED secara langsung.

6.      Port D (PD0-PD7) Port D adalah pin I/O 8 bit dua arah dengan resistor internal pull up. Port D output buffer dapat memberi arus dan dapat mengendalikan display LED secara langsung.

·         RESET (Reset input) 

·         XTAL1 (Input Oscillator)

·         XTAL2 (Output Oscillator)

·         AVCC adalah pin yang menyediakan tegangan untuk port A dan ADC.

·         AREF adalah pin yang digunakan sebagai referensi analog untuk ADC.

 

2.2    Sensor Suhu LM35

Gambar 2.2 Sensor Suhu LM35

LM35 adalah sensor suhu analog yang memiliki tingkat akurasi yang baik dan menghasilkan tegangan keluaran yang proporsional terhadap suhu. Sensor ini mudah diintegrasikan dengan mikrokontroler karena hanya membutuhkan tiga pin (VCC, Output, dan Ground). Pada proyek ini, LM35 digunakan sebagai komponen utama untuk mendeteksi suhu lingkungan secara real-time, kemudian nilai analog tersebut dikonversi oleh ADC (Analog to Digital Converter) pada ATmega16.

 

2.3    LCD 16×2

     
Gambar 2.3 LCD 16X2

LCD 16×2 merupakan modul tampilan yang mampu menampilkan hingga dua baris teks dengan masing-masing 16 karakter. LCD ini sering digunakan pada berbagai proyek mikrokontroler karena mudah diprogram melalui mode 4-bit atau 8-bit. Pada proyek ini, LCD 16×2 dipakai untuk menampilkan hasil pengukuran suhu dari sensor LM35 sehingga pengguna dapat melihat perubahan suhu secara langsung.

 

2.4      Kipas DC 12V

    
Gambar 2.4 Kipas DC 12V

Kipas DC bertegangan 12V berfungsi sebagai aktuator yang digunakan untuk menghasilkan aliran udara guna menurunkan suhu lingkungan. Pada sistem ini, kipas dikendalikan melalui sinyal dari mikrokontroler. Kipas akan hidup atau mati sesuai dengan hasil pembacaan suhu yang telah diproses oleh ATmega16.

 

2.5    Breadboard dan Kabel Jumper


 

                         
      Pengertian, Jenis dan Prinsip Kerja Breadboard Arduino - Edukasi  Elektronika | Electronics Engineering Solution and Education
Gambar 2.5 Breadboard dan Kabel Jumper

Breadboard digunakan untuk merangkai komponen tanpa proses penyolderan, sehingga memudahkan dalam pengujian dan perbaikan rangkaian. Kabel jumper digunakan untuk menghubungkan antar pin komponen pada breadboard.

 

2.6      Modul Step Down LM2596

     
   Gambar 2.6 Modul Step Down LM2596

Modul step down LM2596 digunakan untuk menurunkan tegangan agar sesuai dengan kebutuhan mikrokontroler dan komponen logika lainnya. Meskipun bukan pemroses data, modul ini memproses tegangan dengan menurunkan 12V menjadi 5V sehingga mikrokontroler dan komponen logika dapat bekerja dengan aman.

 

2.7      Relay 5V


Gambar 2.7 Relay 5V

Relay 5V menjadi komponen output yang menerima sinyal sebagai saklar elektronik untuk menghubungkan atau memutuskan aliran listrik ke kipas 12V. Relay dikendalikan oleh sinyal digital dari ATmega16 (logika HIGH/LOW). Fungsi relay pada proyek ini untuk mengaktifkan kipas saat suhu mencapai batas tertentu dan mengisolasi rangkaian low voltage (mikrokontroler) dari high voltage (beban 12V) sehingga sistem aman.

 

2.8   USB ASP


  Gambar 2.8 USB ASP

USBasp adalah perangkat programmer yang digunakan untuk memasukkan program (upload firmware) ke dalam mikrokontroler AVR. Alat ini bekerja melalui komunikasi USB dan menggunakan protokol ISP (In-System Programming), sehingga dapat memprogram mikrokontroler tanpa harus melepas chip dari rangkaian.

 

2.9    Adaptor 12V DC 2A

Gambar 2.9 Adaptor 12V DC 2A

Adaptor 12V DC 2A merupakan sumber daya utama untuk seluruh rangkaian. Adaptor berfungsi sebagai sumber tegangan utama yang menyuplai daya ke seluruh rangkaian, termasuk kipas, modul step-down, dan mikrokontroler. sehingga sistem memperoleh suplai yang stabil.

 

2.10  Cassing (Tempat Projek)

 Gambar 2.10 Cassing (Tempat projek)

Casing atau kotak proyek merupakan wadah fisik yang digunakan untuk menempatkan seluruh rangkaian elektronik, termasuk mikrokontroler, sensor, tampilan LCD, relay, dan komponen pendukung lainnya. Casing biasanya terbuat dari bahan seperti akrilik, plastik ABS, plywood, atau box project khusus elektronik.


2.11    Proteus

Gambar 2.11 Software Proteus

            Proteus digunakan sebagai software simulasi untuk menguji rangkaian sebelum diimplementasikan secara fisik

 

 

2.12           CodeVision AVR

  
Gambar 2.12 Software CodeVision AVR

CodeVision AVR digunakan untuk menulis dan meng-compile program mikrokontroler ATmega16. Software ini membantu dalam proses debugging serta verifikasi logika program.

 

2.13           ProgISP

Gambar 2.13 Software ProgISP

               ProgISP adalah perangkat lunak (software) yang digunakan untuk memprogram mikrokontroler AVR (seperti ATmega, ATtiny, dan sejenisnya) melalui metode ISP (In-System Programming). Software ini berfungsi sebagai penghubung antara komputer dan mikrokontroler, biasanya dengan bantuan hardware programmer seperti USBasp.

 



BAB III

PERANCANGAN ALAT

     3.1  Daftar Alat dan Bahan

1.     Mikrokontroller Atmega 16

2.     Sensor Suhu LM35

3.     LCD 16x2

4.     Kipas DC 12V

5.     Breadboard dan Kabel Jumper

6.     Modul Step Down LM2596

7.     Relay 5V

8.     Adaptor 12V DC 2A

9.     Cassing (Tempat Projek)

10.  USB ASP

 

3.2  Cara Kerja

Sistem Air Temperature Switching and Monitoring dirancang untuk memantau dan mengatur suhu udara secara otomatis menggunakan sensor suhu LM35 berbasis mikrokontroler ATmega16. Sistem ini bekerja dengan sumber catu daya dari adaptor 12 V DC 2 A. Tegangan 12 V digunakan untuk mensuplai kipas DC dan relay, sedangkan modul step-down LM2596 menurunkan tegangan menjadi 5 V yang digunakan oleh mikrokontroler ATmega16, sensor LM35, LCD 16×2, serta rangkaian logika lainnya agar dapat bekerja secara aman dan stabil.

Sensor LM35 mendeteksi suhu lingkungan dan menghasilkan tegangan analog yang sebanding dengan suhu udara. Tegangan analog tersebut kemudian masuk ke kanal ADC pada ATmega16 dan dikonversi menjadi data digital. Data hasil konversi selanjutnya diproses oleh mikrokontroler untuk memperoleh nilai suhu dalam satuan derajat Celcius.

Nilai suhu yang telah dihitung kemudian dibandingkan dengan nilai batas (threshold) yang telah ditentukan, yaitu 37 °C. Apabila suhu berada di bawah 37 °C, sistem menganggap kondisi masih dingin, sedangkan jika suhu sama dengan atau melebihi 37 °C, kondisi dianggap panas. Nilai suhu hasil pengukuran ditampilkan pada LCD 16×2 secara real-time sehingga pengguna dapat memantau perubahan suhu secara langsung.

Pengendalian kipas DC 12 V dilakukan melalui relay 5 V yang dikendalikan oleh mikrokontroler ATmega16. Ketika suhu berada di bawah 37 °C, relay berada pada kondisi OFF sehingga kipas tidak menyala. Sebaliknya, ketika suhu mencapai atau melebihi 37 °C, relay akan aktif (ON) dan menghubungkan tegangan 12 V ke kipas sehingga kipas menyala.

 

3.3  Diagram Blok


           

Gambar 3.1 Diagram blok Air Temperature Switching and Monitoring System

 

3.4  Flowchart


 %3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20edge%3D%221%22%20parent%3D%221%22%20style%3D%22endArrow%3Dnone%3Bhtml%3D1%3Brounded%3D0%3B%22%20value%3D%22%22%3E%3CmxGeometry%20height%3D%2250%22%20relative%3D%221%22%20width%3D%2250%22%20as%3D%22geometry%22%3E%3CmxPoint%20x%3D%22690%22%20y%3D%22370%22%20as%3D%22sourcePoint%22%2F%3E%3CmxPoint%20x%3D%22720%22%20y%3D%22330%22%20as%3D%22targetPoint%22%2F%3E%3C%2FmxGeometry%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel%3

Gambar 3.2 Flowchart Air Temperature Switching and Monitoring System

  

3.5  Gambar Rangkaian


        

     Gambar 3.3 Gambar Rangkaian Air Temperature Switching and Monitoring System

 

3.6  Kode Program

#include <mega16a.h>

#include <stdio.h>

#include <delay.h>

 

// Alphanumeric LCD functions

#include <alcd.h>

 

// Declare your global variables here

 

// Voltage Reference: AREF pin

#define ADC_VREF_TYPE ((0<<REFS1) | (0<<REFS0) | (0<<ADLAR))

#define RELAY PORTB.0

unsigned int dataadc;

float suhucelcius;

char buffer[16];

float last_suhu = -100.0;

 

// Read the AD conversion result

unsigned int read_adc(unsigned char adc_input)

{

ADMUX=adc_input | ADC_VREF_TYPE;

// Delay needed for the stabilization of the ADC input voltage

delay_us(10);

// Start the AD conversion

ADCSRA|=(1<<ADSC);

// Wait for the AD conversion to complete

while ((ADCSRA & (1<<ADIF))==0);

ADCSRA|=(1<<ADIF);

return ADCW;

}

 

void main(void)

{

// Declare your local variables here

 

// Input/Output Ports initialization

// Port A initialization

// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In

DDRA=(0<<DDA7) | (0<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) | (0<<DDA0);

// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T

PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0);

 

// Port B initialization

// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In

DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) | (0<<DDB0);

// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T

PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);

 

// Port C initialization

// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In

DDRC=(0<<DDC7) | (0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2) | (0<<DDC1) | (0<<DDC0);

// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T

PORTC=(0<<PORTC7) | (0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0);

 

// Port D initialization

// Function: Bit7=Out Bit6=Out Bit5=Out Bit4=Out Bit3=Out Bit2=Out Bit1=Out Bit0=Out

DDRD=(1<<DDD7) | (1<<DDD6) | (1<<DDD5) | (1<<DDD4) | (1<<DDD3) | (1<<DDD2) | (1<<DDD1) | (1<<DDD0);

// State: Bit7=0 Bit6=0 Bit5=0 Bit4=0 Bit3=0 Bit2=0 Bit1=0 Bit0=0

PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0);

 

// Timer/Counter 0 initialization

// Clock source: System Clock

// Clock value: Timer 0 Stopped

// Mode: Normal top=0xFF

// OC0 output: Disconnected

TCCR0=(0<<WGM00) | (0<<COM01) | (0<<COM00) | (0<<WGM01) | (0<<CS02) | (0<<CS01) | (0<<CS00);

TCNT0=0x00;

OCR0=0x00;

 

// Timer/Counter 1 initialization

// Clock source: System Clock

// Clock value: Timer1 Stopped

// Mode: Normal top=0xFFFF

// OC1A output: Disconnected

// OC1B output: Disconnected

// Noise Canceler: Off

// Input Capture on Falling Edge

// Timer1 Overflow Interrupt: Off

// Input Capture Interrupt: Off

// Compare A Match Interrupt: Off

// Compare B Match Interrupt: Off

TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (0<<WGM10);

TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (0<<CS10);

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: Timer2 Stopped

// Mode: Normal top=0xFF

// OC2 output: Disconnected

ASSR=0<<AS2;

TCCR2=(0<<PWM2) | (0<<COM21) | (0<<COM20) | (0<<CTC2) | (0<<CS22) | (0<<CS21) | (0<<CS20);

TCNT2=0x00;

OCR2=0x00;

 

// Timer(s)/Counter(s) Interrupt(s) initialization

TIMSK=(0<<OCIE2) | (0<<TOIE2) | (0<<TICIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (0<<TOIE1) | (0<<OCIE0) | (0<<TOIE0);

 

// External Interrupt(s) initialization

// INT0: Off

// INT1: Off

// INT2: Off

MCUCR=(0<<ISC11) | (0<<ISC10) | (0<<ISC01) | (0<<ISC00);

MCUCSR=(0<<ISC2);

 

// USART initialization

// USART disabled

UCSRB=(0<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (0<<RXEN) | (0<<TXEN) | (0<<UCSZ2) | (0<<RXB8) | (0<<TXB8);

 

// Analog Comparator initialization

// Analog Comparator: Off

// The Analog Comparator's positive input is

// connected to the AIN0 pin

// The Analog Comparator's negative input is

// connected to the AIN1 pin

ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0);

 

// ADC initialization

// ADC Clock frequency: 156,250 kHz

// ADC Voltage Reference: AREF pin

// ADC Auto Trigger Source: ADC Stopped

ADMUX=ADC_VREF_TYPE;

ADCSRA=(1<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) | (1<<ADPS2) | (1<<ADPS1) | (0<<ADPS0);

SFIOR=(0<<ADTS2) | (0<<ADTS1) | (0<<ADTS0);

 

// SPI initialization

// SPI disabled

SPCR=(0<<SPIE) | (0<<SPE) | (0<<DORD) | (0<<MSTR) | (0<<CPOL) | (0<<CPHA) | (0<<SPR1) | (0<<SPR0);

 

// TWI initialization

// TWI disabled

TWCR=(0<<TWEA) | (0<<TWSTA) | (0<<TWSTO) | (0<<TWEN) | (0<<TWIE);

 

// Alphanumeric LCD initialization

// Connections are specified in the

// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:

// RS - PORTD Bit 0

// RD - PORTD Bit 1

// EN - PORTD Bit 2

// D4 - PORTD Bit 4

// D5 - PORTD Bit 5

// D6 - PORTD Bit 6

// D7 - PORTD Bit 7

// Characters/line: 16

lcd_init(16);

 

DDRB.0 = 1;    // Relay output

// Alphanumeric LCD initialization

lcd_init(16);

 

// Relay output

DDRB.0 = 1;

while (1)

{

    // Baca ADC

    dataadc = read_adc(0);

    suhucelcius = ((dataadc * 5.0) / 1024.0) * 100.0;

 

    // Kontrol Relay

    if (suhucelcius >= 36)

    {

        RELAY = 0;   // Relay ON

    }

    else

    {

        RELAY = 1;   // Relay OFF

    }

 

    // Update LCD bila suhu berubah

    if ((int)suhucelcius != (int)last_suhu)

    {

        lcd_gotoxy(0,0);

        lcd_puts("Suhu sekarang :");

 

        lcd_gotoxy(0,1);

        lcd_puts("                "); // clear baris

        lcd_gotoxy(0,1);

 

        sprintf(buffer, "%0.0f C", suhucelcius);

        lcd_puts(buffer);

 

        last_suhu = suhucelcius;

    }

 

    delay_ms(500);

}

}

 

 


BAB IV

HASIL DAN PEMBAHASAN

4.1   Hasil

                                                           

                          Gambar 4.1 Hasil Realisasi Air Temperature Switching and Monitoring System berbasis ATmega16

 

4.2  Pembahasan

Berdasarkan hasil realisasi sistem Air Temperature Switching and Monitoring berbasis mikrokontroler ATmega16, dapat diketahui bahwa sistem telah bekerja sesuai dengan perancangan yang dibuat. Seluruh komponen utama, yaitu sensor LM35, mikrokontroler ATmega16, LCD 16×2, relay 5 V, kipas DC 12 V, serta modul step-down LM2596, dapat berfungsi dan saling terintegrasi dengan baik.

Sensor LM35 mampu mendeteksi suhu lingkungan dan menghasilkan tegangan analog yang kemudian dikonversi oleh ADC internal ATmega16 menjadi data digital. Data tersebut diolah oleh mikrokontroler untuk menghasilkan nilai suhu dalam satuan derajat Celcius dan ditampilkan pada LCD 16×2 secara real-time, sehingga memudahkan pengguna dalam memantau kondisi suhu udara.

Hasil pengujian menunjukkan bahwa sistem pengendalian kipas bekerja sesuai dengan nilai batas (threshold) yang telah ditentukan, yaitu 37 °C. Ketika suhu berada di bawah 37 °C, relay berada pada kondisi OFF sehingga kipas DC tidak menyala. Sebaliknya, saat suhu mencapai atau melebihi 37 °C, relay aktif dan menghubungkan tegangan 12 V ke kipas sehingga kipas menyala untuk menurunkan suhu lingkungan. Hal ini menunjukkan bahwa fungsi air switching berjalan dengan baik.

Penggunaan relay 5 V memungkinkan mikrokontroler dengan logika 5 V mengendalikan kipas 12 V secara aman, sedangkan modul step-down LM2596 memastikan suplai tegangan 5 V tetap stabil bagi rangkaian kontrol. Secara keseluruhan, sistem mampu melakukan pemantauan dan pengendalian suhu udara secara otomatis sesuai dengan tujuan perancangan.

 

 

BAB V

PENUTUP

5.1  Kesimpulan

Berdasarkan hasil perancangan, realisasi, dan pengujian sistem Air Temperature Switching and Monitoring berbasis mikrokontroler ATmega16, dapat disimpulkan bahwa sistem ini mampu melakukan pemantauan suhu udara dan pengendalian kipas pendingin secara otomatis. Sensor LM35 berhasil mendeteksi suhu lingkungan dan mengirimkan data ke mikrokontroler untuk diproses melalui ADC internal.

Hasil pengolahan data suhu ditampilkan pada LCD 16×2 secara real-time sehingga memudahkan pengguna dalam memantau kondisi suhu. Pengendalian kipas DC 12 V melalui relay 5 V bekerja sesuai dengan nilai batas suhu yang telah ditentukan, di mana kipas menyala saat suhu mencapai atau melebihi batas dan mati saat suhu berada di bawah batas tersebut.

Penggunaan relay dan modul step-down LM2596 memastikan sistem bekerja dengan aman dan stabil, baik pada rangkaian tegangan rendah maupun beban 12 V. Secara keseluruhan, sistem yang dirancang telah memenuhi tujuan proyek dan dapat dijadikan sebagai solusi dasar pengendalian suhu udara berbasis mikrokontroler.

 

5.2  Saran

1.     Pengembangan Sistem Pengendalian Kipas

Sistem dapat dikembangkan dengan menambahkan pengaturan kecepatan kipas berdasarkan nilai suhu sehingga proses pendinginan dapat bekerja lebih optimal dan efisien.

2.     Perbaikan Desain Perangkat Keras

Disarankan untuk memperbaiki tata letak rangkaian dan desain casing agar lebih rapi, aman, dan mudah dalam perawatan maupun pengembangan selanjutnya.

3.     Pengembangan Fitur Monitoring

Sistem dapat dikembangkan dengan menambahkan indikator tambahan atau tampilan informasi yang lebih lengkap pada LCD untuk meningkatkan kemudahan dalam proses monitoring.

 

 

DAFTAR PUSTAKA

[1] Microchip Technology Inc., ATmega16A Datasheet: 8-bit AVR Microcontroller, Microchip Technology Inc., 2018.

[2] Texas Instruments, LM35 Precision Centigrade Temperature Sensors Datasheet, Texas Instruments, 2017.

[3] Mazidi, M. A., Mazidi, J. G., dan McKinlay, R. D., The AVR Microcontroller and Embedded Systems: Using Assembly and C, Pearson Education, New Jersey, 2014.

[4] Kadir, A., Panduan Praktis Mempelajari Aplikasi Mikrokontroler ATmega, Andi Offset, Yogyakarta, 2018.

[5] Ibrahim, D., Microcontroller Based Applied Digital Control, John Wiley & Sons, Chichester, 2006.

[6] Suyanto, A., dan Prasetyo, E., “Perancangan Sistem Monitoring Suhu Berbasis Mikrokontroler AVR ATmega16,” Jurnal Teknik Elektro, vol. 9, no. 2, pp. 85–92, 2017.

[7] Putra, R. A., dan Hidayat, T., “Sistem Pengendalian Kipas Otomatis Menggunakan Sensor Suhu LM35 Berbasis Mikrokontroler,” Jurnal Teknologi dan Sistem Komputer, vol. 6, no. 1, pp. 12–18, 2018.

[8] Nugroho, A., “Aplikasi Sensor LM35 untuk Monitoring Suhu Ruangan Berbasis Mikrokontroler,” Jurnal Ilmiah Elektronika, vol. 5, no. 3, pp. 45–51, 2019.

[9] Rahmawati, D., dan Saputra, Y., “Perancangan Sistem Monitoring Suhu dan Kelembaban Berbasis Mikrokontroler,” Jurnal Teknik Elektro dan Komputer, vol. 7, no. 2, pp. 60–67, 2020.

[10] Labcenter Electronics Ltd., Proteus Design Suite User Manual, Labcenter Electronics, 2020.

[11] HP InfoTech, CodeVisionAVR C Compiler User Manual, HP InfoTech, 2019.

[12] Atmel Corporation, AVR In-System Programming (ISP) Application Note, Atmel, 2016.

 

 

BIODATA PENULIS



Nama penulis : Ammarsyah Mustika Yudha. Penulis dilahirkan di Semarang, 09 Agustus 2006. Penulis telah menempuh pendidikan formal di SMA Walisongo Semarang. Penulis mengikuti seleksi mahasiswa baru Diploma 3 (D3) di kampus Politeknik Negeri Semarang dengan Program Studi D3 Teknik Elektronika, Jurusan Teknik Elektro. Penulis terdaftar dengan NIM 3.32.24.0.03. Apabila terdapat kritik, saran, dan pertanyaan mengenai penelitian ini, bisa menghubungi melalui E-mail: ammarsyahyudha@gmail.com

 


Nama penulis : Eleazer Sameka Zola. Penulis dilahirkan di Semarang, 23 Juni 2006. Penulis telah menempuh pendidikan formal di SMK Negeri 07 Semarang. Penulis mengikuti seleksi mahasiswa baru Diploma 3 (D3) di kampus Politeknik Negeri Semarang dengan Program Studi D3 Teknik Elektronika, Jurusan Teknik Elektro. Penulis terdaftar dengan NIM 3.32.24.0.09. Apabila terdapat kritik, saran, dan pertanyaan mengenai penelitian ini, bisa menghubungi melalui E-mail: yohaneseleazer@gmail.com




Nama penulis : Melda Sabna Febriani. Penulis dilahirkan di Semarang, 26 Februari 2005. Penulis telah menempuh pendidikan formal di SMK Negeri 07 Semarang. Penulis mengikuti seleksi mahasiswa baru Diploma 3 (D3) di kampus Politeknik Negeri Semarang dengan Program Studi D3 Teknik Elektronika, Jurusan Teknik Elektro. Penulis terdaftar dengan NIM 3.32.24.0.17. Apabila terdapat kritik, saran, dan pertanyaan mengenai penelitian ini, bisa menghubungi melalui E-mail: meldasabna360@gmail.com

 


Nama penulis : Steven Ebzan Ruben Gamaliel. Penulis dilahirkan di Semarang, 14 Februari 2007. Penulis telah menempuh pendidikan formal di SMK Negeri 07 Semarang. Penulis mengikuti seleksi mahasiswa baru Diploma 3 (D3) di kampus Politeknik Negeri Semarang dengan Program Studi D3 Teknik Elektronika, Jurusan Teknik Elektro. Penulis terdaftar dengan NIM 3.32.24.0.24. Apabila terdapat kritik, saran, dan pertanyaan mengenai penelitian ini, bisa menghubungi melalui E-mail: stevenebzan@gmail.com

 

LAMPIRAN


1.     Link Youtube : Klik disini

2.     Link Canva    : Klik disni

 

 

 


Komentar

Postingan populer dari blog ini

RANCANG BANGUN KALKULATOR DIGITAL OPERASI KALI DAN BAGI BERBASIS MIKROKONTROLER AT89C51

SISTEM LAMPU LALU LINTAS PERTIGAAN BERBASIS AT89s51 DENGAN SENSOR INFRAMERAH