20
17 BAB III PERANCANGAN Pada bab ini membahas tentang perancangan sistem, yaitu perangkat keras dan perangkat lunak, kedua bagian dari sistem ini saling menunjang saat menjalankan sistem sehingga bisa diperoleh hasil yang diinginkan. Perancangan perangkat keras melingkupi perancangan rangkaian NTC sebagai pembaca suhu, rangkaian keypad 4x4, servo, rangkaian keseluruhan sistem, rangkaian LCD 16X2, dan rancangan perangkat lunak pendukung. Adapun perancangan mengacu sebagaimana uraian pada pembahasan berikut: 3.1 Diagram Alur Sistem Berikut adalah diagram alur sistem otomasi dispenser. Gambar 3.1 Diagram Alur Sistem Otomasi Dispenser Dari gambar 3.1 di atas dapat kita lihat diagram dari sistem otomasi dispenser. Sistem ini disuplai oleh sumber AC, sumber AC digunakan sebai sumber tegangan dan arus. Sumber AC disusun seri dengan komponen TRIAC. Komponen TRIAC tersusun dari dua SCR yang saling anti paralel. Tujuannya adalah sebagai penyuplai arus untuk heater. Besarnya arus diatur oleh kontrol suhu menggunakan PID, untuk

BAB III PERANCANGAN - eprints.umm.ac.ideprints.umm.ac.id/39502/4/BAB III.pdf · PA3/ADC3 37 PA2/ADC2 38 PA1/ADC1 39 PA0/ADC0 40 AREF 32 AVCC 30 U3 ATMEGA16. 20 Pada perancangan rangkaian

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: BAB III PERANCANGAN - eprints.umm.ac.ideprints.umm.ac.id/39502/4/BAB III.pdf · PA3/ADC3 37 PA2/ADC2 38 PA1/ADC1 39 PA0/ADC0 40 AREF 32 AVCC 30 U3 ATMEGA16. 20 Pada perancangan rangkaian

17

BAB III

PERANCANGAN

Pada bab ini membahas tentang perancangan sistem, yaitu perangkat keras dan

perangkat lunak, kedua bagian dari sistem ini saling menunjang saat menjalankan

sistem sehingga bisa diperoleh hasil yang diinginkan. Perancangan perangkat keras

melingkupi perancangan rangkaian NTC sebagai pembaca suhu, rangkaian keypad

4x4, servo, rangkaian keseluruhan sistem, rangkaian LCD 16X2, dan rancangan

perangkat lunak pendukung. Adapun perancangan mengacu sebagaimana uraian pada

pembahasan berikut:

3.1 Diagram Alur Sistem

Berikut adalah diagram alur sistem otomasi dispenser.

Gambar 3.1 Diagram Alur Sistem Otomasi Dispenser

Dari gambar 3.1 di atas dapat kita lihat diagram dari sistem otomasi dispenser.

Sistem ini disuplai oleh sumber AC, sumber AC digunakan sebai sumber tegangan

dan arus. Sumber AC disusun seri dengan komponen TRIAC. Komponen TRIAC

tersusun dari dua SCR yang saling anti paralel. Tujuannya adalah sebagai penyuplai

arus untuk heater. Besarnya arus diatur oleh kontrol suhu menggunakan PID, untuk

Page 2: BAB III PERANCANGAN - eprints.umm.ac.ideprints.umm.ac.id/39502/4/BAB III.pdf · PA3/ADC3 37 PA2/ADC2 38 PA1/ADC1 39 PA0/ADC0 40 AREF 32 AVCC 30 U3 ATMEGA16. 20 Pada perancangan rangkaian

18

menaikkan dan menurunkan arusnya menggunakan PWM sebagai on/of. Dari PWM

masuk ke kaki gate SCR yang nantinya diproses untuk menaikkan atau menurunkan

suhu. Arus yang masuk ke heater diatur sesuai kebutuhan. Seting suhu dimasukkan

melalui keypad matrix 4x4. Terdapat 3 input waktu dan suhu, yaitu waktu pagi, siang

dan malam, saat waktu yang diseting sedang berjalan maka heater akan aktif

memanaskan air menghasilkan suhu sesuai input dari keypad, di luar zona waktu

yang telah diseting heater akan mati. Kemudian saat diletakkan gelas dibawah kran

sensor inframerah akan terhalang, air akan mengucur secara otomatis sampai jarak

kran dengan ketinggian air mencapai 5cm maka motor servo akan berputar yang

menyebabkan kran tertutup.

3.2 Perancangan Perangkat Keras

3.2.1 Perancangan Sensor Suhu LM35

Untuk dapat membaca suhu pada heater, maka dibutuhkan sensor suhu.

Adapun sensor suhu yang digunakan pada perancangan ini adalah menggunakan

