Monday, January 14, 2013

[Review] Tirai dan Lampu Otomatis Berbasis Mikrokontroler AT89S51

         15 - 01 - 2013
         07 : 32 AM



----
         Baiklah, karena sepertinya masih agak banyak yang kesulitan dalam membaca rangkaian dan membuat program pada sebuah rangkaian mikrokontroller. Maka saya memutuskan untuk me-review rangkaian dan program yang pernah saya buat. Terima kasih kepada semuanya yang telah mau berbagi gambar rangkaian dan programnya kepada saya.
----


         Karena ini review pertama saya tentang rangkaian dan program, semoga tidak begitu buruk ya hahaa.
         



         Rangkaian ini adalah Project yang di ajukan oleh teman saya untuk PI (Penulisan Ilmiah) nya. Rangkaian ini berjudul 'Tirai dan Lampu Otomatis Berbasis Mikrokontroler AT89S51'. Kamu dapat mengunjungi blognya jika ingin membaca tulisan-tulisannya di alamat http://raqheelcaze.wordpress.com/

         Baiklah langsung saja ya, dapat kita lihat bahwa alat ini memiliki input berupa 3 switch dan sensor. Switch pada p1.0 dan p1.2 terhubung dengan ground yang berarti akan aktif jika terdapat logika low (aktif low / 0). Maka kedua port ini ketika di inisialisasikan di awal harus di berikan logika high (1). Seperti ini :

mov p1, #0ffh

        Lalu input pada p3.0 yang mana di dapat dari sensor LDR (Light Dependent Resistor), input dari LDR ini akan di dapat dari output pada rangkaian comparator. Yang berarti bahwa apabila LDR terkena cahaya, maka akan menghasilkan output high (1) pada output comparator. Itu berarti bahwa p3.0 ini harus di inisialisasikan awalnya dengan logika low (0). Begitu juga dengan switch pada p3.2 yang terhubung ke vcc, yang berarti aktif high. Maka harus di inisialisasikan di awal dengan logika low (0). Seperti ini :

mov p3, #000h

        Lalu sekarang kita lihat outputnya. Outputnya berupa nyala lampu LED pada port p2.4 yang mana terhubung dengan kaki anoda LED. Ini berarti LED akan aktif jika mendapat logika high (1). Karena LED ini di andaikan adalah sebuah lampu, maka pada inisialisasi awal harus di berikan logika high (1) untuk menyalakan LED, karena kondisi awal LDR nya tadi adalah tidak aktif, yang berarti itu di andaikan kondisi awal adalah malam hari maka lampu harus menyala dan tirai dalam keadaan tertutup. Lalu output lainnya pada kaki p2.0 dan p2.2 yang terhubung ke driver motor DC, yang pada keadaan awal ini motor tidak aktif, maka dapat kita berikan inisialisasi awal berupa logika high (1) maupun logika low (0), tetapi disini kita akan menggunakan logika high agar semua pin pada port p2 berlogika sama, yaitu logika high (1), karena pada pin p2.6 terhubung ke kaki enable juga yang harus di inisialisasikan dengan logika high (1). Seperti ini :

mov p2, #0ffh

        Baiklah, semua port input maupun output telah kita inisialisasikan. Saatnya kita membuat logika pengkondisian programnya. Logikanya adalah seperti ini. Alat Tirai ini aktif dengan dua cara, manual dengan switch pada pin p3.2, lalu auto dengan kondisi LDR. Itu berarti apabila switch di tekan, maka tirai akan tertutup. Lalu apabila switch tidak di tekan, itu berarti akan bergantung pada kondisi LDR, jika LDR nya terkena cahaya (output comparator logika 1) maka tirai akan terbuka, lalu jika LDR tidak terkena cahaya (output comparator logika 0) maka tirai akan tertutup. Pengkondisiannya dapat di lakukan dengan sintaks seperti ini :

