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 

Kamis, 19 Maret 2015

Arduino SIM908 GPRS-GPS Tracking

Sistem tracking ini merupakan suatu sistem untuk melacak atau mengetahui pergerakan atau perpindahan koordinat dari gps receiver yang tertanam pada sim908, posisi dimonitoring pada website dengan pengiriman data. pada langkah-langkah dibawah ini akan memaparkan proses pengambilan data gps dari modul sim908 kemudian data koordinat (latitude, longitude) akan dikirim ke web server hingga data benar-benar tersimpan pada website. setelah data tersimpan maka dapat ditampilkan secara bersamaan dengan update data terbaru ataupun berbeda timing (tergantung programmer).
untuk menampilkan ke map maka diperlukan api key yang bisa didapat gratis disini, tentunya dengan daftar terlebih dahulu.

Alat/Modul yang dibutuhkan :
  1. 1x Arduino + Kabel
  2. 1x Adaptor 9-12 Volt
  3. Modul SIM908
  4. Kartu GSM yang sudah aktif paket Internet ( Biar tidak tekor haha. disini saya menggunakan Operator 3)
  5. Siapkan juga webserver/hosting. disini saya menggunakan hostinger (Kalau belum punya silakan daftar terlebih dahulu disini).
Langkah-Langkah Kerja :
  1. Download program arduino dan program php untuk terima data. disini
  2. Upload Program Arduino
  3. Upload Program/file .php ke server yang anda buat.
  4. Pasang Modul ke arduino
  5. Atur S1 dan S2 pada modul sim908 Berkomunikasi dengan arduino dan UART pilih ke gsm.
  6. Nyalakan arduino, buka serial monitor. pastikan modul mendapat data gps kemudian sukses setting gprs. dan sebagai indikator data berhasil di upload akan ada informasi "Done!" pada serial monitor.
  7. Untuk tampilan web silakan menyesuaikan sendiri.

Sabtu, 03 Januari 2015

Arduino Bootloader

Berikut cara untuk mem-bootload arduino ke mikrokontroler Atmega328P-PU yang baru di beli dan-agar dapat diprogram melalui serial salah satu tujuannya.

Komponen-komponen yang dibutuhkan :
  1. 1 x Arduino.
  2. 1 x IC Atmega328P-PU.
  3. 1 x Protoboard.
  4. 1 x Resistor 10 KOhm.
  5. 1 x Push Button.
  6. 1 x Kristal 16 MHz.
  7. 2 x Kapasitor 22 pF.
  8. Jumper Secukupnya.
Langkah-langkah bootload :
  1. Hubungkan Arduino dengan port usb.
  2. Buka Software arduino ( Compiler / IDE ).
  3. Buka Program "ArduinoISP" , Perhatikan gambar berikut :
  4. Atur atau pilih jenis Board yang anda gunakan untuk "mem-bootload":
  5. Atur atau pilih Serial Port sesuai dengan board anda :
  6. Upload program "ArduinoISP" tadi ke board:
  7. Siapkan rangkaian untuk Mikrokontroler target :
  8. Klik "Tools" -> "Programmer" -> "Arduino as ISP" :
  9. Klik "Tools" -> "Burn Bootloader" :
  10. Tunggu beberapa detik atau menit sambil memastikan tidak ada error, dan pastikan juga selama proses ada kmunikasi dua arah yang ditandai led tx & rx pada board arduino flip-flop.
  11. Jika proses bootload sukses, ketika led tx & rx berhenti flip flop akan ada tulisan "Done burning bootloader" :

  12. SELESAI. semoga bermanfaat :)

             

Link Video :
                             Video Youtube

Rabu, 31 Desember 2014

Arduino - Project Sederhana Mengendalikan Servo Dengan Password

Berikut langkah-langkah untuk mengendalikan port digital arduino dengan remote tv.

Implementasi :
  • Kunci Pintu
  • Pembelajaran
  • dll
Bahan-bahan yang dibutuhkan : 
  • 1 x Arduino
  • 1 x Keypad
  • 1 x Buzzer
  • Jumper secukupnya
Langkah-langkah :
  • Rangkai seperti gambar di bawah :
  • Download program pada link berikut :
      Klik Disini
  • Extract file tersebut, kemudian upload ke arduino.
  • (Opsional) Buka serial terminal.
  • Masukkan password yang benar *1234# , kemudian masukkan password yang salah dengan angka acak. * untuk reset password, # untuk konfirmasi password siap di cek.
  • Hasilnya : 
         
  • Berikut link video :
                                                    Video di youtube
  • Semoga Bermanfaat :) 

Penjelasan sederhana sistem kendali PID

