BerandaArduinoTutorial Setting Frequency PWM Arduino

Tutorial Setting Frequency PWM Arduino

PWM atau Pulse Width Modulation yang dalam Bahasa disebut Modulasi Lebar Pulsa, merupakan suatu teknik modulasi yang mengubah lebar pulsa (pulse width) dengan nilai frekuensi dan amplitudo yang tetap. Umumnya pada Arduino kita sering menggunakan teknik ini untuk mengatur kecerahan sebuah LED, kecepatan sebuah Motor, dll. PWM juga memiliki istilah Duty Cycle yaitu ration antara sinyal dalam kondisi ON atau OFF. Aga mudah dipaham berikut ilustrasi Duty Cycle.

duty cycle pwm
Duty Cycle | learn.sparkfun.com

Semoga dari ilustrasi ini kalian bisa paham. Sedangkan Frequency yaitu jumlah pulsa dalam satuan waktu (detik). Namun secara default PWM Arduino memiliki Frequency yang sudah diset kisaran 900Hz. Nah pada artikel ini kita akan belajar Tutorial Setting Frequency PWM Arduino dan Duty Cycle.

Skematik

Dalam simulasinya tentunya temen perlu memiliki Oscilloscope, namun disini kita juga bisa menggunakan outputan berupa led seperti berikut.

skematik arduino led
Arduino LED | docs.arduino.cc

Program PWM Tanpa Library

Disini saya akan coba memberikan tutorial program untuk akses PWM dengan menggunakan perintah analogWrite(PIN, DUTY CYCLE);. Pin PWM pada Arduino Uno terdapat tanda ~ pada kaki pinya. Sebagai contoh kita gunakan Pin 9. Bawaan Arduino hanya dapat mengatur nilai Duty Cycle saja dimana nilainya antara 0 s/d 25. Berikut ini program untuk akses PWM bawaan Arduino.

#define PIN_PWM 9

void setup() {

  pinMode(PIN_PWM, OUTPUT);

  // Set Duty Cycle 50%
  analogWrite(PIN_PWM, 127);
}

void loop() {
}

Berikut hasil pengukuran yang saya dengan Oscilloscope. Terlihat nilai Frequency dan Duty Cycle.

pwm arduino
PWM analogWrite() | Photo by FansElectronics.com

Program PWM dengan Library Frequency

Dengan library ini sepengalaman saya hanya berfungsi pada pin Pin 9 dan 10 (berdasarkan testing). Sebelum lanjut silahkan download librarynya dilink berikut:

#include <PWM.h>

#define PIN_PWM 9

int frequency = 50;  // 50Hz

void setup() {

  // Initialisasi kecuali TIMER0
  // keperluan delay(), dan millis()
  InitTimersSafe();

  SetPinFrequencySafe(PIN_PWM, frequency);
  // Set Duty Cycle 50%
  pwmWrite(PIN_PWM, 127);
}

void loop() {
}

Berikut ini hasil pengukuran Frequency dan Duty Cycle yang saya ukur dengan settingan Duty Cycle 50% atau 127 dalam desimal dan Frequency 50Hz.

pwm arduino
PWM 50 Hz | Photo by FansElectronics.com

Pemanfaat Pengaturan Frequency

Dengan menggunakan library ini, kalian dapat membuat sebuah project untuk membuat pulsa generator yang dapat diatur. Sebagai contoh saya gunakan sebagai alat tester Injetor Bensin kendaraan bermotor. Gimana menurut kalian? mari diskusikan di kolom komentar dibawah. Semoga bermanfaat, salam Elektronik.

Irfan Indra Kurniawan
Irfan Indra Kurniawanhttps://fanselectronics.com/
Tukang Solder Yang Penuh Cerita :D

Topic Populer

Tag Populer

Artikel Terkait