Thursday, March 22, 2018

PWM Pada Arduino





  Efek keluaran gelombang analog pada Arduino dapat dicapai menggunakan teknik PWM pada gelombang digital. Teknik PWM ini dilakukan dengan mengontrol gelombang digital menjadi ON/OFF secara bergantian dalam satu periode gelombang. Perbandingan waktu antara saat gelombang ON dengan waktu gelombang dalam satu periode inilah yang disebut dengan duty cycle. Agar lebih jelas, mari kita lihat ilustrasi berikut.
Dari gambar di atas, terlihat ilustrasi bagaimana duty cycle diubah-ubah pada tiap gelombang. Syntax analogWrite(0) akan menghasilkan duty cycle 0%, sementara analogWrite(255) akan menghasilkan duty cycle 100%. Rentang PWM 0 hingga 255 akan menghasilkan duty cycle dari 0% hingga 100%. Adapun rentang 0 hingga 255 ini adalah PWM pada Arduino Uno yang hanya memiliki resolusi 8-bit saja (8 bit = 2 dipangkatkan 8 = 256), sehingga apabila kamu menggunakan Arduino versi lain, kamu perlu mengetahui resolusi PWM-nya agar tahu batas maksimum dan minimum.

     Pada percobaan ini, kamu membutuhkan sebuah LED dan sebuah resistor 330 ohm. Hubungkan kaki negatif LED ke GND dan kaki positif LED dihubungkan dengan resistor, kemudian ujung resistor satunya dihubungkan ke pin PWM arduino yang bertanda (~). Mudahnya, lihat ilustrasi skematik berikut ini:

Wednesday, March 21, 2018

Modul Bluetooth HC-05 Menggunakan Arduino dan LED



      Module Bluetooth HC-05 adalah module komunikasi nirkabel via bluetooth yang dimana beroperasi pada frekuensi 2.4GHz dengan pilihan dua mode konektivitas. Mode 1 berperan sebagai slave atau receiver data saja, mode 2 berperan sebagai master atau dapat bertindak sebagai transceiver. Pengaplikasian komponen ini sangat cocok pada project elektronika dengan komunikasi nirkabel atau wireless. Aplikasi yang dimaksud antara lain aplikasi sistem kendali, monitoring, maupun gabungan keduanya.
  Antarmuka yang dipergunakan untuk mengakses module ini yaitu serial TXDRXDVCC serta GND. Serta terdapat LED (built in) sebagai indikator koneksi bluetooth terhadap perangkat lainnya seperti sesama module, dengan smartphone android, dan sebagainya.
      Jangkauan jarak efektif module ini saat terkoneksi dalam range 10 meter, dan jika melebihi dari range tersebut maka kualitas konektivitas akan semakin kurang maksimal.
Spesifikasi dari module ini antara lain :
  1. Frekuensi kerja ISM 2.4 GHz
  2. Bluetooth protocol : Bluetooth tipe v2.0+EDR
  3. Kecepatan dapat mencapai 1Mbps pada mode sinkron
  4. Kecepatan dapat mencapai 2.1 Mbps / 160 kbps pada mode asinkron maksimum
  5. Tegangan kerja pada 3,3 – 6 Volt DC
  6. Konsumsi arus kerja yaitu 50 mA
  7. Memiliki modulasi Gaussian Frequency Shift Keying (GFSK)
  8. Sensitivitas -84dBm (0.1% BER)
  9. Daya emisi 4 dBm
  10. Suhu operasional range -20°C — +75°C
  11. Memiliki keamanan dengan enkripsi data dan enkripsi
  12. Dimensi modul 15.2×35.7×5.6 mm
          Module ini dapat digunakan sebagai mode slave (Rx), maupun mode master (TX) dan memiliki 2 metode konfigurasi yaitu AT Mode dan Communication Mode. Pada AT Mode berfungsi sebagai pengaturan konfigurasi dari HC-05, sedangkan pada Communication Mode berfungsi sebagai komunikasi nirkabel dengan perangkat atau piranti lainnya.

Mengakses module Bluetooth HC-05

