Thursday, January 18, 2018

AT Commands Bluetooth HC05

Pada tutorial kali ini saya akan membahas bagaimana cara mengubah setting bawaan dari bluetooth HC05 melalui AT command. Setting bawaan yang dimaksud disini antara lain nama bluetooth, password, dan baudrate nya. Defaultnya, nama dari bluetooth adalah HC05 dengan password 1234 dan baudrate sebesar 9600. Nah, dengan menggunakan AT Commands ini memungkinkan kita untuk mengganti baik nama, password dan baudratenya. Untuk masuk ke command mode kita membutuhkan sebuah board arduino. Disini sy akan menggunakan arduino uno. Berikut langkah-langkah untuk masuk ke mode command.

1. Ketikkan program di bawah ini pada arduino IDE. kemudian upload pada arduino board.



2. Sambungkan arduino dengan bluetooth seperti skema berikut. Cabut usb pada komputer/ arduino saat menyambungkan/ merangkai bluetooth dengan arduino.
 3. Ketika sambungan bluetooth dan arduino sudah benar, skr saatnya menancapkan usb ke komputer kembali. Saat menghubungkan USB ke komputer, tekan tahan tombol kecil yang berada pada bluetooth hingga led yang ada di bluetooth berkedip kedip pelan (delay sekitar 2 detik).

4. Kemudian buka serial monitor pada arduino IDE. Akan muncul seperti gambar berikut.
5. Ketikkan AT dan tekan SEND (jangan menggunakan enter). Jika Sukses maka akan muncul tulisan OK seperti di bawah ini. Jika Tidak muncul respon OK atau Error maka periksa kembali TX dan RX nya. Pastikan baudrate pada serial monitor 9600.
Berikut commands untuk mengubah setting yang lain :
  • AT+NAME=namabluetooth    : untuk mengubah nama bluetooth
  • AT+PSWD=9999                   : mengubah password (langsung masukkan password yang baru)
  • AT+ORGL                            : untuk mengembalikan ke seting awal
  • AT+VERSION?                      : untuk melihat versi dari bluetooth
  • AT+UART=38400,1,0          : mengganti baudrate ke 38400 dengan 1 stop bit dan 0 parity

Tuesday, January 16, 2018

Micro Servo SG90

Kali ini saya akan membahas mengenai Mikro Servo SG90. Servo ini memiliki dimensi yang cukup kecil dengan panjang 22.2 mm, lebar 11.8mm, dan tinggi 31 mm dengan material terbuat dari plastik. Untuk putaran sendiri, servo ini hanya dapat berputar lebih kurang sebesar 180 derajat (saya menyebut lebih kurang karena pada beberapa device putaran bisa lebih dari 180 derajat, tapi tidak banyak sih.. bisa kurang/lebih 5 derajat). Jika kalian membutuhkan servo dengan kepresisian yang lebih tinggi bisa menggunakan tipe servo yang lain. Pada dasarnya, untuk menggerakkan servo kita membutuhkan sinyal PWM ya gan. jadi servo ini tidak bisa kalian coba hanya dengan menggunakan tegangan dc biasa. 
Untuk lebih jelasnya yuk kita lihat datasheetnya dibawah ini.

Untuk SG90 ini memiliki 3 kabel yaitu VCC (+), GROUND (-), dan PWM. Nah, lalu bagaimana menggerakkan/mengontrol servo ini?
dalam datasheet dijelaskan untuk menuju posisi "0" kita harus memberikan pulsa sebesar 1.5 ms (posisi "0" yang dimaksud disini adalah posisi di tengah-tengah antara 0 derajat hingga 180 derajat, lihat ilustrasi di bawah)
Untuk menggerakkan servo ini kita harus memberi sinyal pwm antara 0.5 ms sampai 2.5 ms.
  • 0.5 ms (5V) = menggerakkan servo ke posisi 0 derajat
  • 1.5 ms (5V) = menggerakkan servo ke posisi 90 derajat (posisi tengah servo / "0")
  • 2.5 ms (5V) = menggerakkan servo ke posisi 180 derajat
Untuk Lebih jelasnya kita coba menggunakan arduino. Ketik program dibawah ini
Sambungkan servo dengan arduino
  • merah >> 5V
  • coklat >> gnd
  • orange >> 9 (data)
Pada program kita memberikan delay sinyal sebesar 2500 microsecond (2.5 ms) sehingga jika program kita upload ke board, servo akan bergerak ke arah 180 derajat. Jika kalian mengubah nilai 2500 menjadi 500 maka servo akan bergerak pada posisi 0 derajatnya. Lalu bagaimana untuk menggerakkan ke arah / sudut tertentu? kalian bisa mengkalkulasinya.

Selain itu, arduino juga menyediakan library servo yang siap di pakai. Untuk mencobanya kalian bisa buka program example di arduino. klik File - Examples - Servo - Sweep
maka akan muncul program seperti di bawah ini
Upload dan servo akan bergerak bolak balik.

Wednesday, January 10, 2018

Infrared Remote Arduino



Infrared remote dapat digunakan sebagai alternatif pilihan kontrol dalam sebuah sistem. Nah kali ini saya akan membahas tutorial menggunakan / memprogram infrared remote menggunakan arduino. IR remote yang digunakan pada tutorial kali ini seperti pada gambar di bawah ini.



Terdapat 2 komponen utama pada remote tersebut yaitu receiver (berupa led) dan remotenya sendiri. Pada tutorial ini saya menggunakan arduino uno sebagai kontroller.
Hal pertama yang harus dilakukan adalah menyambungkan receiver dengan arduinonya seperti skema di bawah ini.
Nah setelah menyambungkan receiver dengan arduino, sekarang waktunya mem-program.
Buat program seperti di bawah ini.


