Kamis, 28 Juni 2012

Program Saklar Toggle AVR

Menurut wikipedia, yang dimaksud saklar toggle adalah

A toggle switch is a class of electrical switches that are manually actuated by a mechanical lever, handle, or rocking mechanism.
Toggle switches are available in many different styles and sizes, and are used in countless applications. Many are designed to provide the simultaneous actuation of multiple sets of electrical contacts, or the control of large amounts of electric current or mains voltages.
The word "toggle" is a reference to a kind of mechanism or joint consisting of two arms, which are almost in line with each other, connected with an elbow-like pivot. However, the phrase "toggle switch" is applied to a switch with a short handle and a positive snap-action, whether it actually contains a toggle mechanism or not. Similarly, a switch where a definitive click is heard, is called a "positive on-off switch".
Tapi yang saya maksud dengan saklar toggle adalah saklar push-on push-off. Artinya saklar akan On bila di tekan, dan akan off bila di tekan lagi, seperti tombol power di Handphone blekberi kamu...hehehe...

Disini menggunakan 2 buah flag sebagai penanda, berikut program utamanya..

============================================
if (~S1)
{
    if(flag1)
    {
        if(flag)
            {flag=0;output_H;}
    else
            {flag=1;output_L;}; 
    flag1=0;
    };

}
else
{
    flag1=1;
};
=============================================
Penjelasannya sbb:
1. Kondisi awal, flag bernilai 1 dan flag1 bernilai 1.
2. Bila saklar S1 ditekan (aktif Low), maka : output_H aktif, dan flag bernilai 0, flag1 bernilai 0.
3. kemudian saklar S1 dilepas, sehingga flag1 bernilai 1.
4. Bila S1 ditekanlagi,  karena nilai flag bernilai 0 sehingga output_L aktif, dan flag bernilai 1 kembali, kemudian flag1 bernilai 0 lagi.

Lalu tujuan diberi flag1 untuk apa...?
Flag1 sebagai penanda, supaya saat saklar di tekan selama waktu yang lama, tidak terjadi flip flop pada output_H dan output_L. Jadi saklar mau di tekan selama apapun bila sebelumnya tidak pernah di lepas, maka output tidak akan berubah.. dan satu lagi, tidak perlu memakai fungsi delay. Sehingga program bisa meluncur dengan bebas...

Bikin program saklar aja kok rumit amat....? ya..namanya juga belajar..
Tapi program di atas sudah cukup ampuh bila diaplikasikan ke TA, Project, dll...



Biar tidak bingung, silahkan download programnya ( dengan AVR Studio4) dan simulasi Proteus nya dibawah ini...
https://sites.google.com/site/avrstudioku/file/Saklar%20Toggle.zip?attredirects=0&d=1

Untuk pengguna CVAVR download di sini
https://sites.google.com/site/avrstudioku/file/CVAVR.zip?attredirects=0&d=1

Semoga bermanfaat.

2 komentar:

  1. misal saya pengin out PORTC 7-0 dan switch di PORTD 7-0 gman cara menambahkanya ???

    BalasHapus
  2. makasih bnyak.. ini mau saya aplikasikan di TA saya :)

    BalasHapus