Arduino - Apa itu PWM? - Elang Sakti
Download Ebook Belajar Arduino PDF, Arduino untuk pemula
Jasa Pembuatan Program Arduino, pemrograman Arduino
# Hack Your Skills! to be Professional Mechatronics

Arduino - Apa itu PWM?

15 komentar
Memahami konsep PWM itu penting dalam mikrokontoller, sebab PWM adalah bentuk sinyal yang harus kita pahami dalam dunia digital-analog. Beberapa pertanyaan tentang PWM, apa itu PWM? Apa pengertian PWM? Apa fungsi PWM dan bagaimana cara kerjanya? Dalam hal ini kita akan membahas tentang PWM yang lebih khusus pada Arduino.

PWM adalah singkatan dari Pulse Width Modulation. Pada Arduino, sinyal PWM adalah sinyal yang beroperasi pada frekuensi 500Hz (ini akan kita bahas pada paragraf selanjutnya). Pada board arduino Uno, pin yang bisa dimanfaatkan untuk PWM adalah pin yang diberi tanda tilde (~), yaitu pin 3, 5, 6, 9, 10, dan pin 11. Mungkin ada yang berpikir, bukankah pin-pin tersebut adalah pin analog? Ya! Pin-pin tersebut merupakan pin yang bisa difungsikan untuk input analog atau output analog. Oleh sebab itu, jika akan menggunakan PWM pada pin ini, bisa dilakukan dengan perintah analogWrite();

PWM pada arduino bekerja pada frekuensi 500Hz, artinya 500 siklus/ketukan dalam satu detik. Untuk setiap siklus, kita bisa memberi nilai dari 0 hingga 255.  Ketika kita memberikan angka 0, berarti pada pin tersebut tidak akan pernah bernilai 5 volt (pin selalu bernilai 0 volt). Sedangkan jika kita memberikan nilai 255, maka sepanjang siklus akan bernilai 5 volt (tidak pernah 0 volt). Jika kita memberikan nilai 127 (kita anggap setengah dari 0 hingga 255, atau 50% dari 255), maka setengah siklus akan bernilai 5 volt, dan setengah siklus lagi akan bernilai 0 volt. Sedangkan jika jika memberikan 25% dari 255 (1/4 * 255 atau 64), maka 1/4 siklus akan bernilai 5 volt, dan 3/4 sisanya akan bernilai 0 volt, dan ini akan terjadi 500 kali dalam 1 detik. Untuk visualisasi siklus PWM, bisa Anda lihat gambar berikut:

Siklus sinyal PWM Arduino - pengertian PWM adalah
Siklus sinyal PWM pada Arduino (klik untuk memperbesar)

Begitulah cara kerja PWM (Pulse Width Modulation), jika masih ada yang kurang jelas, jangan sungkan-sungkan untuk bertanya :). Berdasarkan konsep PWM tersebut, kira-kira apa yang bisa kita lakukan? Banyak hal. Salah satunya, kita bisa membuat sistem yang bisa dikontrol untuk menaikkan atau menurunkan secara bertahap. Misal, menaikkan atau menurunkan volume secara digital, menaikkan atau menurunkan tingkat kecerahan lampu dengan tombol, mempercepat atau memperlambat sesuatu, dll.

Baik, selanjutnya akan kita bahas tentang salah satu implementasi dari PWM yang digunakan untuk mengatur intensitas cahaya dari suatu led dengan dua tombol (tombol untuk menurunkan kecerahan / nyala led dan tombol untuk menaikkan kecerahan led).


Written by Hari Santoso
Arduino - Apa itu PWM?
Bahasan: Memahami konsep PWM itu penting dalam mikrokontoller, sebab PWM adalah bentuk sinyal yang harus ki...
Published at Selasa, 09 Juni 2015, Updated at Selasa, 09 Juni 2015
Reviewed by dr. on
Rating: 4.7

15 komentar :

  1. malm bos mau tanya?
    klw matikan lampu dengan glombang getaran handphone..pwm nya gmna..?

    BalasHapus
    Balasan
    1. nah, ide itu belum terpikirkan mas,, coba nanti kita telusuri dulu... :)

      Hapus
  2. mas, kalau PWM buat ngontrol servo pada arduino itu konsep nya beda lagi kan ya mas? kan buat ngontrol servo nya pada arduino kita cuman input berupa sudut, nah yg berupa sudut itu apa termasuk PWM mas, atau gimna mas?

    BalasHapus
    Balasan
    1. konsep PWM-nya sama mas Boy, jadi sudutnya tergantung pada berapa lebar pulsanya. Misal, kalau lebar pulsa HIGH-nya 1ms berarti sudutnya 0 derajat, kalau lebar pulsanya 1.5ms berarti 90 derajat. Jadi, sudutnya tergantung pada lebar pulsa pada PWM.

      Hapus
    2. Itu konsepnya. Tapi untuk prakteknya, kita bisa pake library, sehingga lebih mudah dan tinggal masukin sudut yang diinginkan. :)

      Hapus
    3. oo jadi kalau mau tau berapa PWM nya dalam satuan ms harus di convert dulu dari berpa sudut yg kita berikan di arduino ya mas gan? :)

      Hapus
  3. satu lagi mas gan, melenceng sedikit pertanyaan saya, ini tentang motor servo dc, apakah motor servo dc jika diberikan PWM yg berbeda dari arduino akan mnghasilkan arus yg berbeda pula atau cenderung sama ya mas gan? mohon dijawab mas gan. terimakasih.

    BalasHapus
    Balasan
    1. Nah, untuk yang satu ini saya belum pernah ngukur mas.

      Secara konsep, kalau berkaitan dengan arus, tergantung pada spesifikasi hardware dan power supply yang dipakai mas... so, bisa jadi arusnya berbeda. Kalau misal mas Boy membutuhkan kebutuhan arus yang presisi, mas Boy harus ngukur secara langsung.

      Hapus
  4. gan mau tanya nih.
    ane kan lagi buat project sistem tracking pake PIR, Servo dan SIM900A untuk calling.
    - pin servo ane pasang ke port 9 Arduino (PWM)
    - Rx dan Tx SIM900A ane pasang ke port 0 dan 1 Arduino

    nah untuk SIM900A udah bisa calling. tapi servonya shaking or vibrate dengan sendirinya gan. apa mungkin PWMnya terganggu gan kalau udah komunikasi dengan SIM900A?

    kalau misalkan servo ane pasang di port Analog arduino gimana gan? misal : Pin A0 - A5

    BalasHapus
    Balasan
    1. PWM bisa digunakan pada pin PWM atau pin Analog, jadi bisa dicoba pada pin A0-A5.

      Coba servonya dites tanpa SIM900A, apa masih vibrate juga?

      Hapus
  5. gan ane punya motor 3 phase bldc mau buat controller nya, pake pwm arduino bisa kah? kira" apa yang saya hrus pelajari gan ? saya menggunakan mosfet

    BalasHapus
  6. Gan, ane mau buat control suhu on / off, apakah bisa pake arduino

    BalasHapus
  7. gan saya punya arduino mega untuk mengontrol lebih dari 20 servo saya pakai pin berapa aja gan? soalnya di board mega pin pwm hanya di pin 2 sd 13 saja?
    mohon pencerahannya :)

    BalasHapus
    Balasan
    1. bisa gunakan IO Expander gan, kayak PCA9539 dan sejenisnya, bisa disesuaikan dengan kebutuhan..

      Hapus