• Tidak ada hasil yang ditemukan

BAB 3 PERANCANGAN

3.5. Perancangan Perangkat Keras

3.5.3. Rangkaian Mikrokontroler ATmega 16

Rangkaian Mikrokontroler Atmega16 seperti ditunjukkan pada Gambar III.3. Mikrokontroler ini berfungsi untuk pengontrol rangkaian elektronik dan untuk menyimpan dan menjalankan program pada rangkaian yang telah diprogram. Rangkaian mikrokontroler ini terdiri dari Osilator Kristal (12 MHz), kapasitor (30 pF), resistor(4K7), dan Atmega 16. Keluaran mikrokontroler ATmega ini dihubungkan dengan relay, driver 4094 dan masukannya dihubungkan dengan tombol setting, keluaran sensor suhu LM35.

Gambar III.3. Mikrokontroler Atmega16

Dimana R1 dan C1 berfungsi sebagai reset otomatis yang terhubung pada Mikrokntroler Atmega 16 pin 9 (Reset) untuk merubah sinyal pada posisi 0000, tombol push button pada rankaian sebagai tombol untuk reset, X1 sebagai Master Clok (Frekuensi Dasar) dengan nilai 12MHz yang terhubung pada Mikrokontroler ATmega 16 pin 13 (XTAL1) dan pin 12 (XTAL2), PA0/ADC0 pin 40 terhubung ke Vout LM35.

PB0 pin 1 pada mikrokontroler Atmega 16 terhubung ke rangkaian setting suhu S1 untuk pemilihan suhu 35℃, PB1 pin 2 terhubung ke rangkaian setting suhu S2 untuk pemilihan suhu 36℃, PB2 pin 3 terhubung ke rangkaian setting suhu S3 untuk pemilihan suhu 37℃, PC0/SCL pin 22 pada mikrokontroler ATmega 16 terhubung ke rangkaian driver display (IC 4094) sebagai data, PC1/SDA pin 23 terhubung ke IC 4094 sebagai clok, PC2/TCK pin 24 terhubung

32

ke IC 4094 sebagai strobe, PC4/TD0 pin 26 terhubung ke driver heater, PC5/TD1 pin 27 terhubung ke buzzer, AREF pin 32 dan AVCC pin 30 dihubungkan ke +VCC 5VDC untuk pin referensi analog converter A/D.

3.5.4. Rankaian Sensor Suhu

Pada perancangan ini dirancang menggunakan sensor LM35 yang dirancang bangun seperti ditunjukkan pada Gambar III.4, Dimana Pin 1 sensor LM35 terhubung ke VCC +5V, pin 2 sebagai Vout dari sensor LM35 yang menjadi masukan untuk Mikrokontroler ATmega16 PortA0 pada pin 40, pin 3 terhubung pada grounding.

Gambar III.4. Rangkaian Sensor Suhu

Cara kerja rangkaian sensor LM35 ini merubah besar suhu ke besaran listrik dengan tegangan output yang linear, dimana rangkaian sensor suhu mendeteksi perubahan suhu pada heater dari besaran suhu kebesaran listrik. Pada saat perubahan suhu 1℃ akan menunjukkan tegangan sebesar 10mV, kemudian keluaran dari rangkaian sensor suhu akan dikirim ke Mikrokontroler Atmega 16.

3.5.5. Rangkaian Driver Display

Pada perancangan ini dirancang menggunakan IC 4094 sebagai driver untuk sevent segment, rangkaian 4094 sebagai 8 stage shift and store bus register

seperti ditunjukkan pada Gambar dibawah ini. Dimana IC 4094 menerima sinyal data bit dari mikrokontroler ATmega 16 dari PC0 Pin 22 yang terhubung pada IC 4094 U2 dan U3 Pin 2 Data, PC1 Pin 23 yang terhubung pada IC 4094 U2 dan U3 Pin 3 Clok, dan PC2 Pin 24 yang terhubung pada IC 4094 U2 dan U3 Pin 1 sebagai Strobe, Sinyal data bit diterima IC 4094 dari mikrokontroler atmega 16 secara serial dan dikeluarkan secara paralel ke transistor pada rangkaian display, yang akan di tampilkan pada display sevent segment dengan konversi bilangan BCD (Biner Convert To Decimal).

