Anda di halaman 1dari 22

BAB I

PENDAHULUAN
1.1 LATAR BELAKANG
Kemajuan dibidang teknologi informasi pada saat ini telah berkembang sangat pesat.
Setiap harinya muncul teknologi - teknologi baru dibidang teknologi informasi yang sangat
membantu, baik itu pada dunia industri maupun rumah tangga. Pengisian Air Otomatis
Menggunakan Keypad Berbasis Mikrokontroler ATMega 16. Fungsi alat ini adalah untuk
pengisian tempat air dengan menggunakan pengaturan keypad untuk menyalakan pompa air
sebagai pendorong air dari sumber air menuju tempat air. Adapun yang memicu pompa air untuk
bekerja adalah sensor elektroda yang terdapat di dalam tempat air tersebut, yang berfungsi
sebagai indikator level air. Apabila level air terdapat pada level bawah atau air hampir habis
maka sensor akan bekerja dan lampu led akan berwarna merah dan pompa tidak akan bisa
bekerja untuk memindahkan air dari sumber air ke tempat lain.Tempat sumber air tersebut harus
kembali sampai level atas atau penuh maka pompa air akan bisa bekerja kembali.

1.2 TUJUAN

Dapat mengetahui komponen-komponen pada Sistem Pengisian Air dengan Pengaturan

Keypad Berbasis Mikrokontroler ATMega16


Dapat mengetahui cara kerja alat yang telah dibuat.
Dapat mengatur seven segment melalui keypad

BAB II
PEMBAHASAN

2.1 DASAR TEORI


Mikrokontroler adalah sebuah sistem komputer lengkap dalam satu serpih (chip).
Mikrokontroler lebih dari sekedar sebuah mikroprosesor karena sudah terdapat atau berisikan
ROM (Read-Only Memory), RAM (Read-Write Memory), beberapa bandar masukan maupun
keluaran, dan beberapa peripheral seperti pencacah/pewaktu, ADC (Analog to Digital converter),
DAC (Digital to Analog converter) dan serial komunikasi. Salah satu mikrokontroler yang
banyak digunakan saat ini yaitu mikrokontroler AVR. AVR adalah mikrokontroler RISC (Reduce
Instuction Set Compute) 8 bit berdasarkan arsitektur Harvard. Secara umum mikrokontroler AVR
dapat dapat dikelompokkan menjadi 3 kelompok, yaitu keluarga AT90Sxx, ATMega dan ATtiny.
Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral, dan fiturnya
Seperti mikroprosesor pada umumnya, secara internal mikrokontroler ATMega16 terdiri atas
unit-unit fungsionalnya Arithmetic and Logical Unit (ALU), himpunan register kerja, register
dan dekoder instruksi, dan pewaktu beserta komponen kendali lainnya. Berbeda dengan
mikroprosesor, mikrokontroler menyediakan memori dalam serpih yang sama dengan
prosesornya (in chip).

