MENGATUR KECEPATAN MOTOR DC ATAU MEREDUPKAN LAMPU PADA ARDUINO
Konsep ADC
Pada arduino ada 6 buah Pin Analog yaitu pin A0 samapai A5 dan membaca tegangan 0 sampai 5 volt. Dan step kenaikan pada 10 bit yaitu 0 - 1023. Nilai data digital 0 -1023 hasil konversi dari 0 - 5 volt yang sebenarnya dapat dilakukan dengan jumlah tak terhingga. Akan tetapi, mikroprosesor mempunyai keterbatasan yaitu 10 bit saja antara 0 - 1023.
Konsep PWM
Dalam mengatur kecepatan motor atau meredupkan lampu apa yang harus kita lakukan?
Berikut cara yang bisa kita lakukan :
1. Dengan mengurangi tegangan (merubah nilai arus) maka kecepatan motor akan berkurang atau lampu akan redup dengan menggunakan resistor variable. Kita bisa mengatur kecepatan motor atau mengatur kecerahan lampu dengan merubah nilai resistensinya.
2. Menyalakan dan mematikan lampu atau motor dengan cepat atau lambat dengan mengubah frekuensi. Dengan kecepatan tinggi saat lampu atau motor menyala atau mati maka mata kita tidak akan mengetahuinya. Yang kita lihat hanya kecepatan motor (cepat atau lambat) atau tingkat kecerahan lampu (reduo atau terang) berubah.
Kelemahan pada cara pertama saat mengatur kecepatan motor adalah torsi dan kekuatan akan turun saat menggerakan sesuatu ketika kita memang membutuhkan torsi yang sesuai dengan torsi motor. Maka dari itu, cara kedua lebih efektif untuk kita gunakan.
Cara kedua merupakan salah satu cara ilmu elektronika yaitu konsep PWM (Pulse Width Modulation). Dalam menggunakan fungsi PWN pada arduino kita dapat menggunakan fungsi instruksi analogWrite(). Fungsi analogWrite pada arduino memiliki nilai 8 bit (0 - 254).
Cara kedua merupakan salah satu cara ilmu elektronika yaitu konsep PWM (Pulse Width Modulation). Dalam menggunakan fungsi PWN pada arduino kita dapat menggunakan fungsi instruksi analogWrite(). Fungsi analogWrite pada arduino memiliki nilai 8 bit (0 - 254).
Contoh Mengatur kecepatan Motor Dengan Arduino
Pin/kaki PWM pada Arduino memiliki symbol (~) seperti pada pin/kaki 3,5,6,9,10, dan 11. Frekuensi yang digunakan untuk PWM pada arduino yaitu 500Hz yang artinya pada 1 detik berlangsung 500 siklus. Manusia tidak dapat melihat dengan kecepatan itu.
Program :
const int pinLed=9;
const int pinPot=A0;
int sensor=0;
int kecerahan=0;
void setup()
{
pinMode(pinLed, OUTPUT);
pinMode(pinPot, INPUT);
}
void loop()
{
sensor=analogRead(pinPot);
kecerahan=map(sensor,0,1023,0,255);
analogWrite(pinLed, kecerahan);
}
Penjelasan Program
PROGRAM
|
PENJELASAN
|
const int pinLed=9;
const int pinPot=A0;
int sensor=0;
int kecerahan=0;
|
Deklarasi Pin A0 untuk pinPot
Deklarasi Pin 9 untuk pinLed
Inisislisasi variable sensor dengan tipe dan nilai awal 0
Inisislisasi variable kecerahan dengan tipe data int dan nilai
awal 0
|
void setup()
{
pinMode(pinLed, OUTPUT);
pinMode(pinPot, INPUT);
}
|
Setting pinLed sebagai OUTPUT
Setting pinPot sebagai INPUT
|
void loop()
{
sensor=analogRead(pinPot);
kecerahan=map(sensor,0,1023,0,255);
analogWrite(pinLed,
kecerahan);
}
|
Sensor membaca tegangan di pin A0 dan merubahnya menjadi
data digital.
Nilai data ADC di variable sensor yang bernilai 0 – 1023
dibandingkan dengan nilai 0 – 255 dan nilai hasil dimasukan ke variable
kecepatan.
|
SEMOGA BERMANFAAT
Komentar
Posting Komentar