Dalam program tersebut menggunakan library IRremote.h. Nah, sebelum meng-compile kita harus menambahkan dahulu library tersebut ke arduino IDE kita. Caranya :
1. Download Library IR di link berikut IRremote
2. Ekstrak file tersebut
3. Copy kan folder tersebut ke dalam folder lib arduino
Nah, Jika selesai menambahkan library saatnya mengkompile dan upload program ke arduino. Kemudian buka serial monitor

 Maka jika kalian menekan tombol akan keluar data seperti gambar berikut
Data tersebut berupa data HEX. Setiap tombol pada remote memiliki nilai yang berbeda - beda ya...
Lalu bagaimana jika ingin menampilkan sesuai dengan yang tertera di tombol?
Kalian bisa memodifikasi program seperti di bawah ini 


  
Note : nilai data dari remote kalian mungkin berbeda dengan data yang ada di tutorial ini.

Thursday, January 4, 2018

Perbedaan Buzzer Aktif dan Pasif

Buzzer merupakan sebuah alat/device yang dapat meghasilkan bunyi. Terdapat berbagai jenis dan bentuk buzzer yang ada dipasaran saat ini. Kali ini saya akan menjelaskan perbedaan mendasar dari jenis buzzer aktif dan buzzer pasif. 
Secara fisik sendiri, untuk membedakan buzzer pasif dan aktif agak susah.Perhatikan gambar di bawah ini

Gambar sebelah kiri merupakan buzzer pasif, sedangkan sebelah kanan adalah buzzer aktif.
Lalu bagaimana membedakannya?
Pada dasarnya buzzer aktif akan langsung berbunyi ketika diberikan tegangan. Sebaliknya, buzzer pasif memerlukan sinyal oscillator untuk membunyikannya.
Perhatikan video di bawah ini.


Nah, lalu bagaimana cara untuk membunyikan buzzer pasif?
Berikut Tutorialnya

Material/ bahan
Buzzer
Arduino

Buat Rangkaian seperti gambar berikut

  
Kemudian buka software Arduino IDE dan compile program dibawah ini
Pada program arduino sudah memiliki instruksi khusus untuk mengaktifkan/membunyikan buzzer yaitu menggunakan perintah tone()
berikut penjelasannya.
Selamat berkreasi :)

RGB Led Arduino



Kali ini kita akan membahas mengenai RGB Led. RGB led merupakan sebuah led yang dapat memancarkan sinar cahaya merah (Red), hijau (Green), dan biru (Blue). Pada umumnya terdapat 2 jenis rgb led yaitu common anoda dan common katode. Lalu apa perbedaannya?
Nah perhatikan gambar rgb led berikut.




Led RGB di atas merupakan RGB led dengan common anoda, artinya kaki commonnya (kaki yang paling panjang adalah kaki pin positif). Sehingga untuk menyalakan led tinggal sambungkan kaki-kaki pin R/G/B nya pada kaki ground atau 0 Volt. Misal ingin menyalakan sinar merah maka kaki R  disambungkan ke ground atau 0 volt. Begitu seterusnya…

Untuk lebih jelas bisa lihat tutorial berikut

Tutorial RGB Led Arduino

Material/bahan yang digunakan

RGB led (Common Anoda)

Resistor (1KOhm)
Breadboard
Arduino Uno (Bisa menggunakan jenis arduino board yang lain)


Material/bahan – bahan yang disebutkan diatas diragkai seperti pada skema berikut ini


Kemudian buka Software arduino ide dan ketikkan program dibawah ini




Compile program tersebut dan upload pada arduino.
Tadaaaa…
Led akan menyala bergantian merah, hijau, dan biru secara bergantian dengan jeda 2 detik.

Berikut penjelasan mengenai program


int red = 10;
int green = 9;
int blue = 8;

Tiga baris program diatas merupakan program untuk mendefinisikan pin-pin yang terhubung dengan RGB led. Untuk lebih mudah, maka setiap pin kita beri nama sesuai warnanya. Kemudian kita menentukan pin-pin tersebut sebagai keluaran (output) seperti berikut

pinMode(red, OUTPUT);
  pinMode(green, OUTPUT);
  pinMode(blue, OUTPUT);

Dikarenakan RGB yang digunakan pada tutorial ini adalah jenis common anoda, maka kita harus memberikan logika HIGH pada pin-pin keluaran tersebut atau biasa disebut pull up dengan kode berikut

digitalWrite(red, HIGH);
  digitalWrite(green, HIGH);
  digitalWrite(blue, HIGH);


Nah setelah proses pendefinisian, kita masuk ke program utamanya.

  digitalWrite(red, LOW);
  digitalWrite(green, HIGH);
  digitalWrite(blue, HIGH);



kode program diatas adalah untuk menyalakan led warna merah. Pada led RGB ini, led akan menyala jika diberi logika LOW dan akan mati jika diberi Logika HIGH. Kemudian beri program delay(2000); untuk memberi jeda selama 2 detik. Kemudian program berlanjut dengan menyalakan led hijau dan seterusnya. Lalu bagaimana jika ingin menyalakan led dengan warna selaian merah, hijau, dan biru?

Berikut tutorialnya


Compile dan upload program dibawah ini


Nah, apa yang terjadi?
Led akan menyala warna kuning…
Pada dasarnya program diatas sama dengan program pertama, bedanya pada program yang baru ini hanya mengaktikan led merah dan hijau dengan jeda yang lebih cepat yaitu 2 ms. Sehingga campuran warna merah dengan hijau akan menghasilkan warna kuning..Lalu bagaimana dengan warna yang lain?
silakan berkreasi sendiri
:)