Gambar III.5. Rangkaian Driver Display 3.5.6. Rangkaian Display

Pada perancangan ini dirancang menggunakan sevent segment common katoda sebagai display dengan ukuran 9x10 cm, Rangkaian display berfungsi sebagai indikator untuk menampilkan angka dan decimal poin sebagai tampilan derajat dari hasil deteksi sensor suhu LM35. Rangkaian display ini dirancang dengan menggunakan komponen IC 4094, transistor C1815, dan sevent segment katoda.

Buffer dan Shift Register 4094 berfungsi untuk mengerakkan transistor sebagai saklar elektronik, transistor berfungsi sebagai saklar untuk menggerakkan sevent

34

segment yang membutuhkan tegangan 12 volt DC, dimana transistor menerima logic dan mengaktifkan sevent segment yang terhubung ke masing masing transistor.

Sinyal data bit diterima IC 4094 dari mikrokontroler atmega 16 secara serial dan dikeluarkan secara paralel ke transistor. Transistor yang terpasang sebanyak 8 buah per sevent segment, Rangkaian display sevent segment yang dirancang bangun seperti ditunjukkan pada Gambar di bawah ini:

Gambar III.6. Rangkaian Display

3.5.7. Rangkaian Driver Heater

Rangkaian driver heater ditunjukkan pada Gambar III.7, yang berfungsi sebagai saklar untuk menghubungkan tegangan 220VAC ke heater. Dimana rangkaian ini mengunakan modul relay yang dilengkapi dengan optocoupler, optocoupler berfungsi menjaga agar tidak terjadi arus balik yang dapat merusak komponen lain yang tidak kuat dengan tegangan tinggi dari arus balik seperti mikrokontroler, agar tegangan balik dari coil relay tidak sampai ke mikrokontroler yang hanya mampu menerima tegangan 5V, sedangkan tegangan balik dari coil relay bias lebih.

Gambar III.7. Rangkaian Driver Heater

Cara kerja dari rangkaian ini yaitu, supply tegangan 5 VDC dari Mikrokontroler ATmega 16 PC4 pin 26 menuju pin 1 optocoupler yang menyebabkan LED pada diode menyala dan menyebabkan photo transistor aktif (saturasi) karena photo transistor sensitive terhadap cahaya, sehingga pin 4 (Colektor) dan pin 3 (Emitor) pada optocoupler terhubung, sehingga tegangan 12 VDC masuk menuju relay, maka lilitan kawat (Coil) mendapat aliran arus listrik dan inti besi pada relay akan menghasilkan medan magnet dan menarik switch kontaktor yang mengubah Normaly Open (NO) menjadi Normaly Close (NC), maka tegangan 220 VAC masuk menuju heater.

3.6. Perancangan Perangkat Lunak (Sofware)

Untuk menjalankan rangkaian tidak cukup merancang bagian hardware saja, tetapi diperlukan adanya perangkat lunak (software), yaitu berupa program-program yang bertujuan untuk menggerakkan hardware sesuai dengan fungsi alat yang diinginkan. CPU (Central Processing Unit) pengendali utama yaitu mikrokontroler Atmega 16 yang dirancang dengan menggunakan program bahasa BASCOM (Basic Computer), program terlampir pada lampiran 4.

36

3.6.1. Flowchart

Gambar III.8 merupakan flowchart atau rancangan dari program mikrokontroler keseluruhan yang akan dibuat untuk alat ini.

Gambar III.8. Diagram Alur

