Page 64 - MODUL PRAKTIKUM MIKROKONTROLER - MIKROPROSESOR
P. 64

Modul Praktikum Sistem Mikroprosesor & Mikrokontroler
                        (MT-UN-2022)


                        Modul 8 Output Analog

                                                             MODUL
                             MT-UN-2016                                                SM-01-PIC16F877
                                                 PWM (Pulse Width Modulation)


                        8.1    Tujuan

                           1)  Mahasiswa  dapat  memahami  output  analog  dan  PWM  (Pulse  Width
                               Modulation)
                           2)  Mahasiswa memahami perintah output analog, analogWrite()

                        8.2    Pendahuluan
                               Kita dapat mengirimkan sinyal HIGH dan LOW atau on dan off pada Arduino
                        untuk menyalakan dan mematikan sesuatu menggunakan digitalWrite(). Bagaimana
                        kalo kita ingin mengaktifkan sesuatu dengan kekuatan tertentu dan bisa diubah-ubah
                        sesuai  keperluan,  seperti  misalnya  mengatur  intensitas  cahaya  LED  atau  mengatur
                        kecepatan putaran motor? Dalam hal ini kita punya analog output. Analog output pada
                        Arduino  berarti  kita  mengirimkan  sinyal  analog  dengan  intensitas  yang  ditentukan
                        sesuai kebutuhan.  Analog input dihasilkan oleh teknik yang dikenal dengan istilah
                        PWM atau Pulse Width Modulation.
                               PWM merupakan suatu metode untuk mendapatkan bentuk sinyal analog dari
                        sinyal digital. Dengan adanya fungsi ini kita dapat membuat transisi antar state hidup
                        dan mati menjadi lebih halus. PWM memanipulasi keluaran digital sedemikian rupa
                        sehingga menghasilkan  sinyal  analog. Mikrokontroler  mengeset  output  digital  ke
                        HIGH  dan  LOW  bergantian  dengan  porsi waktu  tertentu untuk  setiap  nilai
                        keluarannya.  Durasi  waktu  untuk  nilai  HIGH  disebut pulse  width atau  panjang
                        pulsa. Variasi  nilai output  analog  didapatkan  dari  perubahan  panjang  pulsa  yang
                        diberikan pada satu periode waktu dan dilakukan berulang-ulang. Untuk lebih jelasnya
                        perhatikan ilustrasi berikut: Kondisi HIGH adalah kondisi ketika sinyal berada di atas
                        grafik (5V) dan LOW adalah ketika sinyal berada di bawah (0V). Duty cycle adalah
                        persentasi panjang pulsa HIGH dalam satu periode sinyal. Ketika duty cyclenya 0%
                        atau sinyal LOW penuh, maka nilai analog yang dikeluarkan adalah 0V atau setara
                        dengan GND. Ketika duty cyclenya 100% atau sinyal HIGH penuh maka sinyal yang
                        dikeluarkan adalaah 5V.
                               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,






                                                                                                        57
   59   60   61   62   63   64   65   66   67   68   69