Kamis, 15 Mei 2014

TUTORIAL MEMBUAT PROGRAM INPUT TOGGLE


Selamat malam kawan-kawan pendekar solder, alhamdulillah ditengah malam menjelang pagi ini saya bisa sharing lagi dengan kawan-kawan. Disela – sela waktu pembuatan skripsi saya “ Konverter UART ke USB HID dengan ATtiny85”. Kalau ada yang nanya buat apa sih alat ini? Alat ini sebagai converter peralatan yang beredar dipasaran dengan output serial (UART) sementara datanya ingin bisa dibaca dimana software apaaja, maka sistem komunikasi datanya dirubah menjadi USB HID keunggulannya USB HID ketika dihubungkan ke computer bisa langsung jalan tanpa perlu driver dan datanya bisa dibaca dimana aja ( WORD, EXEL, NOTEPAD dll). Alhamdulliah alatnya udah hampir selesai dengan modal sekitar Rp. 17.000 (kebetulan di pasaran alat ini bisa sampai dijual 100 USD).

                Tapi pada kesempatan ini saya belum akan membahas alat yang saya buat ini, tapi insyaallah dilain kesempatan akan saya share ke kawan-kawan. Pada kesempatan ini saya akan coba share bagaimana cara membuat program input toggle. Program ini saya buat atas permintaan kawan kita yang lagi seneng-senengnya  belajar mrogram.. he, saya doakan semoga cepet khatam bahasa C nya Amien.
                Tutorial ini saya buat menggunakan Software Arduino dengan Hardware yang digunakan Arduino UNO. Cara kerja program ini sebenarnya sederhana yaitu menggunakan satu tombol dengan memiliki beberapa fungsi. Pada contoh ini tombol memiliki dua fungsi yaitu :
1    1. Untuk menyalakan LED
2.       2. Untuk Mematikan LED

Jadi ketika tombol ditekan pertama maka led akan menyala, kemudian ditekan lagi maka led akan mati, dan seterusnya secara bergantian. Program ini saya buat dengan menggukan sistem counter. fungsi counter ini untuk menghitung jumlah penekanan tombol dengan logika sebagai berikut:
-         -     Jika tombol belum ditekan = data counter 0
-         - Jika tombol ditekan (ke 1)  = data counter 1
-     - Jika tombol ditekan lagi (ke 2) = data counter 2 ( Karena kita hanya memiliki 2 fungsi tombol maka nilai counter maksimal adalah 1 artinya jika counter lebih besar dari satu maka counter akan dijadikan ke 0). Semoga mengerti maksud saya..he…
-     - jika data counter sudah dibuat maka sekarang kita tinggal menyalakan dan mematikan led, misalkan jika counter 0 maka led mati, dan jika counter 1 maka led menyala.

Untuk lebih jelasnya kita langsung aja lihat programnya seperti berikut:



const int buttonPin = 0;    
const int ledPin =  13

int buttonState = 0;        
int count=0,st_count=0;

void setup() {
  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);     
  // initialize the pushbutton pin as an input:
  pinMode(buttonPin, INPUT);    
}
void loop(){
  // read the state of the pushbutton value:
  buttonState = digitalRead(buttonPin);
  if ((buttonState == LOW)&(st_count==1)) {    
                                            count++;
                                            st_count=0;}
  if ((buttonState == HIGH)&(st_count==0)) {    
                                            st_count=1; }
  if (count>=2)count=0;
  if (count==0)digitalWrite(ledPin, HIGH);
  if (count==1)digitalWrite(ledPin, LOW); 
 }
         
Untuk rangkaian simulasinya sebagai berikut:


Untuk file program dan skematik simulasinya bisa didownload disini.
Semoga sedikit ilmu ini bisa membatu kawan – kawan yang sedang belajar mrogram, dan bisa bermanfaat untuk kita semua amiien.
 



6 komentar:

  1. cara munculkan arduino pada isis proteus gimana?

    BalasHapus
    Balasan
    1. Cara Memasang library arduino di proteus:

      1. akang harus punya library arduino. (arduino.idx dan arduino.lib)
      2. simpan library arduino tadi ke folder library proteus (c-> program files -> labcenter electrinis ->proteus 7 profesional -> Library) * saya anggap akang menyimpan program di derive C
      3. jika sudah di pasang, untuk memanggilnya di proteus (klik componen mode -> pick from librarys -> cari emulator disitu ada arduino uno dll.)

      Ket: berdasarkan pengalaman saya library arduino ini belum bisa dipasangkan untuk proteus 8

      Saya kira begitu kang semoga bisa terbantu...

      Hapus
  2. selamat pagi mas,
    saya masih agak rabun dengan arduino mas mohon bantuannya
    saya ada perasalahan seperti ini mas

    1. bagaimana suatu program arduino untuk menghitung lama waktu input ketika logika 1, dan berhenti menghitung ketikan logika 0.
    2. bagaimana menggunakan counter untuk menghitung jumlah counter dalam 1 detik, jika peroser perhitungan countr dilakukan tiap 100ms

    terimakasih

    BalasHapus
  3. mas dishare dong skripsi nya,penasaran seperti apa alatnya hehe
    terimakasih

    BalasHapus
  4. kalo cara menghitung lamanya push button ditekan gimana gan ?

    BalasHapus

Silahkan tinggalkan komentar kawan - kawan, baik berupa pertanyaan ataupun saran yang sifatnya membangun. komentar kawan - kawan sangat berharga untuk kemajuan blog ini. kalau bisa mohon hindari penggunaan Anonim. Semoga bermanfaat untuk kita semua...
Terimakasih....