LM35. LM35 merupakan sensor temperature yang mempunyai resistansi peka

terhadap perubahan suhu sekitar sehingga sangat cocok digunakan untuk membaca

perubahan suhu heater yang digunakan untuk memanaskan air pada perancangan ini.

Adapun konfigurasi pin dan hubungannya terhadap rangkaian ATMega16

ditunjukkan pada Gambar 3.2:

Page 3: BAB III PERANCANGAN - eprints.umm.ac.ideprints.umm.ac.id/39502/4/BAB III.pdf · PA3/ADC3 37 PA2/ADC2 38 PA1/ADC1 39 PA0/ADC0 40 AREF 32 AVCC 30 U3 ATMEGA16. 20 Pada perancangan rangkaian

19

Gambar 3.2: Rangkaian Sensor Suhu LM35

3.2.2 Perancangan Keypad 4x4

Untuk proses masukan seting dari user, maka digunakan keypad 4X4.

Adapun konfigurasi pin-pin yang dipakai rangkaian keypad terhadap mikrokontroller

ATMega16 ditunjukkan pada Gambar 3.3.

Gambar 3.3 Perancangan Keypad 4x4

Sumber: perancangan

1 2 3

654

8 9

=

7

++C

ON0

A

B

C

D

1 2 43

PB0/T0/XCK1

PB1/T12

PB2/AIN0/INT23

PB3/AIN1/OC04

PB4/SS5

PB5/MOSI6

PB6/MISO7

PB7/SCK8

RESET9

XTAL212

XTAL113

PD0/RXD14

PD1/TXD15

PD2/INT016

PD3/INT117

PD4/OC1B18

PD5/OC1A19

PD6/ICP120

PD7/OC221

PC0/SCL22

PC1/SDA23

PC2/TCK24

PC3/TMS25

PC4/TDO26

PC5/TDI27

PC6/TOSC128

PC7/TOSC229

PA7/ADC733

PA6/ADC634

PA5/ADC535

PA4/ADC436

PA3/ADC337

PA2/ADC238

PA1/ADC139

PA0/ADC040

AREF32

AVCC30

U3

ATMEGA16

Page 4: BAB III PERANCANGAN - eprints.umm.ac.ideprints.umm.ac.id/39502/4/BAB III.pdf · PA3/ADC3 37 PA2/ADC2 38 PA1/ADC1 39 PA0/ADC0 40 AREF 32 AVCC 30 U3 ATMEGA16. 20 Pada perancangan rangkaian

20

Pada perancangan rangkaian keypad sebagaimana Gambar 3.3

menggunakan metode scanning baris yang dilakukan oleh perangkat lunak, dimana

pada proses tersebut 4 baris dari keypad diisi dengan cara hanya salah satu baris yang

bernilai nol, sementara baris lain berlogika 1, dengan demikian untuk mengetahui

salah satu tombol yang ditekan, mikrokontroler melakukan pembacaan kolom untuk

mengetahui apakah penekanan tombol terhadap data yang diberikan pada baris

keypad. Untuk itu karena keypad yang digunakan adalah 4x4 matrix, maka untuk

penanganan keypad memerlukan 1 buah port (8bit) yang mana pada perancangan ini

PORTA.0 hingga PORTA.3 bertugas sebagai output yang dikirimkan oleh

mikrokotroller untuk melakukan scan baris keypad sementara PORTA.4 hingga

PORTA.7 digunakan sebagai input untuk mendeteksi penekanan tombol yang mana

pada proses scanning disaat terjadi penekanan tombol, kolom akan berlogika Low (0).

Konfigurasi perancangan pin antar muka mikrokontroler dan keypad dapat dilihat

pada Tabel 3.1.

Tabel 3.1 Pin Antar Muka Mikrokontroler dan Keypad

No Port ATMEGA16 No Pin ATMEGA16 Pin Keypad

1 PA0 40 A

2 PA1 39 B

3 PA2 38 C

4 PA3 37 D

5 PA4 36 1

6 PA5 35 2

7 PA6 34 3

8 PA7 33 4

3.2.3 Perancangan Rangkaian LCD

Bagian penampil informasi pada perancangan blok diagram adalah

menggunakan LCD 16X2, dimana agar sistem yang dikendalikan oleh mikrocontroler

ATMega16 dapat diketahui dan dimengerti oleh manusia, maka diperlukan sebuah

Page 5: BAB III PERANCANGAN - eprints.umm.ac.ideprints.umm.ac.id/39502/4/BAB III.pdf · PA3/ADC3 37 PA2/ADC2 38 PA1/ADC1 39 PA0/ADC0 40 AREF 32 AVCC 30 U3 ATMEGA16. 20 Pada perancangan rangkaian

21

penampil informasi LCD. LCD digunakan untuk menampilkan menu-menu registrasi

