Selasa, 11 Februari 2014

Menggunakan Pin Digital PWM(Pulse Width Modulation) untuk menghidupkan/ mematikan LED

Setelah berhasil menyalakan LED dengan menggunakan Push Button, postingan kali ini akan membahas tentang penggunaan Pin PWM(Pulse Width Modulation) pada Arduino beserta dengan percobaannya. Langsung saja ya...

Apasih PWM itu? 
PWM merupakan singkatan dari Pulse Width Modulation. PWM merupakan teknik untuk membuat output sinyal digital seolah-olah menghasilkan sinyal analog. Sinyal digital merupakan sinyal nilainya 0 atau 1 saja. PWM dilakukan dengan memanipulasi durasi sinyal bernilai 1 dalam periode waktu tertentu.

PWM pada board Arduino Uno R3 seperti apa?
Arduino Uno R3 menggunakan ATMega328P-PU(datasheet) sebagai mikrokontrollernya. Pada mikrokontroller seri ATMega328P ini terdapat 3 buah Timer/ Counter yang dapat digunakan untuk melakukan PWM, yaitu timer-0(8-bit), timer-1(16-bit), timer-2(8-bit). 
  • timer-0 terhubung dengan pin 5, 6
  • timer-1 terhubung dengan pin 9, 10
  • timer-2 terhubung dengan pin 3, 11
Penggunaan PWM pada Arduino dapat dilakukan dengan memanggil fungsi analogWrite(pin, value), dimana pin nya merupakan pin yang secara default mensupport PWM (Pin 3, 5, 6, 9, 10, 11) dilambangkan dengan tanda "~" disebelah angka pin. Kita juga dapat melakukan manipulasi di program untuk membuat pin lainnya di Arduino menjadi pin PWM. Valuenya sendiri bernilai antara 0-255 karena timer yang ada hanya 8-bit.

Output PWM pada pin 5 dan 6 mempunyai duty-cycle lebih besar dari yang diharapkan, hal ini terjadi karea pin 5 dan 6 menggunakan timer-0 yang juga merupakan timer yang digunakan untuk menangani fungsi milis() dan delay().

 Gambar sinyal dengan PWM
sumber: http://arduino.cc/en/Tutorial/PWM

Penjelasan gambar:
  1. Garis hijau menggambarkan periode normal
  2. Pada saat fungsi analogWrite(64) dijalankan, maka sinyal digital yang terlihat bernilai 1 dengan durasi 25% periode normalnya, pada saat ini, bila pin tersebut terhubung dengan LED maka sebenarnya LED mati/hidup dalam waktu cepat, namun mata kita tidak dapat melihat perubahan itu, sehingga LED akan tampak redup, begitu pula yang terjadi pada analogWrite(127) dan analogWrite(191).
Setelah membaca teori yang panjang, saatnya melakukan percobaan.

Percobaan #1
Menyalakan LED dari Padam, Redup, Terang Sekali, Redup hingga Padam Kembali
Alat dan komponen yang dibutuhkan:
  1. Board Arduino x1
  2. Kabel USB untuk power Arduino x1
  3. Resistor 10k Ohm x1
  4. LED x1
  5. Breadboard x1
  6. Kabel(untuk jumper) secukupnya
Skema rangkaian dapat dilihat pada gambar 1.
gambar 1 : skema rangkaian percobaan #1

Setelah membuat rangkaian dengan menggunakan alat dan komponen yang sudah disebutkan sebelumnya, maka saatnya untuk membuat kode program untuk diunggah ke board Arduino Uno.
Kode program yang saya gunakan adalah

Setelah membuat rangkaian berdasarkan skema, serta menghubungkan Arduino dan mengunggah program ke Arduino, maka akan didapatkan hasil seperti pada video berikut.


Percobaan #2
Menyalakan LED dari Padam, Redup, Terang Sekali, Redup hingga Padam Kembali dengan Push Button Switch

Alat dan komponen yang dibutuhkan:
  1. Board Arduino x1
  2. Kabel USB untuk power Arduino x1
  3. Resistor 10k Ohm x2
  4. LED x1
  5. Breadboard x1
  6. Kabel(untuk jumper) secukupnya
  7. Push Button Switch
Skema rangkaian dapat dilihat pada gambar 2.

gambar 2 : skema percobaan #2.
Selanjutnya saya mengunggah program berikut ke Arduino Uno

Setelah dijalankan, hasilnya adalah seperti pada video berikut.

Demikian postingan saya kali ini, selamat mencoba dan semoga bermanfaat.

4 komentar:

  1. mantabs gan, sangat bermanfaat

    BalasHapus
  2. artikelnya bagus gan, kunjungi juga website saya di membaca status switch di arduino uno r3 arga yudha

    atau link.nya di http://www.argayudhaadhiprama.com/2016/04/11/membaca-status-switch-arduino-uno-r3/

    untuk tutorial tentang jaringan komputer kunjungi juga di http://argayudhaadhiprama.blogspot.co.id/

    trimakasih dari arga yudha adhiprama

    BalasHapus
  3. artikelnya bagus gan, kunjungi juga website saya di "CARA MEMBACA STATUS SWITCH DI ARDUINO UNO R3 "

    atau link.nya di http://www.argayudhaadhiprama.com/membaca-status-switch-arduino-uno-r3/

    trimakasih dari argayudhaadhiprama.com

    BalasHapus
  4. Gan,,,Apa bedanya PWM dan pin ANALOG??

    BalasHapus