SISTEM PEMBERI PAKAN KUCING OTOMATIS

 



KELOMPOK B2

Aira Alfario R.S. (3.32.20.1.02)

Hisyam Ghani A.R.K. (3.32.20.1.13)

Ilham Lilo J. (3.32.20.1.14)

Tiara Ratri (3.32.20.1.25)


LATAR BELAKANG

Tidak semua pecinta hewan memiliki waktu luang untuk memberi makan hewan peliharaan mereka.

Untuk itu dibutuhkan sebuah sistem mekanisme otomatis yang dapat digunakan untuk memberi makan hewan peliharaan.

Dengan adanya alat pemberi makan hewan otomatis dapat mengatasi masalah seperti ketika pemilik pergi, hewan tetap bisa makan dengan teratur.

KOMPONEN

Masukan : Sensor Inframerah

Keluaran : Motor Servo

Power Point Presentasi (unduh disini)




























Program Sistem Pakan Kucing Otomatis

ORG 00H ;Memulai Program

MOV TMOD,#62H 

MOV P2,#0FFH

MOV P3,#0FFH

INTI:

IR_1: JB P3.3,IR_2 ;Apabila sensor mendeteksi adanya objek (kucing)

CLR P2.0

LCALL nol_derajat ;Fungsi memulai posisi awal 0 derajat

LCALL delay ;Fungsi untuk memberikan delay 1 detik

LCALL sembilanpuluh_derajat ;Fungsi untuk memulai perputaran servo 90 derajat

LCALL delay ;Fungsi untuk memberikan delay 1 detik

CALL TUNDA

SETB P2.0 ;Mengatur ulang sensor

IR_2: JNB P3.3,IR_2 ;Apabila sensor tidak mendeteksi apa-apa

SETB P2.0

CALL TUNDA

SJMP INTI ;Untuk membuat program terulang kembali hingga dihentikan secara manual

RET

nol_derajat:; Untuk membuat pulsa 1ms

MOV TH0, #0FCH ;(FFFF - FC19 + 1)H = (03E7)H 

MOV TL0, #19H ;Angka hex yang dihasilkan(1000)D = 1ms

SETB P2.0 ;Membuat P2.0 AKTIF

SETB TR0 ;Memulai timer 0

TUNGGU1:JNB TF0, TUNGGU1 ;Tunggu hingga TF0 terinisiasi 

CLR P2.0 ;Membuat P2.0 MATI 

CLR TF0 ;Mereset TF0 manual

CLR TR0 ;Memberhentikan timer 0

RET

sembilanpuluh_derajat: ;Untuk membuat pulsa 1.5ms

MOV TH0, #0FAH;(FFFF - FA25 + 1)H = (05DB)H 

MOV TL0, #25H ;Angka hex yang dihasilkan(1500)D = 1.5ms

SETB P2.0 ;Membuat P2.0 AKTIF

SETB TR0 ;Memulai timer 0

WAIT2:JNB TF0, WAIT2 ;Tunggu hingga TF0 terinisiasi 

CLR P2.0 ;Membuat P2.0 MATI 

CLR TF0 ;Mereset TF0 manual

CLR TR0 ;Memberhentikan timer 0

RET 

delay: ;Untuk membuat delay waktu 1 detik 

MOV R4,#64H ;100us * 100us * 100us = 1s

LOOP1:MOV R3,#64H

LOOP2:MOV R2,#64H

LOOP3:DJNZ R2,LOOP3

DJNZ R3,LOOP2

DJNZ R4,LOOP1

RET

TUNDA: MOV R4,#0

JO: MOV R3,#0

MOV TH0,#-5

MOV TL0,#-5

LOOP: SETB TR0     ;Jalankan Timer 

LAGI: JNB TF0,LAGI 

CLR TR0      ;Matikan Timer

CLR TF0      ;Reset TF

DJNZ R3,LOOP

DJNZ R4,JO

RET

END

Video Proyek

Komentar