PEMANFAATAN SENSOR SUARA (TEPUK) SEBAGAI SAKLAR LAMPU OTOMATIS

KELOMPOK B3 



  1. Anisatul Maghfiroh (3.32.20.1.03)
  2. Dito Arif Hermawan (3.32.20.1.10)
  3. Maulana Syah Rizal (3.32.20.1.15)
  4. Sufani         (3.32.20.1.23)

LATAR BELAKANG

Di era globalisasi sekarang ini, semakin pesatnya perkembangan ilmu pengetahuan dan teknologi di dunia. Ilmu pengetahuan dan teknologi ini dimanfaatkan dan dikembangkan oleh manusia untuk dapat membantu pekerjaan mereka sehingga dapat menyelesaikan pekerjaan dengan lebih mudah dan efesien. Oleh karenaitu, kita membuat sebuah alat yang berjudul Lampu Otomatis Berbasis Atmega 16 yang dilengkapi dengan sensor tepuk sehingga sangat memudahkan penggunanya untuk menyalakan lampu tersebut tanpa perlu bersusah payah mencari saklarnya.

KOMPONEN

  1. IC ATMEGA 16A
  2. Sensor  Pendeteksi Suara
  3. Relay
  4. Lampu
















Program unduh disini

// ========================== KELOMPOK 3 =======================

// ======================== Program Saklar Tepuk ====================
// === Inisialisasi ===
.include "m16adef.inc" ;memasukan berkas header atmega 16a 
.org 0x0000 ;program mulai ditulis di alamat 0x000 
  rjmp    awal          ;lompat ke label awal

awal:
  ldi     R16,low(RAMEND)         ;alamat tumpukan (SP)
  out     SPL, R16
  ldi     R16,high(RAMEND)
  out     SPH, R16

  cbi DDRA , 0 ;mengatur PA.0 sebagai masukan
  sbi PORTA, 0 ;mengatifkan R pull up pada PA.0

  sbi DDRD , 0 ;mengatur PD.0 sebagai luaran
  cbi PORTD, 0 ;memberi logika 0 pada PD.0
  
//=== Program Utama ===
ulang:
  sbic    PINA, 0          ;membaca PA.0, jika PA.0=0 maka lewati
;peintah berikutnya
  jmp   ulang    ;lompat ke label ulang
tunggu:
  sbi   PORTD, 0     ;Memberi logika 0 ke PD.0
  sbis   PINA, 0 ;membaca PA.0, jika PA.0=1 maka lewati
;perintah berikutnya
  jmp   tunggu         ;lompat ke label tunggu 
  RCALL    TUNDA ;panggil label tunda
tunggu1:
  sbic    PINA, 0              ;membaca PA.0, jika PA.0=1 maka lewati 
;perintah berikutnya
  jmp   tunggu1            ;lompat ke label tunggu1
tunggu2:
  cbi   PORTD, 0         ;memberi logika 0 ke PD.0
  sbis   PINA, 0 ;baca PA.0, jika PA.0=1 maka lewati 
;perintah berikutnya
  jmp   tunggu2 ;lompat ke label tunggu2
  RCALL   TUNDA ;panggil label tunda

  jmp    ulang          ;lompat ke label ulang

//=== Sub Program ===
  tunda : 
t0: ldi   R23,3
t1: ldi   R24,200
t2: ldi   R25,250
t3: nop
    nop
dec   R25
cpi   r25,0
brne  t3
dec   R24
cpi   r24,0
brne  t2
dec   R23
brne  t1
    ret ;kembali ke alamat pemanggil

VIDIO


Komentar