Panduan Arduino 21 ini kita Mengenal dan Memahami Apa itu Pulse Width Modulation di Arduino.
Panduan Arduino 21 kita Mengenal dan Memahami Apa itu Pulse Width Modulation di Arduino. Pulse Width Modulation atau PWM adalah teknik yang umum digunakan untuk memvariasikan lebar pulsa dalam pulsa-kereta. PWM memiliki banyak aplikasi seperti mengontrol servos dan pengendali kecepatan, membatasi kekuatan efektif motor dan LED.
Prinsip Dasar PWM
Modulasi lebar pulsa pada dasarnya adalah, gelombang persegi dengan berbagai waktu tinggi dan rendah. Sebuah sinyal PWM dasar ditunjukkan pada gambar berikut.
Gambar 1. Prinsip Dasar PWM |
Ada berbagai istilah yang terkait dengan PWM -
- On-TIme - Durasi dari sinyal waktu tinggi.
- Off-Time - Durasi dari sinyal waktu rendah.
- Periode - Hal ini direpresentasikan sebagai jumlah waktu off-on-waktu dan sinyal PWM.
- Duty Cycle - Hal ini direpresentasikan sebagai persentase dari sinyal waktu yang tersisa pada selama periode sinyal PWM.
Periode
Seperti yang ditunjukkan pada gambar, Ton menunjukkan waktu on-dan pesolek menunjukkan off-waktu sinyal. Periode adalah jumlah baik dan mematikan kali dan dihitung seperti yang ditunjukkan dalam persamaan berikut -
Duty Cycle
siklus dihitung sebagai tepat waktu periode waktu. Menggunakan periode dihitung di atas, siklus dihitung sebagai -
Fungsi analogWrite()
Fungsi analogWrite () menulis nilai analog (gelombang PWM) ke pin. Hal ini dapat digunakan untuk menyalakan LED di kecerahan yang bervariasi atau mengendarai motor pada berbagai kecepatan. Setelah panggilan dari fungsi analogWrite (), pin akan menghasilkan gelombang persegi stabil siklus tertentu sampai panggilan berikutnya ke analogWrite () atau panggilan untuk digitalRead () atau digitalWrite () pada pin yang sama). Frekuensi sinyal PWM pada kebanyakan pin adalah sekitar 490 Hz. Di Uno dan mirip papan, pin 5 dan 6 memiliki frekuensi sekitar 980 Hz. Pin 3 dan 11 pada Leonardo juga berjalan pada 980 Hz.
Pada kebanyakan Arduino papan (mereka dengan ATmega168 atau ATmega328), fungsi ini bekerja pada pin 3, 5, 6, 9, 10, dan 11. Di Arduino Mega bekerja pada pin 2 - 13 dan 44 - 46. Lebih Arduino papan dengan ATmega8 hanya supportanalogWrite () pada pin 9, 10, dan 11.
Pada kebanyakan Arduino papan (mereka dengan ATmega168 atau ATmega328), fungsi ini bekerja pada pin 3, 5, 6, 9, 10, dan 11. Di Arduino Mega bekerja pada pin 2 - 13 dan 44 - 46. Lebih Arduino papan dengan ATmega8 hanya supportanalogWrite () pada pin 9, 10, dan 11.
Arduino Due mendukung analogWrite() pada pin 2 sampai 13, dan pin DAC0 dan DAC1. Berbeda dengan pin PWM, DAC0 dan DAC1 yang Digital untuk konverter Analog, dan bertindak output analog sebagai benar.
Anda tidak perlu memanggil pinMode() untuk mengatur pin sebagai output sebelum memanggil analogWrite().
Anda tidak perlu memanggil pinMode() untuk mengatur pin sebagai output sebelum memanggil analogWrite().
Sintaks Fungsi analogWrite()
analogWrite ( pin , value ) ;
COMMENTS