pada sistem dan perintah-perintah yang dipantau manusia dalam melakukan

pengontrolan terhadap pintu yang dikontrol. LCD yang digunakan adalah LCD

M1632 yang mampu menampilkan karakter 2 baris 16 karakter. Adapun pin koneksi

rangkaian LCD terhadap kontroler (MCU) ditunjukkan pada Gambar 3.4:

Gambar 3.4 Rangkaian LCD

Sumber : Perancangan

Nilai R1 ditentukan 33K hal ini mengacu pada ketentuan datasheet

ATMega16, dimana resistor pul up untuk reset adalah 30K hingga 60K yang

disarankan (sumber:DC characteristic ATMega16 datasheet hal 285). Konfigurasi

pin antarmuka mikrokontroler dan LCD dapat dilihat pada Tabel 3.2.

Tabel 3.2 Pin Antarmuka Mikrokontroler dan LCD

No Port

ATMEGA16

Nomor Pin

ATMEGA16

Pin LCD

1 PC2 24 RS / 4

2 PC3 25 EN / 6

PB0/T0/XCK1

PB1/T12

PB2/AIN0/INT23

PB3/AIN1/OC04

PB4/SS5

PB5/MOSI6

PB6/MISO7

PB7/SCK8

RESET9

XTAL212

XTAL113

PD0/RXD14

PD1/TXD15

PD2/INT016

PD3/INT117

PD4/OC1B18

PD5/OC1A19

PD6/ICP120

PD7/OC221

PC0/SCL22

PC1/SDA23

PC2/TCK24

PC3/TMS25

PC4/TDO26

PC5/TDI27

PC6/TOSC128

PC7/TOSC229

PA7/ADC733

PA6/ADC634

PA5/ADC535

PA4/ADC436

PA3/ADC337

PA2/ADC238

PA1/ADC139

PA0/ADC040

AREF32

AVCC30

U2

ATMEGA16

D7

14

D6

13

D5

12

D4

11

D3

10

D2

9D

18

D0

7

E6

RW

5R

S4

VS

S1

VD

D2

VE

E3

LCD1LM016L

5V

Page 6: BAB III PERANCANGAN - eprints.umm.ac.ideprints.umm.ac.id/39502/4/BAB III.pdf · PA3/ADC3 37 PA2/ADC2 38 PA1/ADC1 39 PA0/ADC0 40 AREF 32 AVCC 30 U3 ATMEGA16. 20 Pada perancangan rangkaian

22

3 PC4 26 D4 /11

4 PC5 27 D5 /12

5 PC6 28 D6 /13

6 PC7 29 D7 /14

3.2.4 Perancangan RTC DS1307

Untuk proses penghitung data waktu pada perancangan, maka alat ini

membutuhkan sebuah RTC, RTC yang digunakan adalah RTC keluaran Dallas

Semiconductor type DS1307, yaitu sebuah Chip RTC yang menggunakan komunikasi

serial I2C bus. Adapun rangkaian RTC DS1307 ditunjukan pada Gambar 3.5.

Gambar 3.5 Rangkaian RTC DS1307

Nilai kristal 32,768Khz ditentukan dengan mengacu pada lembar datasheet,

sedangkan batteray 3V yang digunakan adalah litium 3V CR2032 untuk melakukan

proses update time pada saat catu daya utama RTC dinon-aktifkan. RTC DS1307

diakses secara serial menggunakan interface I2C, sehingga hanya membutuhkan dua

jalur yaitu clock dan data yang pada perancangan ini jalur clock (SCL RTC)

dihubungkan dengan PORTB.0, sementara jalur data (SDA RTC) dihbungkan ke

PORTB.1 sebagai alur keluar masuk data. Pin SQWout RTC merupakan pin interupsi

dari RTC yang dapat diprogram untuk memberikan interfal waktu interupsi pada

proses update waktu RTC. Konfigurasi pin antarmuka mikrokontroler dan RTC

DS1307 dapat dilihat pada Tabel 3.3.

PB0/T0/XCK1

PB1/T12

PB2/AIN0/INT23

PB3/AIN1/OC04

PB4/SS5

PB5/MOSI6

PB6/MISO7

PB7/SCK8

RESET9

XTAL212

XTAL113

PD0/RXD14

PD1/TXD15

PD2/INT016

PD3/INT117

PD4/OC1B18

PD5/OC1A19

PD6/ICP120

PD7/OC221

PC0/SCL22

PC1/SDA23

PC2/TCK24

PC3/TMS25

PC4/TDO26

PC5/TDI27

PC6/TOSC128

PC7/TOSC229

PA7/ADC733

PA6/ADC634

PA5/ADC535

PA4/ADC436

PA3/ADC337

PA2/ADC238

PA1/ADC139

PA0/ADC040

AREF32

AVCC30

AVR

ATMEGA16

5V