Hidupkan alat, program akan melakukan inisialisasi untuk pengaturan setiap pin yang akan digunakan. Kemudian, pada Display 7 Segment akan ditampilkan tampilan awal yaitu “0.0”. Selanjutnya, tekan tombol S1 yaitu tombol untuk pemilihan suhu 35℃ atau tombol S2 yaitu tombol untuk pemilihan suhu 36 ℃ atau tombol S3 yaitu tombol untuk pemilihan suhu 37℃. Selanjtunya, setelah salah satu tombol setting ditekan maka Heater akan diaktifkan dan pada Display 7 Segment akan ditampilkan angka temperature yang dihasilkan Sensor Lm35.

Kemudian, apabila suhu < 2 atau >2 angka dari nilai settingan maka Alarm akan berbunyi. Selanjutnya, tekan Reset untuk mereset program atau kembali ke awal program maka Alarm akan mati.

3.6.2 Perancangan Program

Pembuatan bahasa program dirancang pada sofware extreme burner dengan menggunakan bahasa basic computer.

Adapun perancangan bahasa program tersebut adalah sebagai berikut : Tabel III.4 Program Perintah Rancangan Kerja

Perintah Program Keterangan

$regfile = “m16Adef.dat” Mendeklarasikan Mikrokontroler atau tipe mikrokontroler yang digunakan

$crystal = 12000000 Mendeklarasikan Kristal yang

digunakan dengan tipe Kristal 12Mhz

$baud =9600 Komunikasi serial dengan bandrate

9600

Pin_dt Alias PortC.0 Mengatur Pin PortC.0 untuk data

38

Pin_clk Alias PortC.1 Mengatur Pin PortC.1 untuk Clock Pin_str Alias PortC.2 Mengatur Pin PortC.2 untuk Strobe

Time_dly Alias 10 Lamanya waktu Scanning ditentukan

oleh delay

‘Init Pin Pendeklarasian Pin Input/Output

Config Portb.0 =Input

Konfigurasi Pin IC 4094yang digunakan sebagai keluaran

Deklarasi function Bagian yang terpisah dari program dan dapat dipanggil dimanapun didalam program

Declare Sub Set_data(byval Dtb As Byte) Menyatakan bagian data yang di set Declare Sub send_data(byval Dtst As String*8) Menyatakan bagian data yang dikirim Declare sub Digit(byval Dgt As Byte) Menyatakan jumlah bagian data Config Adc = Single, Prescaler = Auto ,

Reference = Internal

Konfigurasi pemilihan Counter yang digunakan

Start Adc Counter Adc yang dijalankan

Deklarasi Variable Pendeklarasian variable

Dim Set_suhu As Byte Channel = 0 Set_suhu = 35

Pendeklarasian variable 35 derajat Dim J As Integer Kode dari program, pendeklarasian J

bertipe Integer

If Tombol 1=0 Then Blok pernyataan 1 yang dikerjakan bila kondisi 1 terpenuhi

End If Akhir dari Akhir dari pernyataan

kondisi awal Alrm 1=Set_suhu +2

Alrm 1=Set_suhu -2

Program alarm bunyi ketika suhu pengaturannya melebihi 2 derajat atau dibawah 2 derajat dari suhu yang di setting

If Temp>Arlm 1 Then Alrmon=1

Rly_heater=1

Program perintah Alrm 1 hidup ketika Relay, dan Heater tetap hidup dan melebihi suhu yang di atur

If Temp<Arlm 2 Then Alrmon=1

Rly_heater=1

Program perintah Alarm 2, Heater hidup ketika kondisi suhu dibawah suhu yang di atur

Do Awal dari jalannya program

Loop Looping menuju awal program

Wait 1 Untuk pewaktuan, tunda waktu 1

Select Case Sat

Case 0 : Call Send_data(“00111111”)

Program untuk menampilkan angka satuan 0 yang di konversikan dan ditampilakn pada sevent segment Select Case Pul

Case 0 : Call Send_data(“00111111”)

