Pendeteksi Dini Banjir dan Curah Hujan

 




Program Studi Teknik Elektronika Jurusan Teknik Elektro

Politeknik Negeri Semarang

Jln. Prof. H. Sudarto, S.H., Tembalang, Semarang, Jawa Tengah, Indonesia. 50275.

Telp. (024)7473417, Website :www.polines.ac.id, email : mailto:sekretariat@polines.ac.id 


Kelompok B2:

1. Alfario Surianto Rizahaqi    (3.32.20.1.02)

2. Elatifana Azizah                   (3.32.20.1.11)

3. Ilham Lilo                             (3.32.20.1.14)

4. Tarmin                                   (3.32.20.1.24)



Latar Belakang

Peringatan dini adalah sebuah pemberitahuan yang mampu membaca keadaan sekitar dan memberikan informasi secara cepat untuk kesiap siagaan dalam menghadapi sebuah bencana besar yang terjadi. Banjir adalah bencana alam yang paling mudah dan sering terjadi di daerah aliran sungai, akibat dari curah hujan yang tinggi. Dalam hal ini kelompok kami membuat alat peringatan dini banjir dan curah hujan secara otomatis agar masyarakat dapat mengetahui apabila terjadi banjir dan dapat mempersiapkan dirinya sebaikmungkin dalam menghadapi bencana tersebut.

Komponen

            1. Sensor air

            2. Sensor hujan

            3. Bel

            4. Lampu

            5. IC Atmega 16

            6. Sistem minimum



















.include"m16def.inc" ;membuka pedoman ATmega16
.org 0x0000 ;membuat alamat 00 agar memori tidsk tertumpuk
    rjmp utama ;melompat ke program utama

utama :
  ldi  R16, low(RAMEND) ;inisiasi memori pada AVR
out  SPL, R16
ldi  R16, high(RAMEND)
out  SPH, R16
        cbi  DDRB, 0 ;inisiasi PORTB PB0 sebagai inputan
sbi  PORTB,0 ;inisiasi pull up pada PB0
cbi  DDRB, 1 ;inisiasi PORTB PB1 sebagai inputan
sbi  PORTB,1 ;inisiasi pull up pada PB1

ldi  R16,0b00000011 ;inisiasi PORTC pada register 0000 0011 sebagai luaran
out  DDRC, R16

ulang:
sbis   pinb,0 ;memeriksa PB0, jika =0 eksekusi perintah, jika = 1, periksa PB1     
rjmp   cek_ulang ;melompat ke cek ulang
sbic   pinb,1 ;memeriksa PB1, jika =0 maka skip ke tidak hujan, jika =1 maka eksekusi banjir
rcall  banjir
rcall  tidak_hujan

cek_ulang:
sbis   pinb,1 ;memeriksa PB1, jika =0 eksekusi perintah hujan, jika =1 maka skip ke perintah banjir
rjmp   hujan
rcall  banjir

rjmp   ulang

tidak_hujan:
cbi    portc,0 ;membuat PC0 dan PC1 Berlogik 0
cbi    portc,1

rjmp   ulang

hujan:
sbi    portc,0 ;membuat PC0 sebagai LED menyala lalu mati berulang
rcall  tunda1
cbi    portc,0
rcall  tunda1

rjmp   ulang

banjir:
sbi    portc,0 ;membuat PC0 sebagai LED dan PC1 sebagai bel menyala berulang
sbi    portc,1
rcall  tunda2
cbi    portc,0
cbi    portc,1
rcall  tunda2

ret

tunda1: ;mengatur timer untuk tunda 1 yang lebih lambat

t0: ldi R20, 16
t1: ldi R21, 100
t2: ldi R22, 150
t3: nop
nop
dec R22
brne t3
dec R21
brne t2
dec R20
brne t1
ret

tunda2: ;mengatur timer untuk tunda 1 yang lebih cepat

t4: ldi R17, 4
t5: ldi R18, 100
t6: ldi R19, 150
t7: nop
nop
dec R19
brne t7
dec R18
brne t6
dec R17
brne t5
ret












 

`


Komentar