X132,768KHz

VBAT3

X11

X22

SCL6

SDA5

SOUT7

U1

DS1307

B13V

R1

33K

5V

Page 7: BAB III PERANCANGAN - eprints.umm.ac.ideprints.umm.ac.id/39502/4/BAB III.pdf · PA3/ADC3 37 PA2/ADC2 38 PA1/ADC1 39 PA0/ADC0 40 AREF 32 AVCC 30 U3 ATMEGA16. 20 Pada perancangan rangkaian

23

Tabel 3.3 Pin Antarmuka Mikrokontroler dan RTC DS1307

No Port

ATMEGA16

Nomor Pin

ATMEGA16

Pin RTC

1 PB0/T0/XCK 1 6/SCL

2 PB1/T1 2 5/SDA

3 PB2/AIN0/INT2 3 7/SOUT

3.2.5 Perancangan Rangkaian Motor Servo

Untuk dapat memutar kran air secara digital pada perancangan ini digunakan

motor servo. Bagian penggerak yang digunakan dalam perancangan ini adalah motor

servo, motor servo merupakan motor pengarah yang dapat dikontrol sudut derajatnya

menggunakan PWM dari perangkat lunak. Agar kran dapat melakukan open dan

close kran air maka motor servo yang digunakan adalah motor servo type MG996

merk towerpro. Kemudian perancangan rangkaian dan hubungan koneksi pin

terhadap ATMega16 ditunjukkan pada Gambar 3.6:

Gambar 3.6: Rangkaian Motor Servo

Sumber: perancangan

+88.8

MOTOR SERVO

PB0/T0/XCK1

PB1/T12

PB2/AIN0/INT23

PB3/AIN1/OC04

PB4/SS5

PB5/MOSI6

PB6/MISO7

PB7/SCK8

RESET9

XTAL212

XTAL113

PD0/RXD14

PD1/TXD15

PD2/INT016

PD3/INT117

PD4/OC1B18

PD5/OC1A19

PD6/ICP120

PD7/OC221

PC0/SCL22

PC1/SDA23

PC2/TCK24

PC3/TMS25

PC4/TDO26

PC5/TDI27

PC6/TOSC128

PC7/TOSC229

PA7/ADC733

PA6/ADC634

PA5/ADC535

PA4/ADC436

PA3/ADC337

PA2/ADC238

PA1/ADC139

PA0/ADC040

AREF32

AVCC30

U4

ATMEGA16

5V

Page 8: BAB III PERANCANGAN - eprints.umm.ac.ideprints.umm.ac.id/39502/4/BAB III.pdf · PA3/ADC3 37 PA2/ADC2 38 PA1/ADC1 39 PA0/ADC0 40 AREF 32 AVCC 30 U3 ATMEGA16. 20 Pada perancangan rangkaian

24

3.2.6 Perancangan Sensor Ultrasonic HCSR04

Untuk mengukur jarak diperlukan sensor yang dapat mengukur jarak dari

media didepan sensor. Sensor yang digunakan pada perancangan ini adalah sensor

ultrasonic tipe HCSR04. Sensor ini terdiri dari transponder dan receiver yang bekerja

memancarkan gelombang suara 40Khz dan menerima pantulan suara tersebut selang

beberapa waktu kemudian, karena pada HCSR04 telah terintegrasi dengan chip

pengontrol didalamnya, maka konversi waktu pantulan ke jarak dapat dilakukan

dengan mudah oleh mikrokontroler tanpa harus membangkitkan frekwensi. Dalam

merancang hubungan pin sensor ultrasonic HCSR04 terdiri dari 4 jalur yang meliputi

Ground, Vcc, Trigger dan Echo. Perancangan rangkaian sensor jarak ultrasonic

ditunjukkan sebagaimana Gambar 3.7:

Gambar 3.7 Rangkaian Sensor Jarak HCSR04

Sumber: perancangan

3.2.7 Perancangan Driver Heater Menggunakan TRIAC

Pada perancangan ini rangkaian pengatur keluaran arus yang digunakan

adalah rangkaian TRIAC, rangkaian TRIAC mempunyai tegangan suplay sebesar

220V, sementara itu tegangan sistem ATMega16 yang bertindak sebagai pengendali

TRIAC adalah 5V, maka untuk mengontrol TRIAC diperlukan rangkaian Driver

Vcc

trig

echo

gnd

5V

HCSR04 ULTRASONIC

PB0/T0/XCK1

PB1/T12

PB2/AIN0/INT23

PB3/AIN1/OC04

PB4/SS5

PB5/MOSI6

PB6/MISO7

PB7/SCK8

RESET9

XTAL212

XTAL113

PD0/RXD14

PD1/TXD15

PD2/INT016

PD3/INT117

PD4/OC1B18

PD5/OC1A19

PD6/ICP120