Program untuk menampilkan angka puluhan yang di konversikan dan ditampilakn pada sevent segment Sub Send_data(byval Dtst As String *8) Bagian data yang dikirim

End Akhir dari program

40 BAB 4

HASIL DAN PEMBAHASAN 4.1. Metode Pengujian, Pengukuran dan Pengambilan Data

Untuk melakukan pengukuran dan pengambilan data telah di tetapkan metode yang akan di lakukan adalah sebagai berikut :

4.1.1. Metode Pengujian Alat

Pada perancangan rangkaian sistem heater dengan tampilan big display pada alat infant warmer ini metode pengujian alat dilakukan dengan menghubungkan alat kecatu daya untuk mengamati serta uji fungsi setiap rangkaian.

Prosedur pengujian alat dilakukan dengan cara sebagai berikut:

1. Catu daya dihubungkan untuk mensupply tegangan ke rangkaian dan mengaktifkan heater.

2. Hidupkan unit dengan menekan tombol ON/OFF pada posisi ON.

3. Setting suhu dengan menekan tombol setting suhu (35℃, 36℃, 37℃).

4. Heater akan bekerja sesuai dengan suhu yang diatur.

5. Selanjutnya hasil kinerja heater akan dikontrol oleh sensor suhu dan akan ditampilkan pada Display Sevent Segment.

6. Lakukan prosedur ke 3 dan ke 4 untuk pengaturan suhu selanjutnya.

4.1.2. Metode Pengukuran

Pada perancangan rangkaian sitem heater dengan tampilan big display pada alat infant warmer ini metode pengukuran dilakukan dengan menggunakan alat ukur multimeter pada range DCV, posisi probe hitam pada grounding dan

probe merah pada tiap titik pengukuran ( TP1,2,3,4,5, & TP 6 ) terhadap variable yang ditentukan dan mengamati secara langsung tegangan dan output yang ditampilkan pada display sevent segment.

a. Pengamatan tampilan display : Dilakukan untuk mengamati informasi yang dihasilkan pada tampilan display terhadap variabel perubah yang di berikan.

b. Pengukuran tegangan : dilakukan untuk mengetahui dan mengukur besar tegangan keluaran yang dihasilkan terhadap variabel perubah yang diberikan.

c. Pengamatan pulse : dilakukan untuk mengetahui panjang gelombang yang Terjadi pada suatu keluaran terhadap variabel perubah yang diberikan.

4.1.3. Metode Pengambilan Data

Pada perancangan rangkaian system heater dengan tampilan big display pada alat infant warmer terhadap pengukuran yang di lakukan pada titik pengukuran, Pengambilan dilakukan dengan menggunakan Osiloscope dan Multimeter yang digunakan untuk mengukur panjang gelombang dan perubahan tegangan dengan ketentuan sebagai berikut:

Pengambilan data dilakukan pada titik pengukuran yang di tetapkan pada titik pengukuran:

1. Tp1 untuk mengukur keluaran dari LM 35 yang menjadi masukan dari U1 ( Mikrokontroler Atmega 16 ) pin 40.

2. Tp2 untuk mengukur keluaran dari U1 ( Mikrokontroler Atmega 16 ) pin 22 (PC0 / SCL ) yang menjadi masukan dari U2a pin 2 (D) IC 4094.

42

3. Tp3 untuk mengukur keluaran dari U1 ( Mikrokontroler Atmega 16 ) pin 23 (PC1 / SDA) yang menjadi masukan dari U2a dan U2b pin 3 (CLK) IC 4094.

4. Tp4 untuk mengukur keluaran dari U1 ( Mikrokontroler Atmega 16 ) pin 24 (PC2 / TCK) yang akan menjadi masukan dari U2a dan U2b pin 1 (STB) IC 4094..

5. Tp5 untuk mengukur keluaran dari U1 ( Mikrokontroler Atmega 16 ) pin 26 (PC4 / TD0) yang menjadi masukan dari U4 sebagai poto coupler.

