Mengatur kecepatan motor dengan Arduino? Ayo coba di sini..


Analog Output pada Arduino Menggunakan PWM (Pulse Width Modulation). PWM memanipulasi keluaran digital sedemikian rupa sehingga menghasilkan sinyal analog. Mikrokontroler mengeset output digital HIGH dan LOW bergantian dengan porsi waktu tertentu untuk setiap nilai keluarannya. Duty cycle, ya itu adalah nama sederhana dari PWM, dimana tegangan output dari pin PWM akan terlihat variabel (0-5) volt jika diukur menggunakan voltmeter.

Gambaran sederhana dari sinyal PWM ada pada gambar di atas. Langsung saja.

 

Nah pin apa saya yang dapat dijadikan output PWM?? Yaitu pin yang mempunyai fungsi istimewa/khusus PWM. Mari lihat gambaran PinOut dari Arduino Uno di bawah ini.

Pin PWM ditunjukkan dengan tanda “~“, dimana terdapat 6 pin PWM yaitu pada pin 3, 5, 6, 9, 10, dan 11.

Komponen ada saja yang dibutuhkan?

1x Arduino
1x Breadboard
1x Motor DC
1x Transistor 9013
1x Resistor 1k
1x Dioda 1 Ampere
1x Potensiometer 10k
Kabel Jumper secukupnya

Rangkailah seperti gambar diatas, kemudian susun program sketch seperti di bawah ini kemudian atur potensiometer untuk mengatur kecepatan yang diinginkan.


void setup() {
pinMode(3,OUTPUT); //set pin 3 menjadi output
digitalWrite(3,LOW); //set output pin 3 berlogika LOW
}

void loop() {
int a=analogRead(A5)/4; //baca ADC pin A5 kemudian hasil dibagi 4 dan disimpan pada variabel a.
analogWrite(3,a); //mengeluarkan output analog (PWM) pada pin 3 dengan nilai sebesar a.
}

Note:

Mengapa nilai ADC harus dibagi dengan 4? karena nilai PWM maksimal hanya 8bit atau 256(0-255), sedangkan nilai maksimal ADC adalah 10bit atau 1024(0-1023). Hadi harus dibagi dengan 4, dimana 1024/4=256 ?? seperti itu.. Jika dibahasakan dengan biner maka 0b11 1111 1111 / 4 = 0b1111 1111

Sekian tulisan singkat ini, semoga bermanfaat teman.. ??


Like it? Share with your friends!

0

0 Comments

Your email address will not be published.