PD7/OC221

PC0/SCL22

PC1/SDA23

PC2/TCK24

PC3/TMS25

PC4/TDO26

PC5/TDI27

PC6/TOSC128

PC7/TOSC229

PA7/ADC733

PA6/ADC634

PA5/ADC535

PA4/ADC436

PA3/ADC337

PA2/ADC238

PA1/ADC139

PA0/ADC040

AREF32

AVCC30

U1

ATMEGA16

Page 9: BAB III PERANCANGAN - eprints.umm.ac.ideprints.umm.ac.id/39502/4/BAB III.pdf · PA3/ADC3 37 PA2/ADC2 38 PA1/ADC1 39 PA0/ADC0 40 AREF 32 AVCC 30 U3 ATMEGA16. 20 Pada perancangan rangkaian

25

yang pada rancangan ini menggunakan perantara OptoTriac sebagai pemisah beda

tegangan antara rangkaian TRIAC dan minimum sistem ATMega16. Rangkaian

TRIAC merupakan gabungan 2 buah SCR dan digunakan untuk mengontrol beban

AC serta proses pensaklarannya bebas dari unsur mekanik. Adapun perancangan

rangkaian TRIAC ditunjukkan pada Gambar 3.8.

Gambar 3.8 Rangkaian Driver TRIAC

Sumber: Perancangan

OptoDiac MOC 3021 digunakan pada rangkaian Driver TRIAC, nilai

resistansi 220 ohm pada rangkaian diatas ditentukan berdasarkan lembar datasheet

MOC3021 untuk penanganan beban resistive (RL) yang ditangani TRIAC

sebagaimana pada alat ini.

3.3 Perancangan Perangkat Lunak

3.3.1 Algoritma Pembacaan Keypad 4x4

Metode scan digunakan untuk membaca keypad matrix 4x4, adapun prosesnya

ditunjukkan sebagaimana flowchart pada Gambar 3.9.

1

2

6

4

OPTOTRIAC

MOC3021

TRIACQ4004L4

R12

10kHEATER

220V

R11

220

PB0/T0/XCK1

PB1/T12

PB2/AIN0/INT23

PB3/AIN1/OC04

PB4/SS5

PB5/MOSI6

PB6/MISO7

PB7/SCK8

RESET9

XTAL212

XTAL113

PD0/RXD14

PD1/TXD15

PD2/INT016

PD3/INT117

PD4/OC1B18

PD5/OC1A19

PD6/ICP120

PD7/OC221

PC0/SCL22

PC1/SDA23

PC2/TCK24

PC3/TMS25

PC4/TDO26

PC5/TDI27

PC6/TOSC128

PC7/TOSC229

PA7/ADC733

PA6/ADC634

PA5/ADC535

PA4/ADC436

PA3/ADC337

PA2/ADC238

PA1/ADC139

PA0/ADC040

AREF32

AVCC30

U5

ATMEGA16

5V

AC 220V

Page 10: BAB III PERANCANGAN - eprints.umm.ac.ideprints.umm.ac.id/39502/4/BAB III.pdf · PA3/ADC3 37 PA2/ADC2 38 PA1/ADC1 39 PA0/ADC0 40 AREF 32 AVCC 30 U3 ATMEGA16. 20 Pada perancangan rangkaian

26

Start

Inisialisasi

PD.7 = Baris 1/output

PD.6 = Baris 2/output

Scan baris 1

Data baris = 01111111

Kolom1=0? Kolom2=0? Kolom4=0 ?Kolom3=0 ?

Data keypad =

‘1’

Data keypad = ‘2’

Data keypad = ‘3’

Data keypad =COR

Scan baris 2 Data baris = 10111111

Kolom1=0 ? Kolom2=0 ? Kolom4=0 ?Kolom3=0 ?

Data keypad = ‘4’

Data keypad = ‘5’

Data keypad = ‘6’

Data keypad = MEN

A

AB

Yes Yes Yes Yes

Yes Yes Yes Yes

No No No

NoNoNo

No

No

Scan baris 3 Data baris = 11011111

Kolom1=0 ? Kolom2=0 ? Kolom4=0 ?Kolom3=0 ?

Data keypad = ‘7’

Data keypad = ‘8’

Data keypad = ‘9’

Data keypad = UP

Yes Yes Yes Yes

No No No No Scan baris 4 Data baris = 11101111

Kolom1=0 ? Kolom2=0 ? Kolom4=0 ?Kolom3=0 ?

Data keypad = CAN

Data keypad = ‘0’

Data keypad = ENT

Data keypad = DOWN

Yes Yes Yes Yes

No No No No

B

End

Gambar 3.9 Algoritma Pembacaan Keypad Dengan Sistem Matrik

Sumber: perancangan

Pembacaan keypad matrix 4x4 sebagaimana ditunjukkan pada flowchat

