Tuesday, July 26, 2016

Tutorial Dasar Arduino : Mengontrol Terang Redup Nyala LED dengan menggunakan PWM pada arduino

Tutorial Dasar Arduino : Mengontrol Terang Redup Nyala LED dengan menggunakan PWM pada arduino

PWM atau Pulse Width Modulation sebagaimana penjelasan dari web resmi arduino di www.arduino.cc
Saya kutipkan sebagai berikut :
“ Writes an analog value (PWM wave) to a pin. Can be used to light a LED at varying brightnesses or drive a motor at various speeds. After a call to analogWrite(), the pin will generate a steady square wave of the specified duty cycle until the next call to analogWrite() (or a call to digitalRead() or digitalWrite() on the same pin). The frequency of the PWM signal on most pins is approximately 490 Hz. On the Uno and similar boards, pins 5 and 6 have a frequency of approximately 980 Hz. Pins 3 and 11 on the Leonardo also run at 980 Hz.
On most Arduino boards (those with the ATmega168 or ATmega328), this function works on pins 3, 5, 6, 9, 10, and 11. On the Arduino Mega, it works on pins 2 - 13 and 44 - 46. Older Arduino boards with an ATmega8 only support analogWrite() on pins 9, 10, and 11.”


Dari penjelasan tersebut dapat saya jelaskan bahwa :
Penggunaan PWM salah satunya dapat dimanfaatkan dalam pengontrolan terang redup lampu, pengontrolan kecepatan motor DC , setelah pemanggilan perintah analogWrite(), pin PWM akan menghasilkan gelombang kotak konstan sesuai dengan “duty cycle” yang di set. Namun nilai tersebut akan diubah saat perintah analogWrite() diubah nilainya.  Perintah digitalRead() atau digitalWrite() pada pin yang dimaksud juga akan berakibat pada tidak berjalannya perintah perintah analogWrite() yang sebelumnya sudah diterapkan
Fungsi PMW pada arduino uno terdapat pada pin 3, 5, 6, 9, 10, and 11 atau lebih tepatnya cek pin arduino dengan tanda ~ pada pin nya.
Pada arduino mega pin PWM  terdapat pada pin 2 - 13 dan pin 44 – 46 lebih tepatnya cek pin arduino dengan tanda ~ pada pin nya.
Pada arduino dengan At mega 8 (arduino type lama, semisal arduino severino) pin PWM terdapat pada pin 9, 10, dan 11 lebih tepatnya cek pin arduino dengan tanda ~ pada pin nya.
Frekwensi kerja PWM pada arduino umumnya adalah sebesar adalah 490 Hz, pada arduino uno frekuensi PWM pada pin 5 dan 6 adalah sebesar 980 hz.

Perintah dalam pemanggilan PWM adalah analogWrite()  dengan nilai 0-255 dimana penjelasannya adlah sebagai berikut :
nilai 255 akan menghasilkan duty cycle 100%, -- led nyala level maksimal
nilai 127 akan menghasilkan duty cycle 50% -- led nyala level 50% redup
nilai 64 akan menghasilkan duty cycle 25% -- led nyala level 25 % redup
nilai 0 akan menghasilkan duty cycle 0% -- led nyala level 0% alias padam (heu heu heu)
gambarannya adalah sebagai berikut :

Gambaran analogWrite PWM dan Duty Cycle
Gambaran analogWrite PWM dan Duty Cycle


Untuk ujicoba  Mengontrol Terang Redup Nyala LED dengan menggunakan PWM pada arduino salah satu syarat utama nya adalah jangan sampai terbalik dalam pemasangan LED nya ya. kenali kaki anoda dan katoda dengan baik ya supaya anda tidak merusakkan led yang anda gunakan

Berikut adalah Gambar kaki anoda dan kaki katoda pada sebuah LED
Gambar kaki anoda dan kaki katoda pada sebuah LED
Gambar kaki anoda dan kaki katoda pada sebuah LED

Pastikan pin LED tidak terbalik ya (intip bentuk kaki di dalam LED),kalau terbalik LED tidak akan berkedip, karena arus akan di alirkan dari Anoda ke katoda, arus tidak dapat mengalir dari Katoda ke Anoda (oh iya dapat terjadi sih, tapi … tapinya LED rusak alias jebol, LED ga nyala dan LED rusak), so jangan sampai terbalik memasang led di kaki pin arduinonya ya.

Selanjutnya buat rangkaian Mengontrol Terang Redup Nyala LED dengan menggunakan PWM pada arduino sebagai mana gambar di bawah ini :

Rangkaian Mengontrol Terang Redup Nyala LED dengan menggunakan PWM pada arduino
Rangkaian Mengontrol Terang Redup Nyala LED dengan menggunakan PWM pada arduino



Keterangan :
LED nilai opsional boleh 220 ohm, 330 ohm 470 ohm 680ohm sebaiknya di bawah 1000 ohm
Dalam contoh ini pin anoda mendapatkan jalur dari pin 9 arduino (cek gambar di atas)
Sedangkan pin katoda ke ground arduino (cek gambar di atas)
Sudah cukup jelas kan ?

Sekarang bagian coding alias sketch untuk Mengontrol Terang Redup Nyala LED dengan menggunakan PWM pada arduino
//=======================================================================
int ledPin = 9;    // LED connected to digital pin 9
void setup()  {
}
void loop()  {
  // fade in from min to max in increments of 5 points:
  for(int nilaiTerangRedup = 0 ; nilaiTerangRedup <= 255; nilaiTerangRedup +=5) {
    // sets the value (range from 0 to 255):
    analogWrite(ledPin, nilaiTerangRedup);        
    // wait for 30 milliseconds to see the dimming effect   
    delay(30);                           
  }

  // fade out from max to min in increments of 5 points:
  for(int nilaiTerangRedup = 255 ; nilaiTerangRedup >= 0; nilaiTerangRedup -=5) {
    // sets the value (range from 0 to 255):
    analogWrite(ledPin, nilaiTerangRedup);        
    // wait for 30 milliseconds to see the dimming effect   
    delay(30);                           
  }
}
//======================================================================

Setelah rangkaian Mengontrol Terang Redup Nyala LED dengan menggunakan PWM pada arduino dibuat
Silakan simpan dan upload sketch tersebut ke arduino, dan hasil nya adalah :

Led akan menyala dari redup menjadi terang dan kembali dari terang menuju redup secara berulang ulang penundaan proses perstep kenaikan level terang redup adalah sebesar 30 milidetik (silakan ubah ubah nilainya) supaya penundaan yang dilakukan teramati oleh mata anda dengan lebih jelas.


Tugas anda sebagai bagian  proses belajar Mengontrol Terang Redup Nyala LED dengan menggunakan PWM pada arduino:
1.    Silakan pergunakan pin pin PWM yang lain untuk diakses PMWmode nya
2.    Silakan gunakan beberapa pin PWM untuk Mengontrol Terang Redup Nyala beberapa buah led LED
3.    Buat 2 led dengan mode berkebalikan (1 led redup ke terang lalu menjadi terang ke redup, led lainnya dari terang ke reedup lalu dari redup ke terang).



Related Posts

Tutorial Dasar Arduino : Mengontrol Terang Redup Nyala LED dengan menggunakan PWM pada arduino
4/ 5
Oleh

Silakan dikomentari