6. Tp6 untuk mengukur keluaran dari U1 ( Mikrokontroler Atmega 16 ) pin 27 (PC5 / TD1) untuk melihat kondisi tegangan pada buzzer.

4.1.4. Penyajian Data Pengukuran

Tabel IV.1. pengukuran menggunakan Multimeter pada range DCV:

Temperatur

Titik Pengukuran ke volt Output Display

TP1 TP2 TP3 TP4 TP5 TP6

32℃ 315 mV 0 0 5 V 5 V 5V 32℃

35℃ 336 mV 1,18mV 1,18mV 5 V 5 V 0 35℃

36℃ 377 mV 1,18mV 1,18mV 5 V 5 V 0 36℃

37℃ 380 mV 1,18mV 1,18mV 5 V 5 V 0 37℃

40℃ 400 mV 0 0 5 V 5 V 5V 40℃

Tabel IV.2. pengukuran suhu 32℃ menggunakan alat ukur Oscilloscope:

Temperatur Titik

Pengukuran

Vpp dan Frekuensi (Hz) Osiloscope

32℃ TP1

TP2

TP3

44

TP4

TP5

TP6

Tabel IV.3. pengukuran suhu 35℃ menggunakan alat ukur Oscilloscope:

Temperatur Titik

Pengukuran

Vpp dan Frekuensi (Hz) Osiloscope

35℃ TP1

TP2

TP3

46

TP4

TP5

TP6

Tabel IV.4. pengukuran suhu 36℃ menggunakan alat ukur Oscilloscope:

Teperature Titik

Pengukuran

Vpp dan Frekuensi (Hz) Osiloscope

36℃ TP1

TP2

TP3

48

TP4

TP5

TP6

Tabel IV.5. pengukuran suhu 37℃ menggunakan alat ukur Oscilloscope:

Teperature Titik

Pengukuran

Vpp dan Frekuensi (Hz) Osiloscope

37℃ TP1

TP2

TP3

50

TP4

TP5

TP6

Tabel IV.6. pengukuran suhu 40℃ menggunakan alat ukur Oscilloscope:

Teperature Titik

Pengukuran

Vpp dan Frekuensi (Hz) Osiloscope

40℃ TP1

TP2

52

TP3

TP4

TP5

TP6

4.1.5. Analisa Data

Konversi Tegangan terhadap Temperature output dari sensor suhu LM 35 pada titik pengukuran ( Tp1 ) dengan variable (32,35, 36, 37,40)℃:

Vout = 10 mV / 1℃, Vout = 10 mV / perubahan mV satu derajat celcius

Jika terbaca tegangan Vout = 300mV, Maka temperature nya = 300mV / 10mV = 30℃.

Tabel IV.7. Analisa data Tp1 dengan variable 32, 35,36,37,40℃:

Variabel Vout Vout = 10 mV / 1 Derajat Celcius(℃)

32℃ 315mV 31,5 ℃

35℃ 366mV 36,6 ℃

36℃ 377mV 37,7 ℃

37℃ 380mV 38 ℃

40℃ 400mV 40 ℃

Konversi bilangan biner terhadap output Mikrokontroler ATmega 16 yang menjadi input dari Shift Register 4094 yang di konversikan ke bilangan decimal (BCD) terhadap Display Sevent Segment terhadap variable (32,35, 36, 37,40)℃.

54

Tabel IV.8. Tp2 dengan variabel 32,35,36,37,40℃:

Variabel Output Mikrokontroler Shift Register 4094

Display Sevent Segment 32℃ 01001111, 01011011 01001111 -3

01011011 -2

32

35℃ 01001111, 01101101 01001111 -3 01101101 -5

35

36℃ 01001111, 01111101 01001111 -3 01111101 -6

36

37℃ 01001111, 00000111 01001111 -3 00000111 -7

37

40℃ 01100110, 00111111 01001111 -4 00111111 -0

40