Gambar 3.9 merupakan proses pencarian data penekanan tombol yang diakses secara

terus menerus, dimana proses yang dilakukan adalah dengan memberikan data baris

yang hanya memberikan logika nol pada salah satu baris sementara baris lainnya 1

(high), kemudian jika ada penekenan tombol pada area kolom 1 hingga kolom 4,

maka nilai input pada kolom tersebut akan ikut berlogika nol, hasil input tersebut

selanjutnya dihubungkan dengan nomor matrix dari keypad untuk mendapatkan data

dari masukan keypad, contoh untuk scan baris 1, data yang diberikan pada

Page 11: BAB III PERANCANGAN - eprints.umm.ac.ideprints.umm.ac.id/39502/4/BAB III.pdf · PA3/ADC3 37 PA2/ADC2 38 PA1/ADC1 39 PA0/ADC0 40 AREF 32 AVCC 30 U3 ATMEGA16. 20 Pada perancangan rangkaian

27

PORTB=01111111B, dimana baris 1 ditempati PORTB.7 yang berlogika 0, jika pada

saat tersebut terdapat penekanan tombol, maka salah satu dari input kolom akan

berlogika 0 akibat short ke 0 dari PORTB.7, saat kolom 1 ditekan (tombol 1 / baris 1

kolom 1), maka PORTB.3 yang ditempati kolom 1 akan berlogika 0 dan data PORTB

menjadi 01110111B yaitu PORTB.3 short dengan PORTB.7, hasil ini selanjutnya

digunakan sebagai acuan data penekanan tombol dari baris 1 kolom 1 dan

memberikan hasil data keypad 1 sebagai tanda angka 1 ditekan. Begitu seterusnya

untuk scan baris 2 dan selanjutnya.

3.3.2 Algoritma Menulis Instruksi LCD

Flowchart dalam Gambar 3.10 dibawah menunjukkan prinsip kerja proses

penampil LCD.

Start

Inisialisasi

Baca data port 4bit LCD

Pin RS=1Tulis data sebagai

instruksi LCDY

Pin RS=0Tulis data sebagai

karakter LCDY

T

END

T

Enable LCD

Gambar 3.10 Algoritma Penulisan LCD

Sumber : perencanaan

Page 12: BAB III PERANCANGAN - eprints.umm.ac.ideprints.umm.ac.id/39502/4/BAB III.pdf · PA3/ADC3 37 PA2/ADC2 38 PA1/ADC1 39 PA0/ADC0 40 AREF 32 AVCC 30 U3 ATMEGA16. 20 Pada perancangan rangkaian

28

3.3.3 Algoritma Baca Data RTC

Proses pembacaan RTC DS1307 mengunakan I2C interface mengacu pada

algoritma perangkat lunak sebagaimana Gambar 3.11:

Gambar 3.11 Flowchart Baca Data RTC DS1307

Sumber: perancangan

Proses pembacaan data RTC menggunakan metode pembacan komunikasi

I2C, yaitu bit yang dihasilkan dari pin SDA RTC digeser dan disusun pada saat clock

berubah satu kali, kemudian hasil disimpan pada register Accumulator sebagai data

yang diterima, karena data RTC = 1byte (8bit), maka proses pembacaaan bit

dilakukan sebanyak 8 kali dan hasil pembacaan dapat diamati pada register A.

RET

Start

I = 0

Kirim Clock pada SCL

Baca SDA RTC

Geser ke Accumulator

( Rotate A kekiri )

Naikkan I

Apakah I =8?

Baca = A

Y

T

Page 13: BAB III PERANCANGAN - eprints.umm.ac.ideprints.umm.ac.id/39502/4/BAB III.pdf · PA3/ADC3 37 PA2/ADC2 38 PA1/ADC1 39 PA0/ADC0 40 AREF 32 AVCC 30 U3 ATMEGA16. 20 Pada perancangan rangkaian

29

3.3.4 Algoritma Menulis Data RTC

Adapun proses penulisan RTC DS1307 menggunakan I2C interface mengacu

pada algoritma perangkat lunak sebagaimana Gambar 3.12.

Gambar 3.12 Flowchart Tulis Data RTC

Sumber: perancangan

Proses penulisan atau pengiriman data RTC hampir sama dengan proses

pembacaan data yaitu menggunakan komunikasi I2C. Pada proses ini bit yang akan

dikirim dipecah menjadi 8 bagian kemudian dikirim bit demi bit dengan disertai satu

siklus clock SCK sebagai tanda bit telah dikirim pada RTC, proses ini dikirim

sebanyak 8 kali untuk mencapai data 1byte (8bit). Pada prosesnya pembacaan dan

RET

Start

I = 0

Kirim Clock pada SCL

Geser A ke Carry Flag

Pin SDA DS1307 = C

