Siapa Bilang Arduino gakada Counternya ?

Pertamanya bingung, kok di pin Arduino tidak ada pin counter-nya yah ? Alhamdulillah, akhirnya ketemu juga, ternyata ada pada pin 5, coba perhatikan potongan schematic-nya.

PORTD.5 (T1) dari mikrokontroler merupakan port untuk masukan counter 1 (T1) dan terhubung dengan pin 5 Arduino. Pulsa yang akan kita ukur frekuensinya dihubungkan dengan pin 5. Library frequency counter ini juga telah tersedia, tinggal kita pakai saja.

 

Ok, langsung ke TKP, buat rangkaian Arduino seperti gambar, cukup siapkan LCD dan sumber pulsa, bisa dari function generator.

Pulsa yang akan dihitung frekuensinya dihubungkan ke pin pulse in. Sumber pulsa dapat menggunakan function generator. Selanjutnya programnya sebagai berikut :

#include <FreqCounter.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(2,3,4,6,7,8);
unsigned long freq;

void setup() {
  lcd.begin(16, 2);
  lcd.print(“==Freq Counter==”);
  lcd.setCursor(0,1);
  lcd.print(“Freq=”);
}

void loop() {
  FreqCounter::start(1000);  // set periode
  while (FreqCounter::f_ready == 0)  // tunggu sampai counter selesai

  freq=FreqCounter::f_freq;//baca hasilnya
  lcd.setCursor(5,1);
  lcd.print(freq);
  lcd.print(” Hz  “);
}  

Jalannya program :

Setelah pulsa pada pin pulse in diaktifkan pada LCD akan tampil nilai dari frekuensi pulsa tersebut.

Penjelasan program :

Library frequency counter ditulis diawal program.
#include <FreqCounter.h>
Baris berikutnya penulisan library LCD beserta konfigurasi hardware-nya.
#include <LiquidCrystal.h>
LiquidCrystal lcd(2,3,4,6,7,8);

Variabel untuk menampung hasil pembacaan frekuensi dengan tipe unsigned long, maksimal sekitar 4 milyar lebih (besar sekali ya ?) walaupun pada prakteknya tidak sampai segitu.
unsigned long freq;

Iklan App ARDU

Fungsi setup() berisi inisialisai LCD dan tampilan awalnya.
Selanjutnya program utama, frequency counter diset periodenya yaitu waktu yang digunakan untuk menghitung jumlah pulsa. Karena satuannya Hertz (Hz) maka kita pilih 1 detik atau 1000 ms.
FreqCounter::start(1000);  // set periode
Setelah diset periodenya, counter akan bekerja mencacah pulsa sampai tercapai 1 detik.
while (FreqCounter::f_ready == 0)  // tunggu sampai counter selesai
Kita ambil hasil pembacaan jumlah pulsanya, disimpan dalam variabel freq.
freq=FreqCounter::f_freq;//baca hasilnya
Terus ditampilkan ke LCD baris ke-2 kolom ke-6.
lcd.setCursor(5,1);
lcd.print(freq);
lcd.print(” Hz  “);

Saya sudah mencoba dengan frekuensi maksimal dari function generator 2 MHz masih terbaca dengan bagus.

7 thoughts on “Siapa Bilang Arduino gakada Counternya ?

  • March 27, 2014 at 2:12 pm
    Permalink

    knpa pas verify ada yg eror mas
    pada bagian
    lcd.print(“==Freq Counter==”);
    mohon pnjlasan nya mas

    Reply
    • March 29, 2014 at 10:50 am
      Permalink

      library lcd udah disertakan belum ?

      Reply
      • April 1, 2014 at 9:43 am
        Permalink

        sketch_apr01b:8: error: stray ‘\’ in program
        sketch_apr01b:8: error: stray ‘\’ in program
        sketch_apr01b:10: error: stray ‘\’ in program
        sketch_apr01b:10: error: stray ‘\’ in program
        sketch_apr01b:20: error: stray ‘\’ in program
        sketch_apr01b:20: error: stray ‘\’ in program
        sketch_apr01b.ino: In function ‘void setup()’:
        sketch_apr01b:8: error: ‘u201c’ was not declared in this scope
        sketch_apr01b:8: error: ‘Freq’ was not declared in this scope
        sketch_apr01b:10: error: ‘u201cFreq’ was not declared in this scope
        sketch_apr01b:10: error: ‘u201d’ was not declared in this scope
        sketch_apr01b.ino: In function ‘void loop()’:
        sketch_apr01b:20: error: ‘u201d’ was not declared in this scope
        ini mas pnjelsan nya
        tolong dksih pncerahan

        Reply
  • August 8, 2014 at 3:09 am
    Permalink

    om mau tanya, saya udah nulis persis code nya. tapi yang freqcounter nya doesn’t declare. nah saya ga terlalu paham apa library frequency counter nya udah disertakan apa belum. kalo belum dan mau disertakan gimana caranya? terimakasih om

    Reply
    • August 11, 2014 at 8:26 am
      Permalink

      Butuh library nya mas.

      Reply
  • September 19, 2014 at 6:01 am
    Permalink

    Saya udah taruh libray di librarry folder error sama juga.
    boleh di bantu di taruh mana librarry ini seharusnya, Mas?
    Terimakasih banyak
    Salam

    Reply
    • September 23, 2014 at 12:57 pm
      Permalink

      Satu folder library-nya taruh di folder ‘libraries’

      Reply

Leave a Reply

WhatsApp chat
%d bloggers like this: