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.

Iklan MM ARDU

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
#include
LiquidCrystal lcd(2,3,4,6,7,8);
unsigned long freq;
99 proyek arduino
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
Baris berikutnya penulisan library LCD beserta konfigurasi hardware-nya.
#include
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.

This entry was posted in Arduino. Bookmark the permalink.

7 Responses to Siapa Bilang Arduino gakada Counternya ?

  1. riady says:

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

    • admin says:

      library lcd udah disertakan belum ?

      • riady says:

        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

  2. abays says:

    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

  3. DonZakh says:

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

Leave a Reply