Pada tabel diatas Sinyal data bit (01001111, 01011111) dari Mikrokontroler ATmega 16 secara serial akan diterima Shift register 4094 dan akan dikeluarkan secara pararel Display sevent segment untuk menampilkan angka 32, sinyal data bit serial (01001111, 01101101) dari ATmega 16 diterima Shift register 4094 dan diparelkan untuk menampilkan angka 35, sinyal data bit serial (01001111, 01111101) dari ATmega 16 diterima Shift register 4094 dan diparelkan untuk menampilkan angka 36, sinyal data bit serial (01001111, 00000111) dari ATmega 16 diterima Shift register 4094 dan diparelkan untuk

menampilkan angka 37, sinyal data bit serial (01100110, 00111111) dari ATmega 16 diterima Shift register 4094 dan diparelkan untuk menampilkan angka 40.

Tabel IV.9. Kebenaran BCD 8 bit

Logic Biner Decimal

h g F E D c b a

Tabel IV.10. Analisa kondisi heater pada Tp5 terhadap variable 35℃:

Variabel Relay Heater

35℃ NO Tidak mendapat supply tegangan

33℃ NC Mendapat supply tegangan

Pada saat suhu sudah mencapai suhu 35℃, maka relay akan memutus supply tegangan 220 VAC pada heater atau relay pada posisi NO (Normaly open). Dan pada saat suhu turun pada suhu 33℃, maka relay berada pada posisi NC (Normaly Close) dan supply tegangan 220 VAC akan masuk ke heater.

Tabel IV.11. Analisa kondisi heater pada Tp5 terhadap variable 36℃:

Variabel Relay Heater

36℃ NO Tidak mendapat supply tegangan

34℃ NC Mendapat supply tegangan

56

Pada saat suhu sudah mencapai suhu 36℃, maka relay akan memutus supply tegangan 220 VAC pada heater atau relay pada posisi NO (Normaly open). Dan pada saat suhu turun pada suhu 34℃, maka relay berada pada posisi NC (Normaly Close) dan supply tegangan 220 VAC akan masuk ke heater.

Tabel IV.12. Analisa kondisi heater pada Tp5 terhadap variable 37℃:

Variabel Relay Heater

37℃ NO Tidak mendapat supply tegangan

35℃ NC Mendapat supply tegangan

Pada saat suhu sudah mencapai suhu 37℃, maka relay akan memutus supply tegangan 220 VAC pada heater atau relay pada posisi NO (Normaly open). Dan pada saat suhu turun pada suhu 34℃, maka relay berada pada posisi NC (Normaly Close) dan supply tegangan 220 VAC akan masuk ke heater.

Tabel IV.13. Analisa kondisi buzzer pada Tp6 dengan variable (32,35,36,37 40)℃:

Variabel Output tegangan(Volt) Buzzer

32℃ 5V ON

35℃ 0 OFF

36℃ 0 OFF

37℃ 0 OFF

40℃ 5V ON

Pada tabel diatas buzzer akan aktif pada suhu 32℃ untuk alrm low ketika mendapat supply tegangan 5 VDC dan pada suhu 40℃ untuk alrm high ketika mendapat supply tegangan 5 VDC.

57 BAB 5

KESIMPULAN DAN SARAN 5.1. Kesimpulan

1. Mikrokontroler ATMega 16 sebagai pusat kendali untuk menerima data bit, memproses, dan mengeluarkannya.

2. Sensor Suhu LM35 berfungsi sebagai pengubah dari besaran fisis suhu ke besaran tegangan yang memiliki koefisien sebesar 10 mV /°C yang berarti bahwa kenaikan suhu 1°C maka akan terjadi kenaikan tegangan sebesar 10mV.

3. Pada alat Infant Warmer yang dirancang, pada suhu 32℃ akan terjadi alarm Low, dan pada suhu 40℃ akan terjadi alarm high.

5.2. Saran

1. Pembuatan modul sebaiknya dipersiapkan jauh hari supaya pemantapan modul semakin baik.

2. Pada saat melakukan pengukuran terhadap modul rangkaian Sistem Heater dengan tampilan Big Display pada alat Infant Warmer sebaiknya menggukan alat ukur sesuai satuan keluaran dari masing masing titik pengukuran.

3. Buku pegangan yang terdapat di perpustakaan perlu ditambah terutama sekali buku data sheet yang sangat diperlukan saat pembuatan modul.

4. Ketika melakukan proses pengukuran pada modul,ada baiknya di persiapkan dokumentasi sebagai bukti bahwasannya pengukuran memang betul betul dilakukan.

58 DAFTAR PUSTAKA

Andrianto, Heri. 2013. “Pemrograman Mikrokontroler AVR ATmega16 menggunakan Bahasa C (Code Vision AVR) edisirevisi”.Penerbit Informatika Rm.Francis.D.Yuri. (Desember 2001). Belajar Elektronika Tanpa Guru.

PenerbitM2S Bandung : Anggota IKAPI

Benedictus,JR.2020,Infant Warmer, https://www.academia.edu/6688717/Infant-Warmer/,28 Januari 2020

Copyright,2019,Teknik Elektronika, https://teknikelektronika.com/pengertian-seven-segment-display-layar-tujuh-segmen/,30 Januari 2020

Copyright,2019, Teknik Elektronika, https://teknikelektronika.com/pengertian-relay-fungsi-relay/,29 Januari 2020

Copyrigth,2013,Elektronika Dasar, https://elektronika-dasar.web.id/sensor-suhu-ic-lm35/,30 Januari 2020

Fisher&Paykel,Healthcare,2006, IW900 Series Warmer and Accessoris Technical Manual, Auckland,New Zealand

Wijayanto,I.2014, Mikrokontroler Almel AVR ATmega16, https://iwijayanto.staff.telkomuniversity.ac.id/mikrokontroler-atmel-avr-atmega-16/, 30 January 2020

LAMPIRAN

Lampiran 1. Wiring Diagram

PB0/T0/XCK

Lampiran 2. Listing Program

$regfile = "m16Adef.dat"

$crystal = 12000000

$baud = 9600

$hwstack = 32

$swstack = 10

$framesize = 40

Deklarasi PIN ============================

Led Alias Portd.7 Pin_dt Alias Portc.0 Pin_clk Alias Portc.1 Pin_str Alias Portc.2 Time_dly Alias 10 Tombol1 Alias Pinb.2 Tombol2 Alias Pinb.1 Tombol3 Alias Pinb.0 Buzzer Alias Portc.5 Rly_heater Alias Portc.3

' Init PIN =====================================

Config Rly_heater = Output Config Buzzer = Output Config Led = Output Config Portb.0 = Input

Config Portb.1 = Input Config Portb.2 = Input

Portb = 255 Rly_heater = 1

Config Pin_dt = Output Config Pin_clk = Output Config Pin_str = Output

Deklarasi fucntion ============================

Dim A As Byte Dim Dts As String * 5

Declare Sub Set_data(byval Dtb As Byte)

Declare Sub Send_data(byval Dtst As String * 8) Declare Sub Digit(byval Dgt As Byte)

Config Adc = Single , Prescaler = Auto , Reference = Internal Start Adc

Deklarasi Variabel ============================

Dim W As Word Dim Channel As Byte

Dim Nil As Single

Dim Nil_str As String * 4 Dim Temp As Byte Dim Set_suhu As Byte Channel = 0

Set_suhu = 35

Dim Tmr_sedetik As Integer Dim Tmr_alarm As Integer Dim Dt As Bit

Dim I As Integer Dim J As Integer Dim Cnt As Byte Dim Alarmon As Byte Dim Alrm1 As Byte Dim Alrm2 As Byte Print "START"

Tmr_sedetik = 1000

'Program Utama =================================

Do

'Led = 1

If Tombol1 = 0 Then ' 5 menit 'Led = 0

