Tutorial #8: Terang/Malap LED & PWM Output

Dalam Tutorial ini, anda akan pelajari mengenai PWM-Output yang juga merupakan satu bentuk “Analog-Output” yang mampu mengawal kadar keterangan Lampu LED.

Pabila anda sudah master dengan penggunaan PWM Output, anda mampu untuk membuat pelbagai kawalan Motor dan LED dengan project-project yang lain.

PWM Output

Arduino UNO mempunyai PWM-Output pada Pin 3, 5, 6, 9, 10 dan 11. Kedudukan pin PWM ini juga sama pada Arduino NANO. Bagi Arduino MEGA, ada lebih lagi bilangan pin PWM.

Pin PWM UNO - PWM Output

Hanya pin-pin yang dinyatakan di atas dapat dikawal Output PWM, dan Arduino UNO mempunyai jumlah 6 Pin PWM Output.

PERHATIAN!: PWM Output ini berbeza dengan PWM Output yang digunakan untuk mengawal Servo Motor. Jangan sesekali menggunakan PWM ini untuk kawal Servo. Kebarangkalian Servo Motor akan terbakar adalah tinggi. Kaedah kawalan Servo Motor akan diajar dalam tutorial yang berikutnya

Kaedah menulis algorythm untuk membuat kawalan PWM adalah dengan menulis seperti berikut:

  • Declare Pin seperti biasa dalam Void Setup()
    void setup(){
     pinMode(3, OUTPUT);//declare pin sebagai Output
    }
    
  • Kawal PWM dengan Algorythm analogWrite() berikut
    analogWrite(3, 255);
    //nilai 255 di atas boleh diganti dengan 
    //nilai lain dalam range 0~255 atau dengan
    //data yang telah diubah dari sensor 
    //yang telah dimap ke range 0~255
    

Untuk memahami dengan lebih lanjut mengenai signal PWM, kami syorkan anda baca artikel berikut:

  • PWM, PPM & PWM Servo

Teruskan dengan Tutorial ini untuk memahami dengan lebih lanjut bagaimana menggunakan PWM Output.

SENARAI KOMPONEN

Dalam tutorial ini, komponen-komponen berikut perlu disediakan:

  1. Arduino Uno (atau yang lain) (1 unit)
  2. Traffic Light Module bersama Jumper Cable (1 unit)
  3. Jumper cable (3 unit)
  4. Potentiometer 10k ohm (1 unit)
  5. Breadboard (1 unit)

LANGKAH #1: SAMBUNGAN LITAR

Sambungkan litar anda seperti gambarajah berikut:

PWM Output - DIAGRAM

LANGKAH #2: CODING/SKETCH 

Copy sketch di bawah dan pastekan dalam Arduino IDE anda.

//Tutorial #8 : Terang/Malap LED & PWM Output
//Code disediakan oleh MatGyver.my

int dataSensor;
int dataBaru;
//declare variable untuk simpan data input Sensor

void setup() {
// masukkan code setup di sini, Void Setup berjalan sekali sahaja
 
 pinMode(A1, INPUT); //Analog Input Potentiometer
 //declare pin A1 sebagai INPUT

 pinMode(3, OUTPUT); //PWM pada LED Hijau
 //declare pin 3 sebagai OUTPUT
 pinMode(5, OUTPUT); //PWM pada LED Kuning
 //declare pin 5 sebagai OUTPUT
 pinMode(6, OUTPUT); //PWM pada LED Merah
 //declare pin 6 sebagai OUTPUT

 delay(100);
 //letak sedikit delay untuk Serial bermula dengan stabil

}//penutup Void Setup

void loop() {
// masukkan code utama di sini, untuk program yang berulang

 dataSensor = analogRead(A1);
 dataBaru = map(dataSensor, 0, 1023, 0, 255);
 //map dan convert dataSensor dari range 0~1023
 //kepada dataBaru range 0~255

 analogWrite(3, dataBaru);
 analogWrite(5, dataBaru);
 analogWrite(6, dataBaru);
 //biarkan data sensor mengawal Output PWM
 //anda boleh juga menggunakan 1 LED sahaja

} //penutup Void Loop

Atau, anda boleh download file sketch .ino untuk tutorial ini di URL berikut:

Setelah sketch di-upload, anda boleh mengawal kadar keterangan/malap ketiga-tiga LED dengan memutarkan Potentiometer.

Anda juga boleh ubah coding untuk mengawal 1 LED sahaja.

Teruskan dengan Tutorial #9 melalui URL di bawah:

Senarai Tutorial asas Arduino MatGyver.my :

Published by Mat Gyver

Peneraju Komuniti Digital Maker Malaysia. Pembangunan Komuniti diUtamakan.

3 thoughts on “Tutorial #8: Terang/Malap LED & PWM Output

Tinggalkan Jawapan

Masukkan butiran anda dibawah atau klik ikon untuk log masuk akaun:

WordPress.com Logo

Anda sedang menulis komen melalui akaun WordPress.com anda. Log Out /  Tukar )

Facebook photo

Anda sedang menulis komen melalui akaun Facebook anda. Log Out /  Tukar )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: