Senin, 20 April 2015

Arduino & Android - Cara Mudah Bikin Aplikasi Android untuk Kontrol LED

Yang Harus Disiapkan :

  1. Ponsel Android
  2. Arduino
  3. Protoboard
  4. Jumper (Secukupnya)
  5. LED 2
  6. Resistor (1 atau 2 opsional)
  7. Bluetooth serial
  8. Koneksi Internet

Langkah - Langkah Pembuatan Aplikasi Android dengan mudah dan sederhana :


1.  Kunjungi website App Inventor Disini

2.  Pilih "Build" ikuti gambar berikut :

Pilih "MIT App Inventor xxx"

Login dengan email hingga jendela baru seperti pada gambar diatas

Setelah klik "Start new project" isikan nama aplikasi yang akan dibuat

Pastikan tampilan akan mirip dengan gambar diatas 


Drag and Drop :
Bagian Connectivity : BluetoothClient (Untuk Koneksi Bluetooth)
Bagian User Interface : ListPicker (Untuk Memilih Bluetooth) & Button (Untuk On/Off Led atau kirim data)
*Sesuaikan Nama Button pada bagian Properties

Klik "Blocks" untuk memprogram dengan model Drag and Drop

Buat Seperti gambar diatas

Terakhir adalah Simpan dan Download aplikasi yang sudah dibuat dengan langkah-langkah sebagai berikut :
klik "Build" -> "App ( save .apk to my computer )

Tunggu hingga proses download selesai (seperti download file biasa di internet)

Setelah selesai copy file .apk ke ponsel kemudian install manual.


3.  Siapkan Bagian Hardware

           - Berikut program untuk arduino konfigurasi pin dan baudrate bluetooth serial sesuaikan dengan program :

#include <SoftwareSerial.h>
SoftwareSerial mySerial(10,11); // RX, TX
boolean led1=true;
boolean led2=true;

void setup()
{
  Serial.begin(9600);
  mySerial.begin(9600);
  pinMode(6,OUTPUT);
  pinMode(7,OUTPUT);
  digitalWrite(6,LOW);
  digitalWrite(7,LOW);
}

void loop()
{
  if(mySerial.available()>0)
  {
    char c=mySerial.read();
    delay(15);
    Serial.println(c);
    if(c=='1'&&led1==true)
    {
      digitalWrite(6,HIGH);
      led1=false;
      Serial.println("Led 1 Aktif");
      delay(100);
      return;
    }
    if(c=='1'&&led1==false)
    {
      digitalWrite(6,LOW);
      led1=true;
      Serial.println("Led 1 Tidak Aktif");
      delay(15);
      return;
    }
    if(c=='2'&&led2==true)
    {
      digitalWrite(7,HIGH);
      led2=false;
      Serial.println("Led 2 Aktif");
      delay(15);
      return;
    }
    if(c=='2'&&led2==false)
    {
      digitalWrite(7,LOW);
      led2=true;
      Serial.println("Led 2 Tidak Aktif");
      delay(15);
      return;
    }
  } 
}

4.  Upload program ke arduino

5.  Sinkronkan bluetooth ponsel dengan modul bluetooth serial yang terhubung dengan arduino

6.  Buka Aplikasi yang sudah diinstall tadi kemudian sinkronkan bluetooth dari aplikasi dan pastikan terhubung

7.  Kontrol led dengan "Button" yang ada pada aplikasi tersebut.


Video di Youtube :

Sabtu, 18 April 2015

Sensor Pendeteksi Hujan Menggunakan ESP8266-01 dan Update informasi ke Geeknesia

Gambaran Sistem :









Alat dan bahan yang digunakan :
  1.  Solder + Timah
  2.  PCB Lempeng
  3. Ferit Clorida
  4. Baterai 3800 mA (Opsional)
  5. Spidol Permanen
  6.  Penggaris
  7.  Modul ESP8266
  8.   FTDI (Bisa USB to TTL jenis lain)
  9.  Kabel jumper (Secukupnya)


Software yangdigunakan :
  1. LuaUploader
  2. ESP8266Flasher

Langkah-langkah pengerjaan :
  1. Flashing ESP8266-01
           a)   Konfigurasi Hardware
               
* Untuk selektor tegangan gunakan 3v3 dan disarankan menggunakan regulator tegangan terpisah dari ic usb to ttl.


           b)   Proses Flashing firmware nodemcu
                  -          Hubungkan FTDI ke port laptop dan pastikan port terbaca
                  -          Buka Software ESP8266Flasher
                  -          Klik Flash(F) :

      

           c)   Modifikasi Hardware
                       Disini yang digunakan adalah pin ADC, karena pada ESP8266-01 belum dikeluarkan                    pin ADCnya maka untuk menggunakan pin tersebut kita harus melakukan modifikasi atau                   jumper. Ikuti gambar berikut :
                  
Pemetaan pin untuk dimodifikasi

Pin yang sudah di modifikasi

Disini jalur I/O Reset diganti menjadi jalur pin ADC, jika membutuhkan pin Reset maka tinggal dijumper kembali.


           d)   Programming dengan LUA
  • Buka Software LuaUploader
  • Pastikan port yang dipilih sudah benar
  •  Copy program berikut ini dan sesuaikan API yang didapat dari device geeknesia setelah daftar dan bikin akun. Program berikut hanya mencontohkan untuk mengirim nilai ADC ke geeknesia. Jika ingin menambahkan logikanya tinggal dimasukkan sesuai kebutuhan. 
  • Program untuk membangun koneksi dengan AP :  
          wifi.setmode(wifi.STATION)
          wifi.sta.config ( "WIFI_SSID" , "PASSWORD" ) 
          print(wifi.sta.getip())

  • Program untuk update informasi ke geeknesia :
          wifi.setmode(wifi.STATION)          wifi.sta.connect()          tmr.delay(10000)          function sendH()          t1=adc.read(0)          conn =nil          conn=net.createConnection(net.TCP,0)
          conn:on("receive", function(conn, payload)success = true
          print(payload)
          end)
          conn:on("connection",
          function(conn, payload)
  conn:send("GET http://api.geeknesia.com/api/data?api_key=APIdariGeeknesia&attributes={\"Status\":"..t1.."} HTTP/1.0\r\n\r\n")end)
          conn:on("disconnection", function(conn, payload)
          end)
          conn:connect(3000,"geeknesia.com")
          end
          sendH()
          tmr.alarm(1,3000,1,function()sendH()end)

  • Simpan program di ESP8266


           e)   Menggabungkan ESP dengan board sensor hujan dan baterai

`                        -   Merancang jalur sensor hujan



           f)   Pengujian
Untuk pengujian cukup basahi bagian trigger dengan air dan pastikan dapat terhubung dengan AP yang memiliki koneksi internet. kemudian akses kembali alamat geeknesia.com dan klik ikon yang API-nya dimasukkan ke program esp





Saran
       Kedepannya akan digunakan mode slave (tanpa relay untuk menghemat daya) dan sistem trigger masih tetap menggunakan sensor air hujan (satu sensor).



*Jika ada yg kurang jelas, kurang tepat bahkan salah, mohon dimaafkan dan silakan hubungi saya