//Tambahan //Akhir tambahan Fungky Corporation: Analog Output Pada Arduino

MAU PESAN ALAT BIDANG ELEKTRONIKA? KAMI FUNGKY CORPORATION SIAP MEMBANTU. HUBUNGI :

Email: fungkyking01@gmail.com | FB/TWITTER/YOUTUBE : FUNGKYKING |

WA (WhatsApp) Only : 0838 (Libur)


Lokasi Yogyakarta.

Monday 19 August 2019

Analog Output Pada Arduino


Analog Output Pada Arduino
Analog Output PWM (Pulse Width Modulation)

  1. Pendahuluan
Analog Output?? Apa itu? Sistemnya bagaimana? Dan bagaimana cara menggunakannya?. Bila masih bingung dengan konsep input-output analog pada Arduino, silakan baca terlebih dahulu pembahasan sebelumnya yang berjudul ADC (Analog Digital Converter) Pada Arduino - http://festyy.com/w3RUoM sehingga sedikit memberikan gambaran tentang konsep Analog pada Arduino.

Setelah pada pembahasan sebelumnya kita membahas cara Arduino membaca dan memproses data analog (Analog Input) dengan jalur ADC (Analog Digital Converter) baik dari sensor, potensiometer, atau lainnya. Ternyata sistem Analog pada Arduino selain bisa sebagai input tapi juga bisa menjadi sebuah output (WOOwwwoooww).

Pada Arduino kita dapat mengirimkan sinyal HIGH dan LOW atau on dan off  untuk menyalakan dan mematikan sesuatu menggunakan fungsi digitalWrite() (pembahasan selanjutnya). Bagaimana jika kita ingin mengaktifkan sesuatu dengan skala tertentu dan bisa diubah-ubah sesuai kebutuhan, misalkan mengatur intensitas cahaya LED atau mengatur kecepatan putaran motor. Disinilah kita memanfaatkan analog output yang tersedia pada board Arduino dimana Analog output pada Arduino difungsikan untuk mengirimkan sinyal analog dengan intensitas yang ditentukan sesuai kebutuhan.


  1. Pembahasan
Analog Output dihasilkan sistem yang bernama PWM atau Pulse Width Modulation. PWM memanipulasi keluaran digital dengan 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:

Gambar 1. Sinyal PWM (Pulse Width Modulationsumber: Arduino.cc

Berdasarkan grafik pada Gambar 1 diatas, 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 adalah 5V.

Pada pemprogramannya untuk mengatur nilai duty cycle, kita menggunakan fungsi analogWrite([nomorPin], [nilai]). Nilai pada parameter yang diberikan berkisar antara 0 hingga 255. Bila kita hendak mengeset duty cycle ke 0%, maka kita set nilai parameter ke 0 dan untuk duty cycle 100% maka kita set nilai parameter ke 255. Jadi bila misalkan kita hendak mengeset duty cycle ke 50%, berarti nilai yang harus kita set adalah 127 didapat dari perhitungan (50% x 255).

Sebenarnya berdasarkan konsep PWM di atas kita dapat mensimulasikan PWM pada semua pin digital yang tersedia pada board Arduino. Tapi khusus penggunaan fungsi digitalWrite() kita hanya bisa menggunakannya pada pin-pin PWM. Seperti contohnya pada board Arduino UNO dimana pin yang dapat menggunakan fungsi ini hanya pin 3, 5, 6, 9, 10 dan 11. Biasanya pin PWM disimbolkan dengan karakter '~'.

  1. Perancangan
Setelah pembahasan singkat tentang teori PWM diatas, agar lebih memahami tentang cara kerja dari analog output tersebut maka kita akan mencoba merealisasikannya ke dalam rangkaian LED Dimmer.

Berikut adalah bahan-bahan yang diperlukan untuk percobaan pembuktian teori PWM:
  • Arduino Uno board
  • Breadboard
  • kabel jumper
  • LED
  • Resistor 220 ohm
Buat rangkaian seperti pada gambar di bawah ini:


Gambar 2. Rangkaian LED dengan Arduino UNO

Pada rangkaian di atas, kita menghubungkan pin 3 ke kaki anoda (positif) LED dengan melalui resistor 220 ohm dan menghubungkan kaki yang lain ke GND. Kita akan menyalakan LED dengan intensitas yang terus naik hingga titik maksimum dan kemudian menurunkan intensitasnya terus hingga mati dan seterusnya. Berikut adalah kode programnya:

int pinLed = 3; // LED terhubung dengan pin 3
void setup(){}
void loop() {
   // buat iterasi dari 0 sampai 255 dengan kelipatan 5
   for (int nilai = 0; nilai = 0; nilai -= 5) {
      // set nilai analog menggunakan iterasi di atas
      analogWrite(pinLed, nilai);
      // beri jeda waktu 3 milidetik
      delay(30);
   }
}

Upload program diatas dan bila program berhasil diupload, Kamu akan melihat LED menyala perlahan-lahan dari redup ke terang lalu kemudian meredup hingga mati begitu seterusnya.

Demikian penjabaran singkat tentang “Analog Output Pada Arduino”. Untuk selanjutnya, buat yang ingin mempelajari Arduino dan lebih mengenal Arduino silakan follow akun sosial media saya di facebook “fungkyking” juga diblog saya http://festyy.com/wNiBaj dan jangan lupa subscribe channel youtubenya di (fungky king) https://www.youtube.com/channel/UCWbN7TqlN68FxeFY7uCNhkA untuk melihat tulisan-tulisan serta hasil rancangan alat-alat berbasis mikrokontroler yang kami buat. Kami juga menerima pembuatan alat-alat elektronika baik untuk penelitian ataupun alat untuk syarat kelulusan.

Demikian pembahasan singkat yang dapat dibahas, mohon maaf jika terdapat kesalahan dalam penulisan yang mana semua ini semata-mata hanya opini pribadi berdasarkan pengalaman. Jika ada kekurangan dan tambahan dari materi pembahasan yang dibahas silahkan dapat teman-teman sertakan pada kolom komentar tambahan materi yang ingin disampaikan, sampaikan pertanyaan dan isi kolom komentar dengan bijak.
           
Terima Kasih,
Salam Otomatisasi


Afriansyah, S.T.
(Fungky King)
fungkyking01@gmail.com

Kata Kunci / Keywords: ATMEGA, Arduino, Arduino IDE, Arduino UNO, Bahasa C, fungkynotes.blogspot.co.id, fungky corporation, fungky king, microcontroller, otomatis, pemprograman, plc, NodeMCU, ESP8266, Internet of Things (IoT), Wi-Fi, PWM

Referensi / Reference:


No comments:

Post a Comment

Berfikirlah kreatif dengan komentar yang bijak. Salam Otomatisasi.!

//Tambahan //akhir