BAB III
ISI
3.1 DESKRIPSI KERJA
Ketika hendak melakukan simulasi pada alat ini. Tempat air harus diisi penuh terlebih
dahulu karena ada sensor dimana ketika air belum sampai kebatas sensor yang telah ditentukan
atau belum penuh maka alat ini tidak akan bekerja. Ketika air sudah penuh atau telah mencapai
sensor yang telah ditentukan lalu keypad akan bisa berfungsi. Keypad lalu ditekan sesuai dengan
kebutuhan air yang kita inginkan. Sesudah kita menekan keypad misalnya nomor 1 lalu kita
harus menekan enter(#) bila ingin melakukan percobaan. Bila kita ingin membatalkan dan
mengganti menjadi nomor 2 misalnya kita harus menekan cancel (*). Pemilihan nomor ini
menunjukan seberapa banyak air yang akan kita pindahkan atau kita inginkan. Saat kita menekan
enter maka motor akan menyala lalu air akan berpindah sesuai dengan yang kita inginkan dan
seven segment akan menyala sesuai nomor yang telah kita tekan pada keypad tadi. Pada saat air
habis dan telah mencapai level bawah yang juga telah dipasang sensor maka pompa tidak akan
bekerja dan lampu led warna merah akan menyala. Apabila ingin pompa air kembali bekerja
maka tempat air tersebut harus kembali diisi sampai penuh.

Supaya lebih jelas dapat dilihat dalam flow chart ini :

START

Cek Sensor
Kosong

Kosong ?
ya

Cek Sensor
Penuh

Tida

Tida
Cek Keypad 1
s/d 9

Y
Tida

Enter

Y
Nyalakan
Motor

Y
Ulangi Cek

Seven
Segment

Cek
Cancel/Batal?

3.2

ALAT DAN KOMPONEN

3.2.1
3.2.2
3.2.3
3.2.4
3.2.5
3.2.6
3.2.7
3.2.8
3.2.9
3.2.10
3.2.11
3.2.12
3.2.13
3.2.14
3.2.15
3.2.16
3.2.17
3.2.18
3.2.19
3.2.20
3.2.21

Sistem Minimum(SISMIN ATmega16)


Trafo biasa 1A
Kabel Power
PCB (printed circuit board)
Heat sink
Dioda 3 buah
LED 1 buah
Seven Segment
ATMega 16
Header
Kabel Pelangi
Keypad 4x3
Relay
IC 7477
Resistor
Timah dan alat penyolder
Downloader
Resistor
Motor (DC)/ Motor Aquarium
Tempat Air (Toples)
Pipa

3.3

LANGKAH PERCOBAAN
3.3.1
3.3.2
3.3.3
3.3.4

Siapkan alat dan komponen


Cetak PCB dengan gambar rangkaian dan film yang telah dibuat
Solder komponen kedalam PCB sesuai dengan gambar rangkaian
Setelah rangkaian selesai (Sismin), buat program di salah satu software (AVR

atau Bascom)
Lalu download kedalam alat yang telah di buat (ATMega 16)
3.3.6 Siapkan alat untuk menampung air(Toples) lalu letakan motor aquarium dan
3.3.5

pasangkan pipa sehingga air dapat berpindah.

3.4PROGRAM
*****************************************************/
.include"m16def.inc"
.list
.def dly =r23
.def dly1 =r24
.def Key =r25
5

.def b =r21
.def a =r20
.org 0x0000
rjmp main
main:
ldi r16,low(RAMEND)
out SPL,r16
ldi r16,high(RAMEND)
out SPH,r16
ldi r16,0xff
out DDRA,r16
ldi r16,0x00
out DDRC,r16
ldi key,0xff
out DDRD,key
ldi b,0b11111111
out

portc,b

rcall delay1
komom:
ldi b,0b0000000
out

portd,b

cek1:
in b,pinc
cpi b,0b01111111
brne cek2

ldi b,0b11111001
out

portd,b

rcall angka60

rjmp reset
cek2:
in b,pinc
cpi b,0b10111111
brne cek3
ldi b,0b10111001
out

portd,b

rcall angka60
rcall flipflop
ldi b,0b11111001
out

portd,b

rcall angka60
rjmp reset
cek3:
in b,pinc
cpi b,0b11011111
brne cek4
ldi b,0b10110001
out

portd,b

rcall angka60
rcall flipflop
ldi b,0b10111001

out

portd,b

rcall angka60
rcall flipflop
ldi b,0b11111001
out

portd,b

rcall angka60
rjmp reset
cek4:
in b,pinc
cpi b,0b11101111
brne cek5
ldi b,0b00110001
out

portd,b

rcall angka60
rcall flipflop
ldi b,0b10110001
out

portd,b

rcall angka60
rcall flipflop
ldi b,0b10111001
out

portd,b

rcall angka60
rcall flipflop
ldi b,0b11111001
out

portd,b

rcall angka60

rjmp reset
cek5:
in b,pinc
cpi b,0b11110111
brne cek6
ldi b,0b00100001
out

portd,b

rcall angka60
rcall flipflop
ldi b,0b00110001
out

portd,b

rcall angka60
rcall flipflop
ldi b,0b10110001
out

portd,b

rcall angka60
rcall flipflop
ldi b,0b10111001
out

portd,b

ldi b,0b11111011
out

portd,b

rcall angka60
rjmp reset
cek6:
in b,pinc
cpi b,0b11111011

brne cek7
ldi b,0b00100000
out

portd,b

rcall angka60
rcall flipflop
ldi b,0b00100001
out

portd,b

rcall angka60
rcall flipflop
ldi b,0b00110001
out

portd,b

rcall angka60
rcall flipflop
ldi b,0b10110001
out

portd,b

rcall angka60
rcall flipflop
ldi b,0b10111001
out

portd,b

rcall angka60
rcall flipflop
ldi b,0b11111001
out

portd,b

rcall angka60
rjmp reset
cek7:

10

in b,pinc
cpi b,0b11111101
brne manipulasikomom
ldi b,0b00000000
out

portd,b

rcall angka60
rcall flipflop
ldi b,0b00100000
out

portd,b

rcall angka60
rcall flipflop
ldi b,0b00100001
out

portd,b

rcall angka60
rcall flipflop
ldi b,0b00110001
out

portd,b

rcall angka60
rcall flipflop
ldi b,0b10110001
out

portd,b

rcall angka60
rcall flipflop
ldi b,0b10111001
out

portd,b

rcall angka60

11

rcall flipflop
ldi b,0b11111001
out

portd,b

rcall angka60
rjmp reset
manipulasikomom:
rjmp komom
reset:
ldi a,0b11111111
out portd,a
in b,pinc
cpi b,0b11111110
brne reset
rjmp komom
angka60:
ldi a,0b00000110 ;60
out porta,a
rcall delay
ldi a,0b10010101 ;59
out porta,a
rcall delay
ldi a,0b10000101 ;58
out porta,a
rcall delay
ldi a,0b01110101 ;57
out porta,a

12

rcall delay
ldi a,0b01100101 ;56
out porta,a
rcall delay
ldi a,0b01010101 ;55
out porta,a
rcall delay
ldi a,0b01000101 ;54
out porta,a
rcall delay
ldi a,0b00110101 ;53
out porta,a
rcall delay
ldi a,0b00100101 ;52
out porta,a
rcall delay
ldi a,0b00010101 ;51
out porta,a
rcall delay
ldi a,0b00000101 ;50
out porta,a
rcall delay

ldi a,0b10010100 ;49


out porta,a
rcall delay

13

ldi a,0b10000100 ;48


out porta,a
rcall delay
ldi a,0b01110100 ;47
out porta,a
rcall delay
ldi a,0b01100100 ;46
out porta,a
rcall delay
ldi a,0b01010100 ;45
out porta,a
rcall delay
ldi a,0b01000100 ;44
out porta,a
rcall delay
ldi a,0b00110100 ;43
out porta,a
rcall delay
ldi a,0b00100100 ;42
out porta,a
rcall delay
ldi a,0b00010100 ;41
out porta,a
rcall delay
ldi a,0b00000100 ;40
out porta,a

14

rcall delay

ldi a,0b10010011 ;39


out porta,a
rcall delay
ldi a,0b10000011 ;38
out porta,a
rcall delay
ldi a,0b01110011 ;37
out porta,a
rcall delay
ldi a,0b01100011 ;36
out porta,a
rcall delay
ldi a,0b01010011 ;35
out porta,a
rcall delay
ldi a,0b01000011 ;34
out porta,a
rcall delay
ldi a,0b00110011 ;33
out porta,a
rcall delay
ldi a,0b00100011 ;32
out porta,a
rcall delay

15

ldi a,0b00010011 ;31


out porta,a
rcall delay
ldi a,0b00000011 ;30
out porta,a
rcall delay

ldi a,0b10010010 ;29


out porta,a
rcall delay
ldi a,0b10000010 ;28
out porta,a
rcall delay
ldi a,0b01110010 ;27
out porta,a
rcall delay
ldi a,0b01100010 ;26
out porta,a
rcall delay
ldi a,0b01010010 ;25
out porta,a
rcall delay
ldi a,0b01000010 ;24
out porta,a
rcall delay

16

ldi a,0b00110010 ;23


out porta,a
rcall delay
ldi a,0b00100010 ;22
out porta,a
rcall delay
ldi a,0b00010010 ;21
out porta,a
rcall delay
ldi a,0b00000010 ;20
out porta,a
rcall delay

ldi a,0b10010001 ;19


out porta,a
rcall delay
ldi a,0b10000001 ;18
out porta,a
rcall delay
ldi a,0b01110001 ;17
out porta,a
rcall delay
ldi a,0b01100001 ;16
out porta,a
rcall delay
ldi a,0b01010001 ;15

17

out porta,a
rcall delay
ldi a,0b01000001 ;14
out porta,a
rcall delay
ldi a,0b00110001 ;13
out porta,a
rcall delay
ldi a,0b00100001 ;12
out porta,a
rcall delay
ldi a,0b00010001 ;11
out porta,a
rcall delay
ldi a,0b00000001 ;10
out porta,a
rcall delay

ldi a,0b10010000 ;9
out porta,a
rcall delay
ldi a,0b10000000 ;8
out porta,a
rcall delay
ldi a,0b01110000 ;7
out porta,a

18

rcall delay
ldi a,0b01100000 ;6
out porta,a
rcall delay
ldi a,0b01010000 ;5
out porta,a
rcall delay
ldi a,0b01000000 ;4
out porta,a
rcall delay
ldi a,0b00110000 ;3
out porta,a
rcall delay
ldi a,0b00100000 ;2
out porta,a
rcall delay
ldi a,0b00010000 ;1
out porta,a
rcall delay
ldi a,0b00000000 ;0
out porta,a

delay:
ldi r19, 0b00000100
out TIMSK, r19
ldi r19, high(0xbdc0)

19

out TCNT1L, r19


ldi r19,0b00000100
out TCCR1B,r19
Timer:
In r17,tifr
sbrs r17,tov1
rjmp timer
ldi r19,0b00000100
out TIFR,r19
ret
delay1: ldi dly,0x10
dl1: ldi dly1,0xff
dl2: dec dly1
cpi dly1,0x00
brne dl2
dec dly
cpi dly,0x00
brne dl1
ret
flipflop:
ldi a,0b11111111 ;60
out porta,a
rcall delay
ldi a,0b00000000 ;60
out porta,a
rcall delay

20

ldi a,0b11111111 ;60


out porta,a
rcall delay
ldi a,0b00000000 ;60
out porta,a
rcall delay
ldi a,0b11111111 ;60
out porta,a
rcall delay
ldi a,0b00000000;60
out porta,a
rcall delay
ret
.exit

BAB III
PENUTUP

3.1

KESIMPULAN

Dari data percobaan diatas dapat disimpulkan bahwa :

21

3.1.1

Dengan membuat alat Sistem Pengisian Air Otomatis dengan Menggunakan Keypad
Berbasis Mikrokontroler ATMega16 kita bisa mengetahui alat-alat dan komponen yang
digunakan.

3.1.2

Alat ini akan bekerja jika sensor level high sudah bekerja dan harus menekan salah satu
angka pada keypad sesuai dengan kebutuhan air yang kita inginkan lalu menekan enter
maka motor akan bekerja lalu seven segment akan menyala. Dan pada saat sensor low
bekerja maka motor tidak akan bisa bekerja dan lampu led merah akan menyala.

3.1.3

Dengan Pengaturan keypad pada pengisian air ini, maka pengisian air bisa dikontrol, dan
kerjanya bisa lebih efisien..

22

Anda mungkin juga menyukai