jb p3.2, tutup
jnb p3.2, pilih


        Jb p3.2,tutup berarti bahwa jika pin p3.2 mendapat logika high (1), maka akan melompat ke sub-routine tutup. Lalu jnb p3.2,pilih berarti bahwa jika pin p3.2 mendapat logika low (0), maka akan melompat ke sub-routine pilih.
        Baiklah, sekarang saatnya kita membuat outputnya. Apabila tirai terbuka, maka motor akan berputar CW (Clock Wise / Searah Jarum Jam). Lalu apabila tirai tertutup, maka motor akan berputar CCW (Counter Clock Wise / Berlawanan Jarum Jam). Itu berarti kita harus membuat perbedaan pada output pin p2.0 dan p2.2. Seperti ini :

buka :
mov p2, #0eeh
tutup :
mov p2, #0fbh

        Lalu bagaimana perputaran motor ini akan berhenti? Perputaran motor ini akan berhenti di picu oleh penekanan pada switch di p1.0 atau p1.2. Saat tirai di buka, maka motor akan berhenti apabila switch p1.0 di tekan. Lalu apabila tirai tertutup, maka motor akan berhenti apabila switch p1.2 di tekan. Seperti ini :

jnb p1.0, mati1
jnb p1.2, mati2

----        
        Baiklah, sepertinya tugas saya dalam me-review rangkaian dan program hanya sampai disini saja. Sekarang saatnya tugas kalian untuk menyatukan semua puzzle yang terpisah-pisah ini menjadi satu. Saya akan memberikan program lengkapnya di bawah. Semoga review saya ini dapat membantu anda dalam memahami rangkaian dan lalu membuat programnya berdasarkan gambar dan kondisi rangkaian. Kurang lebihnya saya minta maaf. By the way, saya membuka jasa pembuatan program, rangkaian, maupun konsultasi ataupun diskusi tentang rangkaian-rangkaian mikrokontroller seperti ini. Jika tertarik, kalian dapat langsung berkomentar saja pada tulisan ini. Nanti kita akan lanjutkan berkomunikasinya di luar komentar ini, entah dengan email, ym, fb, sms, dan sebagainya. Yang pasti kita tidak akan berdiskusi di kolom komentar. Baiklah, terima kasih banyak karena sudah meluangkan waktu untuk membaca tulisan saya.

----


Compiler : MIDE-51
Language : Assembler
MikroKontroller : AT89S51

$mod51
org 00h
mov p1, #0ffh
mov p2, #0ffh
mov p3, #000h
pil :
mov a,p3
jb p3.2, tutup
jnb p3.2, pilih
pilih :
jnb p3.0, tutup
jb p3.0, buka
buka :
mov p2, #0eeh
jnb p1.0, mati1
cjne a, p3, pil
sjmp buka
tutup :
mov p2, #0fbh
jnb p1.2, mati2
cjne a, p3, pil
sjmp tutup
mati1 :
mov p2, #0eah
cjne a, p3, pil
sjmp mati1
mati2 :
mov p2, #0fah
cjne a, p3, pil
sjmp mati2
end


3 comments:

3 Points Beatbox said...

gan saya juga membuat alat ini mohon pencerahannya dalam hardwarenya mohon pencerahannya gan ke email m.ismail091010567@gmail.com

khalid ahmad said...

Untuk komponen hardwarenya saya rasa cukup jelas dengan melihat gambar rangkaian yang ada diatas.

boby yuda said...

bagus gan projectnya, tlong gan, pencerahannya,bila ada makalah, meliputi cara pembuatan, bahan2 pembuatannya serta programnya, soalnya saya juga buat project ini buat tugas akhir,mohon bantuannya ya gan, ini email saya gan (bobyyuda@gmail.com)...terima kasih banyak sebelumnya

Post a Comment

 
Free Website TemplatesFreethemes4all.comFree CSS TemplatesFree Joomla TemplatesFree Blogger TemplatesFree Wordpress ThemesFree Wordpress Themes TemplatesFree CSS Templates dreamweaverSEO Design