Naikkan I

Apakah I =8?

Y

T

Page 14: BAB III PERANCANGAN - eprints.umm.ac.ideprints.umm.ac.id/39502/4/BAB III.pdf · PA3/ADC3 37 PA2/ADC2 38 PA1/ADC1 39 PA0/ADC0 40 AREF 32 AVCC 30 U3 ATMEGA16. 20 Pada perancangan rangkaian

30

penulisan data pada RTC melalui ATMega16 dilakukan oleh library untuk

memudahkan pemrosesan data.

3.3.5 Algoritma Pendeteksian dan Pengontrol Kran Air

Kran air pada perancangan ini dikontrol menggunakan sensor jarak dan sensor

halangan, dimana pada senor halangan untuk mendeteksi adanya gelas, sementara

sensor jarak digunakan untuk mendeteksi ketinggian level air didalam gelas. Adapaun

algoritma yang digunakan adalah sebagai berikut:

mulai

Kran

tertutup

Apakah ada objek

penghalang Infrared

Kran

terbuka

Periksa jarak sensor ultrasonic dan

permukaan air

Jarak 5cm?

Kran mati

selesai

Y

Y

T

T

Gambar 3.13 Flowchart Kran Otomatis

Gambar 3.13 menunjukkan proses cara kerja dispenser. Dimana gelas akan

terdeteksi oleh sensor inframerah yang akan membuka kran, air mengalir dan kran

akan tertutup hingga jarak antara air dan sensor ultrasonik 5 cm

Page 15: BAB III PERANCANGAN - eprints.umm.ac.ideprints.umm.ac.id/39502/4/BAB III.pdf · PA3/ADC3 37 PA2/ADC2 38 PA1/ADC1 39 PA0/ADC0 40 AREF 32 AVCC 30 U3 ATMEGA16. 20 Pada perancangan rangkaian

31

3.3.6 Diagram Alir Kontrol Proporsional, Integral, Diferensiator (PID)

Flow-Chart Kontrol Proporsional, Integral, Diferensioator (PID), seperti yang

ditunjukkan oleh gambar 3.14.

Masukkan Nilai {Ki}

Nilai Akhir Y[n]

Keluarkan

Pada DAC

Selesai

Start

