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
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:
- 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.
- Politeknik Negeri Semarang (POLINES) yang telah
menyediakan fasilitas pendukung bagi kelancaran penelitian dan pembuatan
proyek.
- Teman–teman kelompok 3 yang telah meluangkan
waktu, tenaga, dan pikiran untuk bekerja sama dalam menyelesaikan proyek
ini.
- Orang tua, yang selalu memberi doa, dukungan, dan
izin kepada anggota kelompok sehingga seluruh proses dapat berjalan dengan
baik.
- 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
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
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
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
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
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
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
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
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
Proteus
digunakan sebagai software simulasi untuk menguji rangkaian sebelum
diimplementasikan secara fisik
2.12
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
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
Posting Komentar