Mengontrol Output Pin PWM Arduino melalui Android

Ditulis oleh agan

بِسْــــــــــــــــمِ اﷲِالرَّحْمَنِ اارَّحِيم

Halo semua, bertemu kembali di hari weekend di minggu terakhir Bulan Februari Tahun 2016.
Masih dalam suasana liburan, semoga kita semakin semangat untuk terus selalu giat belajar.

Apa itu Pulse Width Modulation (PWM)? PWM adalah salah satu teknik modulasi dengan mengubah lebar pulsa (duty cylce) dengan nilai amplitudo dan frekuensi yang tetap. Satu siklus pulsa merupakan kondisi high kemudian berada di zona transisi ke kondisi low. Lebar pulsa PWM berbanding lurus dengan amplitudo sinyal asli yang belum termodulasi. 

Duty Cycle merupakan representasi dari kondisi logika high dalam suatu periode sinyal dan di nyatakan dalam bentuk (%) dengan range 0% sampai 100%, sebagai contoh jika sinyal berada dalam kondisi high terus menerus artinya memiliki duty cycle sebesar 100%. Jika waktu sinyal keadaan high sama dengan keadaan low maka sinyal mempunyai duty cycle sebesar 50%.

Penggunaan PWM biasanya ditemui untuk pengaturan kecepatan motor dc, pengaturan cerah/redup LED, dan pengendalian sudut motor servo. Contoh PWM pada pengaturan kecepatan motor dc semakin besar nilai duty cycle maka akan berpengaruh terhadap cepatnya putaran motor. Apabila nilai duty cylce-nya kecil maka motor akan bergerak melambat.

Di artikel kali ini kita akan mencoba mengontrol Output Pin PWM Arduino melalui Android. Seperti yang kita tau, range output PWM arduino adalah 0-255 dan kita akan menggunakan hasil Slider pada aplikasi android untuk mengontrol kecerahan dari LED yang terhubung ke Pin PWM.


Alat dan Bahan yang dibutuhkan :
  • 1x Arduino Compatible
  • 1x Modul Bluetooth
  • 1x Resistor 220 Ohm
  • 1x LED ( Warna Bebas )
  • 1x Projectboard ( Breadboard )
  • Kabel jumper secukupnya
  • Smartphone Android

Langkah - Langkahnya :

1.)  Susunlah rangkaian seperti gambar berikut ini.

Keterangan Konfigurasi Kabel :
  • Pin 5V pada Arduino dihubungkan ke kaki VCC Modul Bluetooth
  • Pin GND pada Arduino dihubungkan ke kaki GND Modul Bluetooth
  • Pin 10 pada Arduino dihubungkan ke Pin TX Modul Bluetooth
  • Pin 11 pada Arduino dihubungkan ke Pin RX Modul Bluetooth
  • Pin 9 pada Arduino dihubungkan ke Anoda LED
2.) Setelah itu sambungkan Arduino pada Laptop/PC dengan menggunakan kabel serial.
3.) Download dan Install program Arduino IDE di Arduino.cc ( If Needed )
4.) Setelah terinstall, jalankan program Arduino-nya.
5.) Klik menu "Tools -> Board -> Arduino Uno"
6.) Klik menu "Tools -> Port -> ( Pilih Port arduino yang terdeteksi di komputer anda )
7.) Lalu masukan Sketch dibawah ini, dan terakhir klik upload.
#include <SoftwareSerial.h>
SoftwareSerial bluetooth(10, 11);

void setup() {
   pinMode(9, OUTPUT);
   Serial.begin(9600);
   bluetooth.begin(38400);
}

void loop() {
if(bluetooth.available()> 0 )
{
   int hasilSlider = bluetooth.read();
   Serial.println(hasilSlider);
   analogWrite(9, hasilSlider);
 }



Langkah - Langkah membuat aplikasi Android :
  • Pertama, mari kita ke website App inventor 2 Online silahkan klik MIT App Inventor 2
  • Setelah itu, langsung saja di Simak dan Praktekan Video Tutorial dibawah ini gan :) 
  • Kembangkan sendiri layout aplikasi buatan ente, sesuka ente.
  • Happy inventing gan, jangan lupa mainkan Logika dan Imajinasi ente ya...
Terimakasih telah berkunjung, selamat mencoba, semoga bermanfaat.

Blog, Updated pada: 15:46:00

18 comments:

  1. Bermanfaat sekali gan ilmu nya...
    Terimakasih ya boarduino.com

    ReplyDelete
  2. gan sketch arduinonya bisa buat lampu dimmer AC ga?

    ReplyDelete
    Replies
    1. Bisa, output PWM nya di hubungkan pada input Rangkaian AC Dimmer.

      Delete
  3. gan ane udah nyoba, tp ko pas ane liat serial monitor sama hasil slider beda.
    yang ada di serial monitor ane cuma 0,120,128, sama 248 gan
    itu kenapa ya gan ?

    ReplyDelete
    Replies
    1. Sketchnya upload sesuai di tutorial ini, tipe data untuk menampung hasil serialnya pakai byte atau integer.

      Pada android juga harus sama, bluetooth client send1ByteNumber

      Delete
  4. Replies
    1. Tinggal tambahkan 1 slider di aplikasi android, dan tambahkan juga sketch untuk servo kedua.

      Delete
  5. Gan mohon bantuannya, ane TA buat ini soalnya, masih binggung untuk driver ke lampu AC nya, sama ane udah coba tutorialnya sesuai banget apa yang di contohin tapi keluaran output PWM nya gak beraturan, itu kenapa ya ?

    ReplyDelete
    Replies
    1. Salam kenal. Baudrate modul bluetoothnya naikkan, biar nilainya stabil dan tidak beraturan...

      Delete
  6. Pada saat saya kompile programya kok terjadi error :

    Arduino: 1.6.4 (Windows XP), Board: "Arduino Uno"

    collect2.exe: error: ld returned 5 exit status
    Error compiling.

    This report would have more information with
    "Show verbose output during compilation"
    enabled in File > Preferences.

    Bagaimana cara mengatasinya? Terima Kasih atas informasinya.

    ReplyDelete
    Replies
    1. Kalau itu, bukan pesan error sketchnya... Tapi Arduino IDE nya. Coba re-install aja software arduino ide nya.

      Delete
  7. Kalou kita pakek lampu pijar apa aja yang harus ditambah dirangkaikan nya mas

    ReplyDelete
    Replies
    1. Output PWM nya di hubungkan pada input Rangkaian AC Dimmer. Silahkan googling untuk skema AC Dimmernya.

      Delete
  8. Mohon pecerahannya gan...
    Kalo mau buat pwm dengan out 0-18 volt untuk motor dc dan bisa membalikan arah putaran yang di control mutlak dengan android...
    Itu gimama gan?

    ReplyDelete
    Replies
    1. Kalau untuk 0-18v ane blum pernah tau juga... kalau untuk 0-10V ada disini http://forum.arduino.cc/index.php?topic=20632.0

      Dan untuk kontrol Forward atau reverse, masih memungkinkan.

      Delete
  9. kalau untuk fan sma bang?? soalnya aku mau pke fan

    ReplyDelete

Masih Bingung atau Hal Lainnya? Silahkan Bertanya di Kolom Komentar :)

~ Dilarang SARA
~ Dilarang PORNOGRAPHY
~ Dilarang SPAM
~ Dilarang MENINGGALKAN LINK AKTIF
~ Maaf untuk Anonymous, tidak bisa Berkomentar.

Apabila Komentar anda belum muncul, Tunggu sampai di Moderasi.
Terimakasih atas Perhatiannya.


English French German Spain Italian Dutch Russian