{(Kp*X[n])-(Kp*X[n-1]}+

{(KiT/2*X[n]+(KiT/2*X[n-1])}+(Kd*X[n])-

(2*Kd*X[n-1])+(Ld*X[n-2])+(Y[n-1]),Byte

Gambar 3.14 Diagram Alir Kontrol Proporsional, Integral, Diferensial

Sumber: Perencanaan

Pada pembacaan data digital pada penguat (Kp, Ki, Kd) ditentukan agar

mendapatkan suatu nilai register, sehingga dapat menjumlahkan, mengurangkan serta

mengalikan bilangannya masing-masing sesuai dengan persamaan di atas.

3.4 Perancangan Pengujian

3.4.1 Perancangan Pengujian Sensor Suhu LM35

3.4.1.1 Tujuan

Tujuan dari pengujian sensor LM35 ini adalah untuk mengetahui apakah

sensor LM35 yang digunakan dapat bekerja membaca suhu air.

3.4.1.2 Peralatan yang Digunakan

1. Power Supply

Page 16: BAB III PERANCANGAN - eprints.umm.ac.ideprints.umm.ac.id/39502/4/BAB III.pdf · PA3/ADC3 37 PA2/ADC2 38 PA1/ADC1 39 PA0/ADC0 40 AREF 32 AVCC 30 U3 ATMEGA16. 20 Pada perancangan rangkaian

32

2. Rangkaian Perancangan Sensor LM35

3. termometer

4. Software

3.4.1.3 Langkal-langkah Pengujian

1. Mendownload software LM35 pada ATMEGA16

2. Menyalakan power supply

3. Memperhatikan Pembacaan suhu oleh LM35

4. Membandingkan dengan pembacaan pada termometer

3.4.2 Perancangan Pengujian Keypad Matrix 4x4

3.4.2.1 Tujuan

Untuk mengetahui perubahan scan keypad pada keypad matrix 4x4 yang

ditampilkan pada LCD.

3.4.2.2 Peralatan yang Digunakan

1 Power Supply

2 Rangkaian AVR ATMega16

3 Keypad Matrix 4x4

4 LCD 16x2

5 Software

3.4.2.3 Langkah-langkah Pengujian

1. Mendownload software keypad matrix pada AVR (listing program

rangkaian keypad matrix 4x4)

2. Menyalakan power supply

3. Menekan tombol pada keypad matrix 4x4

4. Memperhatikan tampilan pada LCD

Page 17: BAB III PERANCANGAN - eprints.umm.ac.ideprints.umm.ac.id/39502/4/BAB III.pdf · PA3/ADC3 37 PA2/ADC2 38 PA1/ADC1 39 PA0/ADC0 40 AREF 32 AVCC 30 U3 ATMEGA16. 20 Pada perancangan rangkaian

33

3.4.3 Perancangan Pengujian LCD

3.4.3.1 Tujuan

Untuk mengetahui apakah LCD dapat menampilkan karakter/text berdasarkan

perintah dari controller ATMega.

3.4.3.2 Peralatan yang digunakan

1. Power Supply

2. Rangkaian ATmega16

3. LCD 16x2

4. Software

3.4.3.3 Langkah-langkah Pengujian

1. Mendownload software LCD pada AVR (listing program LCD)

2. Menyalakan power supply

3. Memperhatikan tampilan pada LCD

3.4.4 Perancangan Pengujian RTC DS1307

3.4.4.1 Tujuan

Tujuan dari pengujian RTC ini adalah untuk mengetahui apakah RTC yang

digunakan dapat bekerja menunjukkan waktu.

3.4.4.2 Peralatan yang Digunakan

1. Power Supply

2. Rangkaian RTC DS1307

3. LCD 16x2

4. Software

3.4.4.3 Langkah-langkah Pengujian

1. Mendownload software RTC pada ATMega16

2. Menyalakan power supply

Page 18: BAB III PERANCANGAN - eprints.umm.ac.ideprints.umm.ac.id/39502/4/BAB III.pdf · PA3/ADC3 37 PA2/ADC2 38 PA1/ADC1 39 PA0/ADC0 40 AREF 32 AVCC 30 U3 ATMEGA16. 20 Pada perancangan rangkaian

34

3. Memperhatikan tampilan pada LCD

3.4.5 Perancangan Pengujian Motor Servo

3.4.5.1 Tujuan

Untuk mengetahui apakah motor servo berputar sesuai step derajat melalui

perantara software pembangkit PWM pada ATMega16.

3.4.5.2 Peralatan yang Digunakan

1. Power supply 12V

2. Rangkaian motor servo

3. Software pengendali servo

4. Minimum sistem ATMega16

3.4.5.3 Langkah-langkah Pengujian

1. Merangkai Rangkaian

2. Mendownload perangkat lunak servo pada ATMega16

3. Mengamati arah gerakan motor saat diberikan nilai PWM.

4. Mencatat hasil pengukuran.

3.4.6 Perancangan Pengujian Sensor Ultrasonic HCSR04

3.4.6.1 Tujuan

Tujuan dari pengujian sensor ultrasonic ini adalah untuk mengetahui apakah

sensor yang digunakan dapat bekerja menghitung jarak.

3.4.6.2 Peralatan yang Digunakan

1 Power Supply

2. Rangkaian sensor ultrasonic HCSR04

3. LCD 16x2

4. Software

Page 19: BAB III PERANCANGAN - eprints.umm.ac.ideprints.umm.ac.id/39502/4/BAB III.pdf · PA3/ADC3 37 PA2/ADC2 38 PA1/ADC1 39 PA0/ADC0 40 AREF 32 AVCC 30 U3 ATMEGA16. 20 Pada perancangan rangkaian

35

3.4.6.3 Langkah-langkah Pengujian

1. Mendownload software RTC pada ATMega16

2. Menyalakan power supply

3. Memperhatikan tampilan pada LCD

3.4.7 Perancangan Pengujian Driver Heater Menggunakan TRIAC

3.4.7.1 Tujuan

Tujuan dari pengujian driver heater ini adalah untuk mengetahui apakah

driver yang digunakan dapat bekerja dengan baik.

3.4.7.2 Peralatan yang Digunakan

1. Power supply

2. Rangkaian driver

3. avometer

4. Software

3.4.7.3 Langkah-langkah Pengujian

1. Mendownload software Driver pada ATMega16

2 Menyalakan power supply

3 Mengukur tegangan output triac menggunakan avometer

3.4.8 Perancangan Pengujian Sensor Inframerah

3.4.8.1 Tujuan

Tujuan dari pengujian sensor inframerah ini adalah untuk mengetahui

apakah sensor yang digunakan dapat bekerja dengan baik.

3.4.8.2 Peralatan yang digunakan

1. Power supply

2. Rangkaian sensor inframerah

3. Avometer

Page 20: BAB III PERANCANGAN - eprints.umm.ac.ideprints.umm.ac.id/39502/4/BAB III.pdf · PA3/ADC3 37 PA2/ADC2 38 PA1/ADC1 39 PA0/ADC0 40 AREF 32 AVCC 30 U3 ATMEGA16. 20 Pada perancangan rangkaian

36

3.4.8.3 Langkah-langkah Pengujian

1. Menyalakan power supply

2. Mengukur tegangan menggunakan avometer

3. Mencatat hasilnya