PWM (Pulse Width Modulation) pada Arduino UNO
PWM (Pulse Width Modulation)
merupakan salah satu cara yang bisa digunakan
untuk mengatur kecepatan pada motor. Kok bias? Bagaimana caranya.. kita bias mengurangi
tegangan yang masuk ke motor atau dengan cara merubah frekuensi awal. Pada board
Arduino UNO, ada beberapa pin yang bisa digunakan untuk PWM yaitu pin yang
diberi tanda tilde (~) , pada pin 3,5,6,9,10, dan 11. Frekuensi yang digunakan
pada Arduino UNO untuk PWM yaitu 500Hz yang bisa diartikan dalam 1 detik berlangsung 500 siklus. Kita sebagai
manusia tidak bisa melihat dengan kecepatan tersebut.
Dalam artikel kali ini kita akan
mengatur kecepatan motor atau meredupkan lampu LED berikut cara yang dapat kita
lakukan :
- Yaitu dengan cara mengurangi tegangan atau merubah nilai arusnya maka kecepatan motor akan berkurang dan LED akan redup dengan menambahkan resistor variable. Kita juga bisa mengatur kecepatan motor / mengatur kecerahan LED dengan merubah nilai resitansinya, bisa juga kita tambahkan dengan potensiometer.
- Dengan cara merubah nilai frekuensi. Pada saat LED atau motor menyala dan mati dengan kecepatan yang tinggi maka mata kita tidak bisa melihatnya. Yang kita bisa lihat yaitu tingkat kecerahan LED (terang atau redup) / kecepatan pada motor (cepat atau lambat).
Berikut gambar rangkaian yang
digunakan :
Berikut programnya :
Penjelasan program :
PROGRAM
|
PENJELASAN PROGRAM
|
const int pinPot = A0;
const int pinLED = 9;
int kecerahan = 0;
int sensor = 0;
|
Deklarasi pin A0 untuk pinPot
Deklarasi pin 9 untuk pinLED
Inisialisasi variable kecerahan dan sensor dengan tipe data int dan
nilai awal 0
|
void setup(){
pinMode(pinPot.INPUT);
pinMode(pinLED.OUTPUT);
}
|
Setting pinPot sebagai INPUT
Setting pinLED sebagai OUTPUT
|
void loop(){
sensor = analogRead(pinPot);
kecerahan =
map(sensor,0,1023,0,225);
analogWrite(pinLED,kecerahan);
}
|
Sensor akan membaca tegangan di pin A0 dan akan merubahnya menjadi dat
digital. Nilai data ADC divariabel oleh sensor yang bernilai 0-1023 dibandingkan
dengan nilai 0-255 dan nilai hasil akan dimasukkan ke variable kecepatan.
|
semoga bermanfaat buat anda sekalian. selamat mencoba...
Komentar
Posting Komentar