Bahan yang diperlukan :
  1. Arduino Uno
  2. Module Bluetooth HC-05
  3. Breadboard
  4. Kabel Jumper
  5. Komputer + Software IDE Arduino
Tidak memerlukan library baru dikarenakan sudah ada pada software IDE Arduino yaitu <SoftwareSerial.h> .
Skema yang perlu dirangkaikan


Keterangan pin :
  • Pin 0 > RXD Module bluetooth
  • Pin 1 > TXD
  • 5V > VCC
  • GND > GND
  • VCC > Key / EN
Kode program sederhana :

#include <SoftwareSerial.h>
SoftwareSerial module_bluetooth(0, 1); // pin RX | TX
void setup()
{
    Serial.begin(9600); //menggunakan komunikasi serial softawre IDE pada 9600 bps
    Serial.println("Input command AT:");
    module_bluetooth.begin(38400); //Baudrateb module bluetooth
}
void loop() {
    //Membaca terhubungnya koneksi HC05 dengan arduino pada serial Monitor
    if (module_bluetooth.available())
    Serial.write(module_bluetooth.read());
    //Membaca data dari Arduino Serial monitor yang akan dikirim ke HC05
    if (Serial.available())
    module_bluetooth.write(Serial.read());
}
  1. AT : untuk mengetest konektivitas antara module, arduino, dan ditampilkan di serial monitor
  2. AT+RESET : untuk mereset data yang terdapat pada module
  3. AT+VERSION? : untuk mengetahui akan versi firmware yang terdapat pada module
  4. AT+ORGL : mengembalikan semua data seperti semula
  5. AT+ADDR : untuk mengetahui akan bluetooth module address
  6. AT+NAME=”abcd” : yang berarti module akan diberikan nama “abcd”
  7. AT+NAME? : mengetahui nama device module
  8. AT+ROLE? : untuk mengetahui akan parameter device tentang status dijadikan mode slave atau master.
  9. AT+ROLE=0 : menandakan module dijadikan mode slave role (mode yang hanya menerima data saja), apabila diisikan “1” module dijadikan mode master role (sebagai transmisi data / pengendali), sedangkan “2” maka akan dijadikan mode slave loop role (mode yang hanya menerima data saja dan mengirimkan data juga ke master)

Tutorial mengakses Module Bluetooth HC-05 dan LED via SmartPhone Android

Bahan yang diperlukan :
  1. Arduino Uno
  2. LED 3mm
  3. Resistor
  4. Module Bluetooth HC-05
  5. Kabel Jumper
  6. Komputer + Software IDE Arduino
  7. Hp Smart Phone Android
Skema yang perlu dirangkaikan


Kode Program


#include <SoftwareSerial.h> 
SoftwareSerial module_bluetooth(0, 1); // pin RX | TX

define LED1 13
char data = 0;             
void setup() 
{
  Serial.begin(9600);         
  pinMode(LED1, OUTPUT);  //inisialisasi LED menjadi output
}
void loop()
{
  if(Serial.available() > 0)  
  {
    data = Serial.read();Serial.print(data);    //Pembacaan dan ditampilkan data yang masuk   
    Serial.print("\n"); 
    //Data yang masuk      
    if(data == '1'){
    digitalWrite(LED1, HIGH);delay(1000); //diberikan waktu tunda 1 detik
    digitalWrite(LED1, LOW);delay(1000);
    }
    else if(data == '0')      
    digitalWrite(LED1, LOW);  
  }                            

}

Bagaimana cara menggunakan aplikasi ini di smartphone Android?

  • Download Aplikasi dari sini : download
  • Pair perangkat Anda dengan modul bluetooth HC 05/06
    1) Hidupkan modul bluetooth HC 05/06 dan Arduino yang sudah di downloadkan program diatas
    2) Pindai perangkat yang tersedia
    3) Pair dengan HC 05/06 dengan memasukkan kata sandi default 1234 atau 0000
  • Instal aplikasi LED pada perangkat android Anda
  • Buka Aplikasi
Tampilan pada Smart Phone
Smartphone Android module bluetooth HC-05
Selamat mencoba!
Demikian tutorial saya, dan semoga bermanfaat.