PID merupakan Singkatan dari Proportional-Integral-Derivative, berfungsi untuk sistem pengendali yang bekerja dengan umpan balik untuk mendeteksi nilai error, sehingga sistem yang menggunakan PID dengan nilai masing-masing P-I-D yang tepat akan memperoleh hasil kendali yang stabil meskipun dalam kondisi dinamis. Dalam aplikasinya, ketiga parameter P,I, dan D dapat digunakan secara bersamaan ataupun digunakan sendiri-sendiri tergantung kebutuhan sistem yang di inginkan.

Ada beberapa parameter penting dalam PID diantaranya parameter pokok adalah :
  • Input atau Setpoint : Setpoint merupakan suatu nilai referensi atau patokan sistem untuk mengendalikan output berdasarkan Setpoint tersebut, PID berperan untuk meredam error dalam memberikan respond terhadap Output agar tidak melebihi setpoint ataupun kurang dari setpoint berdasarkan umpan balik yang diperoleh.
  • Umpan Balik atau Feedback : Umpan balik yang digunakan biasanya adalah jenis umpan balik tertutup, umpan balik berfungsi untuk mengambil nilai error terhadapa Setpoint yang nantinya nilai-nilai ini akan digunakan dalam perhitungan PID.
  • Output : merupakan hasil akhir dari proses, hasil akhir dari proses ini juga akan terus menerus diukur atau diambil nilainya kembali untuk umpan balik sehingga sistem dapat bekerja secara stabil terus menerus sekalipun dalam keadaan dinamis atau mendapat faktor eksternal.

Penjelasan singkat komponen P-I-D :

  • Proporsional (Proportional) : Kontrol P jika G(s) = kp, dengan k adalah konstanta. Jika u=G(s).e maka u=kp.e, dengan kp adalaha konstanta Proporsional. Kp hanya sebagai penguat yang bersipat tetap atau tidak dinamis. dalam aplikasi sederhana, kontrol P tunggal sudah cukup mampu untuk memberikan efek lebih baik jika nilai yang dimasukkan tepat.
  • Integratif (Integral) : Jika G(s) adalah kontrol I, maka u dapat dinyatakan sebagai u(t)=[integral_e(t)dT]Ki, dengan Ki merupakan konstanta Integral. Dari persamaan tersebut maka G(s) dapat dinyatakan dengan u=Kd.[delata_e/delta_t] jika e(T) mendekati konstan maka nilai u(t) menjadi sangat besar sehingga dapat memperbaiki error.
  • Derivatif (Derivative) : Kontrol u yang diperoleh dari D dapat dinyatakan sebagai G(s)=s.Kd , dari permsamaan dapat disimpulkan bahwa kontrol D berperan dalam kecepatan/rate error. dengan demikian kontrol D mampu memprediksi error untuk memperbaiki respond transien, selain itu pada kontrol D hanya akan berubah jika ada perubahan nilai error atau dengan kata lain faktor Derivatif tidak akan berpengaruh ketika nilai error tetap.
                         
                         
                         
Gambar Grafik pengaruh nilai Kp,Ki,Kd.

Selasa, 30 Desember 2014

Arduino - Kendali beberapa LED dengan remote tv

Berikut langkah-langkah untuk mengendalikan port digital arduino dengan remote tv.

Implementasi :
  • Kendali relay
  • Kendali LED
  • dll
Bahan-bahan yang dibutuhkan : 
  • 8 x LED 5mm (warna dan ukuran opsional)
  • 8 x Resistor 220 Ohm
  • 1 x Arduino (Uno,Mega,dll)
  • Kabel jumper secukupnya
  • 1 x Receiver Remote (Infrared Receiver)
  • 1 x Protoboard
Langkah-langkah :
  1. Kenali pin-pin dari Infrared Receiver, sebagai referensi lihat gambar berikut (anda harus memastikan datasheet Infrared Receiver anda) :
  2. Susun rangkaian seperti gambar di bawah :
  3. Upload program, berikut link program arduino  :
      Download
  4. Buka serial terminal dan sesuaikan baudrate.
  5. Tekan tombol pada remote yang akan digunakan untuk menyalakan LED 1, 2, 3, dst. kemudian perhatikan nilai yang keluar di serial terminal, dan pindahkan ke fungsi switch case program.
    perhatikan gambar berikut :
  6. Setelah menyalin angka-angka dari serial terminal ke masing-masing "case" , upload ulang program. kemudian coba nyalakan led dengan nilai setiap tombol yang anda masukkan.
  7. Hasilnya :

    Berikut Link Video :
                                         Lihat video di Youtube
  8. SELESAI. semoga bermanfaat :)