Aplikasi Android ini dapat mengendalikan lampu dari jarak jauh menggunakan Arduino Uno dan modul bluetooth HC-05, aplikasi yang dibuat pada platform android ini memiliki tampilan antar muka (user interface) yang menarik dan mobile friendly.
Kebutuhan sistem pengendalian jarak jauh semakin meningkat dimana perpindahan dan pergerakan manusia semakin luas dan cepat terutama dikota besar, aktifitas setiap individu masyarakat sangatlah padat dengan berbagai macam pekerjaannya, tentunya memakan waktu dari pagi hingga malam hari. Akibatnya banyak kegiatan yang tertunda, seperti menghidupkan atau mematikan lampu disetiap ruang saat malam dan pagi hari. Sekarang akan jauh lebih efektif jika menggunakan android kamu sebagai alternatif mengontrol lampu penerangan dengan cepat dari jarak jauh.
So, apa yang harus disiapkan?
HARDWARE
- Arduino UNO
- Regulator 7805
- DC jack
- Resistor 1k
- Kapasitor 470uF
- Transistor BC547
- Led 3mm
- Connector
- Pin Header female/male
- Diode 4001 (opsi)
- Relay 5VDC
- Modul Bluetooth HC-05
SOFTWARE
- App Inventor, MIT (Massachusetts Institute of Technology),
- IDE Arduino (Integrated Developtment Enviroenment),
- EAGLE (Easily Applicable Graphical Layout Editor).
DIAGRAM
Diagram blok merupakan gambaran dasar dari rangkaian sistem yang akan dibuat.
Blok Diagram Sistem |
Alur kerja yang digambarkan dalam Blok Diagram Sistem diatas kamu harus melakukan komunikasi dengan sistem dengan menggunakan ponsel android yang sudah terinstal aplikasi pengendali lampu, melalui media Bluetooth. Ponsel android memberikan input ke arduino UNO yang bekerja dengan mendapatkan daya dari adaptor 5 V. Arduino memproses input dan memberikan output berupa logika high (tegangan 5 v) dan logika low (tegangan 0 v) melalui pin yang sudah ditentukan. Pin arduino dihubungkan ke modul relay, sehingga ketika pin bertegangan 0 volt relay akan aktif dan sebaliknya ketika bertegangan 5 volt relay akan tidak aktif. Relay aktif akan menyambungkan aliran listrik utama ke lampu sehingga lampu menyala.
PROTOTIPE
Selain menggunakan software untuk mendesign wiring dan perangkat yang dituliskan diatas, software auto CAD juga digunakan untuk mendesign mendesain prototipe sebagai referensi buat kamu.
Contoh Perancangan Prototipe |
SCHEMATIC
Berikut adalah rangkaian elektronik pengendali lampu rumah menggunakan android berbasis Arduino:
Schematic Rangkaian |
Arduino UNO mendapat sumber tegangan dari adaptor 5V yang langsung dihubungkan ke listrik utama. RX dan TX modul Bluetooth dihubungkan ke TX dan RX Arduino UNO dan mengambil sumber tegangan (3,3V) dari Arduino UNO. Pin IN1, IN2, IN3, dan IN4 Relay Modul dihubungkan ke pin 2, 3, 4,dan 5 Arduino UNO serta sumber tegangan (5V) mengambil dari Arduino UNO juga. Output Relay dihubungkan ke listrik utama dan lampu. C1, C2, C3, C4 ke listrik utama dan NO1, NO2, NO3, NO4 ke lampu rumah.
LAYOUT
Layout Rangkaian |
Arduino Uno dapat bekerja dan memproses data yang sesuai dengan input yang diinginkan kemudian dikirimkan dari Aplikasi android hanya jika didalamnya sudah dimasukkan listing program, program yang dimasukkan kedalam Arduino dibuat dan diupload ke Arduino menggunakan tools yang tersedia pada software Arduino IDE.
Rangkaian Eagle:
schematic_relay.brd (Download)schematic_relay.sch (Download)schematic_relay.pdf (Download)
RANGKAIAN
Berikut adalah rangkaian yang sudah berada pada rangkaian board PCB:
Bentuk Fisik Rangkaian |
Rangkaian Pengkabelan |
Contoh Lampu 220 VAC yang Digunakan |
SOURCE CODE
program.ino (Download)
/*************************************************************************************
* Aplikasi Pengendali Lampu Rumah Berbasis Android dan Arduino
* by: Ari Septiawan - www.amg36.net
* WARNING: When uploading a code ==> Power-off Relays
************************************************************************************/
#include
#define ON 0
#define OFF 1
const int relay1 = 8;
const int relay2 = 9;
const int relay3 = 10;
const int relay4 = 11;
const int relay5 = 12;
byte State1 = 1;
byte State2 = 1;
byte State3 = 1;
byte State4 = 1;
byte State5 = 1;
char input;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println(F("Control 8 Channel relay via Bluetooth"));
pinMode(relay1,OUTPUT);digitalWrite (relay1,OFF);
pinMode(relay2,OUTPUT);digitalWrite (relay2,OFF);
pinMode(relay3,OUTPUT);digitalWrite (relay3,OFF);
pinMode(relay4,OUTPUT);digitalWrite (relay4,OFF);
pinMode(relay5,OUTPUT);digitalWrite (relay5,OFF);
ReadEEPROM ();
}
void loop() {
// put your main code here, to run repeatedly:
bluetooth();
}
void bluetooth() {
if (Serial.available()>0)
{
input= Serial.read();
if (input == 'A') {
digitalWrite (relay1,ON);
EEPROM.write(1, 0);
Serial.println("relay 1 ON by Bluetooth");}
if (input == 'a') {
digitalWrite (relay1,OFF);
EEPROM.write(1, 1);
Serial.println("relay 1 OFF by Bluetooth");}
if (input == 'B') {
digitalWrite (relay2,ON);
EEPROM.write(2, 0);
Serial.println("relay 2 ON by Bluetooth");}
if (input == 'b') {
digitalWrite (relay2,OFF);
EEPROM.write(2, 1);
Serial.println("relay 2 OFF by Bluetooth");}
if (input == 'C') {
digitalWrite (relay3,ON);
EEPROM.write(3, 0);
Serial.println("relay 3 ON by Bluetooth");}
if (input == 'c') {
digitalWrite (relay3,OFF);
EEPROM.write(3, 1);
Serial.println("relay 3 OFF by Bluetooth");}
if (input == 'D') {
digitalWrite (relay4,ON);
EEPROM.write(4, 0);
Serial.println("relay 4 ON by Bluetooth");}
if (input == 'd') {
digitalWrite (relay4,OFF);
EEPROM.write(4, 1);
Serial.println("relay 4 OFF by Bluetooth");}
if (input == 'E') {
digitalWrite (relay5,ON);
EEPROM.write(5, 0);
Serial.println("relay 5 ON by Bluetooth");}
if (input == 'e') {
digitalWrite (relay5,OFF);
EEPROM.write(5, 1);
Serial.println("relay 5 OFF by Bluetooth");}
if (input == 'F') {
digitalWrite (relay1,ON);
digitalWrite (relay2,ON);
digitalWrite (relay3,ON);
digitalWrite (relay4,ON);
digitalWrite (relay5,ON);
EEPROM.write(1, 0);
EEPROM.write(2, 0);
EEPROM.write(3, 0);
EEPROM.write(4, 0);
EEPROM.write(5, 0);
Serial.println("relay 5 ON by Bluetooth");}
if (input == 'e') {
digitalWrite (relay1,OFF);
digitalWrite (relay2,OFF);
digitalWrite (relay3,OFF);
digitalWrite (relay4,OFF);
digitalWrite (relay5,OFF);
EEPROM.write(1, 1);
EEPROM.write(2, 1);
EEPROM.write(3, 1);
EEPROM.write(4, 1);
EEPROM.write(5, 1);
Serial.println("relay 5 OFF by Bluetooth");}
}
}
void ReadEEPROM (){
State1 = EEPROM.read(1);
State2 = EEPROM.read(2);
State3 = EEPROM.read(3);
State4 = EEPROM.read(4);
State5 = EEPROM.read(5);
digitalWrite(relay1,State1);
Serial.print(F("Posisi Terakhir relay1 = "));
if(State1==0){Serial.println("ON");} else {Serial.println("OFF");}
digitalWrite(relay2,State2);
Serial.print(F("Posisi Terakhir relay2 = "));
if(State2==0){Serial.println("ON");} else {Serial.println("OFF");}
digitalWrite(relay3,State3);
Serial.print(F("Posisi Terakhir relay3 = "));
if(State3==0){Serial.println("ON");} else {Serial.println("OFF");}
digitalWrite(relay4,State4);
Serial.print(F("Posisi Terakhir relay4 = "));
if(State4==0){Serial.println("ON");} else {Serial.println("OFF");}
digitalWrite(relay5,State5);
Serial.print(F("Posisi Terakhir relay5 = "));
if(State5==0){Serial.println("ON");} else {Serial.println("OFF");}
}
void relayON (uint8_t r) {
digitalWrite (r+1,ON);
EEPROM.write(r, 1);
Serial.print("Relay ");
Serial.print(r);
Serial.println(" ON by Bluetooth");
}
void relayOFF (uint8_t r) {
digitalWrite (r+1,OFF);
EEPROM.write(r, 0);
Serial.print("Relay ");
Serial.print(r);
Serial.println(" OFF by Bluetooth");
}
INSTAL APP
Langkah selanjutnya adalah menginstal app yang sudah disediakan dibawah ini, silahkan download dan gunakan sebagai referensi pembuatan project kamu, Gratis...!
Berikut Adalah tampilan aplikasinya:
Untuk menjalankan aplikasinya, kamu harus menghubungkan aplikasi dengan alat yang sudah terpasang modul bluetooth-nya dalam keadaan hidup. Kamu bisa menghubungkannya melalui Menu Setting seperti gambar diatas. Pilih nama bluetooth yang tampil pada android kamu dan SAMBUNGKAN!.
Download:Aplikasi dengan ext .apk bisa langsung instal di android kamu, Aplikasi dengan ext .aia bisa reedit dengan menggunakan app inventor. Tentunya kamu harus terdaftar dulu di web app inventor untuk bisa mengeditnya.
Aplikasi_Android.apk (Download)Aplikasi_Android.aia (Download)
Berikut Adalah tampilan aplikasinya:
Tampilan Aplikasi android |
Sangat membantu.
ReplyDeleteRegulatornya bisa langsung dari power USB min?
ReplyDeleteBISA...!
ReplyDeleteAkan tetapi, jika menggunakan power supply dari USB Laptop/PC akan mempengaruhi output voltage relay. Sangat berpengaruh jika semua relay dalam keadaan HIGH.