Sensor DHT11 (Untuk Mengukur Kelembaban Udara dan Suhu) Menggunakan Arduino

    Ada beberapa jenis sensor yang umum dikenal, diantaranya sensor DHT11, DHT21 atau DHT22. Nama lain yang lebih baru digunakan adalah AM2302 (untuk DHT22) dan AM2301(untuk DHT21). Namun demikian, istilah 'DHT' masih sering digunakan.
      Dalam satu modul, kita dapat memperoleh informasi tentang kelembaban dan suhu sekaligus. Ketiga jenis sensor ini dapat diperoleh di pasaran dengan harga yang cukup terjangkau.
Humidity DHT11 Arduino
                                             
                                         Sensor DHT 11

Komponen
     Sensor ini memiliki empat kaki, yaitu pin VCCDataNC, dan GND. Jika kita membelinya berupa modul (seperti pada Gambar 1), kaki NC bisanya tidak dikeluarkan, sehingga yang ada hanyalah pin VCCData, dan GND. Perhatikanlah penempatan pin ini dengan cermat, sebab akan berbeda urutannya, tergantung pabrikan yang memproduksi modul tersebut.
   Saat ini kita menggunakan Arduino UNO. Pin Data pada sensor akan terhubung dengan pin digital 2 pada Arduino UNO. Kedua pin yang lain, yaitu VCC dan GND dari sensor dan Arduino akan saling terhubung.

dht11.png

Software
         Sebelum memprogram sensor ini, kita akan menginstal pustaka (library) melalui IDE Arduino. Unduhlah pustaka yang disertakan pada tutorial ini, dan install-lah. Caranya, bukalah IDE Arduino, kemudian tambahkan pustaka dengan mencari: Sketch -> Include Library -> Add .ZIP Library.... Pilihlah library yang telah diunduh sebelumnya.
          Atau, jika komputer kita terkoneksi internet, lakukanlah instalasi secara online dengan mencari Sketch -> Include Library -> Manage Libraries... . Ketiklah kata kunci 'DHT11' dan carilah salah satu pustaka yang tersedia. Pada tutorial kali ini, kita menggunakan pustaka DHT milik Adafruit. 

dht11-pustaka.jpg

Humidity DHT11 Arduino
Instalasi Library DHT secara online
Selanjutnya, ketiklah contoh program berikut. Lihatlah hasilnya melalui serial monitor.
?
Contoh Pemrograman DHT11 pada Arduino
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include "DHT.h"
// pin digital yang digunakan
#define DHTPIN 2
// saat ini saya pakai sensor DHT11.
// uncomment sensor yang diinginkan
#define DHTTYPE DHT11
//#define DHTTYPE DHT22  
//#define DHTTYPE DHT21
DHT dht(DHTPIN, DHTTYPE);
void setup() {
  Serial.begin(9600);
  dht.begin();
}
void loop() {
  // Baca kelembaban
  float h = dht.readHumidity();
  // Baca temperatur dalam celcius
  float t = dht.readTemperature();
  //tampilkan pada serial monitor 
  Serial.print("Kelembaban: ");
  Serial.print(h);
  Serial.print(" Suhu: ");
  Serial.println(t);
  //delay sesaat sebelum pembacaan selanjutnya
  delay(1000);
}
Amatilah contoh tampilan serial monitor dengan klik menu serial monitor atau tekan ctrl+shift+m, dan lihat hasilnya seperti berikut:

Kelembaban: 68.90 Suhu: 29.80
Kelembaban: 68.80 Suhu: 29.80
Kelembaban: 68.80 Suhu: 29.80
Kelembaban: 68.80 Suhu: 29.80
Kelembaban: 68.80 Suhu: 29.80
Kelembaban: 68.80 Suhu: 29.80
Kelembaban: 68.80 Suhu: 29.80
Kelembaban: 68.70 Suhu: 29.80
Kelembaban: 68.70 Suhu: 29.80
Kelembaban: 68.70 Suhu: 29.70
Kelembaban: 68.70 Suhu: 29.70
Demikian tutorial kali ini. Semoga bermanfaat