Set_suhu = 35

End If

If Tombol2 = 0 Then ' 10 menit 'Led = 0

Set_suhu = 36 End If

If Tombol3 = 0 Then ' 15 menit 'Led = 0

Set_suhu = 37 End If

Tmr_sedetik = Tmr_sedetik + 1 If Tmr_sedetik > 1000 Then Tmr_sedetik = 0

W = Getadc(channel) Nil = W * 5

Nil = Nil / 10 'Nil = W * 0.489

If Nil > 99.0 Then Nil = 99.0 If Nil < 0.0 Then Nil = 0.0 'Nil_str = Fusing(nil , "#.&") Temp = Nil

Call Digit(temp) Alrm1 = Set_suhu + 2 Alrm2 = Set_suhu - 2 If Temp > Alrm1 Then Alarmon = 1

Rly_heater = 1

Elseif Temp > Set_suhu Then Alarmon = 0

Rly_heater = 1

Elseif Temp < Alrm2 Then Alarmon = 1

Rly_heater = 0

Elseif Temp < Set_suhu Then Alarmon = 0

Rly_heater = 0 Else

Alarmon = 0 Rly_heater = 1 End If

'Led = Not Led End If

Tmr_alarm = Tmr_alarm + 1

If Tmr_alarm > 200 Then Tmr_alarm = 0

If Alarmon = 1 Then Buzzer = Not Buzzer Led = Not Led Else

Buzzer = 0 Led = 0 End If End If

Waitms 1 Loop

Do

Cnt = Cnt + 1

If Cnt >= 100 Then Cnt = 0 Call Digit(cnt)

Waitms 300 Loop

Do

For I = 1 To 16

Call Set_data(1) Wait 1

Next

For I = 1 To 16 Call Set_data(0) Wait 1

Next Loop

'Funtion area ====================================

Sub Digit(byval Dgt As Byte) Dim Pul As Byte

Dim Sat As Byte If Dgt < 10 Then Pul = 0

Sat = Dgt Else

Pul = Dgt / 10 Sat = Dgt Mod 10 End If

Pin_str = 0 Waitus Time_dly Select Case Sat

Case 0 : Call Send_data( "00111111") 'hgfedcba

Case 1 : Call Send_data( "00000110") Case 2 : Call Send_data( "01011011") Case 3 : Call Send_data( "01001111") Case 4 : Call Send_data( "01100110") Case 5 : Call Send_data( "01101101") Case 6 : Call Send_data( "01111101") Case 7 : Call Send_data( "00000111") Case 8 : Call Send_data( "01111111") Case 9 : Call Send_data( "01101111") End Select

Select Case Pul

Case 0 : Call Send_data( "00111111") Case 1 : Call Send_data( "00000110") Case 2 : Call Send_data( "01011011") Case 3 : Call Send_data( "01001111") Case 4 : Call Send_data( "01100110") Case 5 : Call Send_data( "01101101") Case 6 : Call Send_data( "01111101") Case 7 : Call Send_data( "00000111") Case 8 : Call Send_data( "01111111") Case 9 : Call Send_data( "01101111") End Select

Pin_str = 1

Waitus Time_dly End Sub

Sub Send_data(byval Dtst As String * 8) Dim Jlh As Byte

Jlh = Len(dtst) For J = 1 To Jlh

If Mid(dtst , J , 1) = "1" Then Call Set_data(0)

Else

Call Set_data(1) End If

Next End Sub

Sub Set_data(byval Dtb As Byte) If Dtb = 1 Then

Pin_dt = 1 Else

Pin_dt = 0 End If

Waitus Time_dly Pin_clk = 1 Waitus Time_dly Pin_clk = 0

Waitus Time_dly End Sub

End

Lampiran 6. Tampilan Pengukuran Dengan Osiloscope

Lampiran 7. Gambar pada saat melakukan pengukuran dengan Osiloscope

Dokumen terkait