Pengertian Dari:
1.     Komunikasi Serial Antar Komputer Menggunakan
Putty/Hyperterminal.
2.    Progtam
Remote Control Winamp Menggunakan Winlire.
3.    Menyalakan
Lampu Rumah Dengan Hp Android Bluetoth.
4.   Mengontrol
Peralatan Listrik Melalui Wifi.
5.    Mengontrol
Robot Menggunakan Remote Control
6.   Mengontrol
Mobil Remote Control.
Tautan:
-----------------------------------------------------------------------------------
1.     Komunikasi Serial Antar Komputer Menggunakan
Putty/Hyperterminal.
Seting Hyperterminal untuk Komunikasi Serial:
2. Set koneksi ke COMx, tergantung nomor COM portnya yang ada
3. Set parameter komunikasi serial ke 4800,8,1,N, selanjutnya Apply
Merespon firmware programmer mikrokontroler
Mengirim kode mesin ke programmer untuk diisikan ke Flash memory Mikrokontroler
----------------------------------------------------------------------------------
2. Progtam Remote Control Winamp Menggunakan Winlire.
Pertama-tama, untuk bisa menggunakan aplikasi presentasi satu ini, perangkat PC/Laptop dan Smartphone Anda harus ada dalam sebuah jaringan yang sama. Caranya yang paling umum adalah dengan menghubungkan PC dan Smartphone anda ke sebuah Wifi yang sama. Terus kalo misalnya disana nggak bisa connect Wifi, kita bisa hubungkan PC kita dengan Tethering / Portable Hotspot bawaan Smartphone.. Tenang aja, biarpun pake tethering, aplikasi ini nggak makan kuota, dan bahkan tetap bisa berjalan dengan baik sekalipun nggak connect internet.

Setelah PC dan Smartphone dipastikan sudah connect di jaringan yang sama, sekarang kita tinggal buka aplikasinya.. Kita mulai buka dari aplikasi yg di PC dulu.. Tampilannya aplikasinya seperti ini nih :

Yang perlu diperhatikan di aplikasi ini cuma alamat IP di PC kita tersebut.. Alamat ini cuma muncul kalau PC kita sudah konek ke sebuah jaringan, entah itu Wifi ataupun Portable Hotspot Tethering. Kalau alamatnya nggak muncul, di close aja dulu aplikasinya, terus entar dibuka lagi.. Btw, tombol closenya ada di pojok kiri bawah yang gambar panah itu ya..
Setelah kita tau alamat IP di PC kita, sekarang kita tinggal buka aplikasi Remote Control Collection di Android kita aja.. Masuk ke tampilan utama aplikasinya begini..

Ada 2 menu utama, Remotes dan Devices. Karena kita belum mengatur ke komputer mana si Smartphone ini akan berhubungan, kita harus atur di menu Devices dulu. Oh iya, kalau misalnya kita udah hubungin smartphone dan PC kita pake tethering terus muncul pesan kayak gambar di atas itu (WiFi Required) gitu nggak apa-apa yah.. Biarin aja.. Sekarang kita klik menu Devices.

Di halaman Devices, ada 2 hal yang perlu kita lakukan. Satu, membuat detail alamat PC yang baru, di kotak biru atas tuh.. Tinggal kita isi nama PCnya (terserah) plus alamat IP yang kita dapet di aplikasi PC di awal tadi.. Pastiin alamatnya udah sama persis sampe ke titik-titiknya juga, abis itu klik tombol + untuk menyimpan. Langkah pertama ini nggak perlu dilakukan kalau alamat IP yang mau kita isi sudah pernah terdaftar.
Dua, kita tinggal connect smartphone ke PC, caranya tinggal klik Nama PC yang alamat IPnya sesuai dengan PC yang ingin kita hubungkan. Kalau sudah keluar tulisan “Nama Laptop” connected, artinya SUKSES.. Android dan PC kamu sudah connect, dan aplikasinya bisa dipakai.. Untuk menggunakan aplikasinya klik Back, dan masuk ke menu Remotes yaa..
Aplikasi ini menyediakan banyak pilihan nih.. Kita bisa menggunakan Android kita sebagai mouse, Jadi kalau kita gerakkan tangan kita di Android ini, kursor di PC juga bakalan ikut bergerak.. Serasa kayak pake touchpad gitu deh, bedanya touchpadnya dari smartphone gitu..
Kita juga bisa gunakan untuk melihat layar PC/Laptop juga, dan fungsi utama yang paling asiknya adalah Power Point Presentation!! Tampilannya gini gaess..

-----------------------------------------------------------------------------------
3. Menyalakan Lampu Rumah Dengan Hp Android Bluetoth.
Pemrograman
 [TUTORIAL] Smartphone Android Dapat
Dijadikan Saklar Untuk Kontrol Lampu Rumah !!!
Mungkin didalam perguruan tinggi hal ini sudahlah umum dijadikan bahan tugas akhir oleh mahasiswa-mahasiswa dibidang robotik. Dapat dikatakan bahan ini perlu dikembangkan lagi biar gak segitu-gitu aja. Namun, banyak juga yang masih atau mungkin belum paham dengan sistem ini. Nah.. disini akan coba dijelaskan Sedikit mengenai sistemnya,
- Sistem akan bekerja pada Platform Android.
- Untuk komunikasi alat (Mikrokontroler) dengan Smartphone menggunakan modul Bluetooth. Karena sekarang Library untuk modul Bluetooth di Android sudah ada namanya Amarino (amarino-toolkit.net).
- kita buat aplikasi Android kemudian instal di smartphone android, jangan lupa isikan library Amarino-nya.
- Lanjutkan ke pembuatan program untuk mikrokontrolernya (Arduino)
- Terakhir uji program yang dibuat jika berjalan dengan baik, selanjutnya coba deh integrasikan Smartphone Android dan mikrokontrolernya.
Mungkin ada pertanyaan yang harus dijawab seperti Kenapa android yang dipilih, karena sekarang ini kebanyakan orang-orang mulai muda sampai tua, laki-laki / perempuan sama saja semuanya menggunakan Smartphone berbasiskan Platform Android. Pertanyaan berikutnya, Selain lampu apa peralatan lain dapat di Kontrol juga?? Jawabanya BISA Sekali, karena sistemnya akan sama saja
Ayo sekarang diam sejak dan berpikir bahwa hidup ini harus dibawa mudah dengan kecanggihan teknologi jaman sekarang ini semuanya jadi mungkin. Seperti eksperimen ini, mencoba untuk Kontrol lampu rumah dengan Smartphone Android. Pertanyaannya kenapa harus dibuat alat seperti ini jawabanya karena hidup harus mudah!!! Kita tidak perlu lagi repot-repot untuk bangun dari kursi atau tempat tidur hanya untuk menyalakan dan mematikan lampu. Pada rangkain dibawah ini diperlihatkan bagaimana Rancangan Alat ini Bekerja. Namun, pada eksperimen ini masih menggunakan sebuah LED dengan tengangan 5 Volt yang tersambung dengan sebuah Relay (Saklar). Jadi, intinya LED ini nanti dapat diganti dengan Lampu Rumahan yang langsung mendapatkan Power dari listrik PLN.
Sedangkan ini Rangkain Skematik dari alat ini :
- Sistem akan bekerja pada Platform Android.
- Untuk komunikasi alat (Mikrokontroler) dengan Smartphone menggunakan modul Bluetooth. Karena sekarang Library untuk modul Bluetooth di Android sudah ada namanya Amarino (amarino-toolkit.net).
- kita buat aplikasi Android kemudian instal di smartphone android, jangan lupa isikan library Amarino-nya.
- Lanjutkan ke pembuatan program untuk mikrokontrolernya (Arduino)
- Terakhir uji program yang dibuat jika berjalan dengan baik, selanjutnya coba deh integrasikan Smartphone Android dan mikrokontrolernya.
Mungkin ada pertanyaan yang harus dijawab seperti Kenapa android yang dipilih, karena sekarang ini kebanyakan orang-orang mulai muda sampai tua, laki-laki / perempuan sama saja semuanya menggunakan Smartphone berbasiskan Platform Android. Pertanyaan berikutnya, Selain lampu apa peralatan lain dapat di Kontrol juga?? Jawabanya BISA Sekali, karena sistemnya akan sama saja
Ayo sekarang diam sejak dan berpikir bahwa hidup ini harus dibawa mudah dengan kecanggihan teknologi jaman sekarang ini semuanya jadi mungkin. Seperti eksperimen ini, mencoba untuk Kontrol lampu rumah dengan Smartphone Android. Pertanyaannya kenapa harus dibuat alat seperti ini jawabanya karena hidup harus mudah!!! Kita tidak perlu lagi repot-repot untuk bangun dari kursi atau tempat tidur hanya untuk menyalakan dan mematikan lampu. Pada rangkain dibawah ini diperlihatkan bagaimana Rancangan Alat ini Bekerja. Namun, pada eksperimen ini masih menggunakan sebuah LED dengan tengangan 5 Volt yang tersambung dengan sebuah Relay (Saklar). Jadi, intinya LED ini nanti dapat diganti dengan Lampu Rumahan yang langsung mendapatkan Power dari listrik PLN.
Sedangkan ini Rangkain Skematik dari alat ini :
Rancangan arduino kontrol lampu rumah.png
Sintaks dalam Mikrokontroler 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
 
#include <MeetAndroid.h>
int data;
MeetAndroid meetAndroid;
const int relay = 4;
int led = 13;
void setup(){
  Serial.begin(38400);
  meetAndroid.registerFunction(leda,'A');
  pinMode(relay,OUTPUT);
  pinMode(led, OUTPUT);
}
void loop(){
  meetAndroid.receive();
  switch (data){
    case 1 :       
      digitalWrite(relay,LOW);
      digitalWrite(led, LOW);        
      break;
    case 2 :
      digitalWrite(relay,HIGH);
      digitalWrite(led, HIGH);
      break;
  }
}
void leda(byte flag, byte numOfValues)
{
  data=meetAndroid.getInt();
}
 
Sintaks dalam Android : MainActivity.java 
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
33
34
35
36
37
38
39
40
41
42
43
44
 
package com.example.ledamarino;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import at.abraxas.amarino.Amarino;
public class MainActivity extends Activity {
      private static final String DEVICE_ADDRESS = "20:13:10:16:01:21";
      @Override
      protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            Amarino.connect(this, DEVICE_ADDRESS);           
             final Button OFFClick = (Button) findViewById(R.id.btnOff);
             final Button ONClick = (Button) findViewById(R.id.btnOn);
             OFFClick.setEnabled(false);                   
             ONClick.setEnabled(true);
             OFFClick.setOnClickListener(new View.OnClickListener() {
                  public void onClick(View v) {
                      // Perform action on click
                        Matilick();
                        OFFClick.setEnabled(false);                    
                        ONClick.setEnabled(true); 
                        Toast.makeText(getApplicationContext(),"OFF".toString(),Toast.LENGTH_SHORT).show();
                  }
              });             
              ONClick.setOnClickListener(new View.OnClickListener() {
                  public void onClick(View v) {
                      // Perform action on click
                        HidupClick();
                        OFFClick.setEnabled(true);                     
                        ONClick.setEnabled(false);
                        Toast.makeText(getApplicationContext(),"ON".toString(),Toast.LENGTH_SHORT).show();
                  }
              });                 
      }          
      private void Matilick() {
            Amarino.sendDataToArduino(this, DEVICE_ADDRESS, 'A', "1");         
      }
      private void HidupClick() {
            Amarino.sendDataToArduino(this, DEVICE_ADDRESS, 'A', "2");       
      }     
}
 
Activity_main.xml 
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
 
<RelativeLayout xmlns:android="<a href="<a href="http://schemas.android.com/apk/res/android">http://schemas.android.com/apk/res/android</a>"><a href="http://schemas.android.com/apk/res/android</a>">http://schemas.android.com/apk/res/android</a></a>"
    xmlns:tools="<a href="<a href="http://schemas.android.com/tools">http://schemas.android.com/tools</a>"><a href="http://schemas.android.com/tools</a>">http://schemas.android.com/tools</a></a>"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.ledamarino.MainActivity" >
      <Button
       android:id="@+id/btnOn"
       android:layout_width="200dp"
       android:layout_height="50dp"
       android:layout_above="@+id/btnOff"
       android:layout_centerHorizontal="true"
       android:text="ON" />
       <Button
        android:id="@+id/btnOff"
        android:layout_width="200dp"
        android:layout_height="50dp"
        android:layout_marginTop="30dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:text="OFF" />
</RelativeLayout>
 
Sekian eksperimennya kali ini berikutnya akan lanjut dengan mengatur Terang dan Redup sebuah Lampu tentunya masih menggunakan sebuah Android. Semoga bermanfaat dan Terima kasih.. bye..
------------------------------------------------------------------
4.   Mengontrol
Peralatan Listrik Melalui Wifi.
| 
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 | #include <MeetAndroid.h>intdata;MeetAndroid meetAndroid;constintrelay = 4;intled = 13;voidsetup(){  Serial.begin(38400);  meetAndroid.registerFunction(leda,'A');  pinMode(relay,OUTPUT);  pinMode(led, OUTPUT);}voidloop(){  meetAndroid.receive();  switch(data){    case1 :             digitalWrite(relay,LOW);      digitalWrite(led, LOW);              break;    case2 :      digitalWrite(relay,HIGH);      digitalWrite(led, HIGH);      break;  }}voidleda(byte flag, byte numOfValues){  data=meetAndroid.getInt();} | 
| 
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 
33 
34 
35 
36 
37 
38 
39 
40 
41 
42 
43 
44 | packagecom.example.ledamarino;importandroid.app.Activity;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.Button;importandroid.widget.Toast;importat.abraxas.amarino.Amarino;publicclassMainActivity extendsActivity {      privatestaticfinalString DEVICE_ADDRESS = "20:13:10:16:01:21";      @Override      protectedvoidonCreate(Bundle savedInstanceState) {            super.onCreate(savedInstanceState);            setContentView(R.layout.activity_main);            Amarino.connect(this, DEVICE_ADDRESS);                        finalButton OFFClick = (Button) findViewById(R.id.btnOff);             finalButton ONClick = (Button) findViewById(R.id.btnOn);             OFFClick.setEnabled(false);                                ONClick.setEnabled(true);             OFFClick.setOnClickListener(newView.OnClickListener() {                  publicvoidonClick(View v) {                      // Perform action on click                        Matilick();                        OFFClick.setEnabled(false);                                            ONClick.setEnabled(true);                         Toast.makeText(getApplicationContext(),"OFF".toString(),Toast.LENGTH_SHORT).show();                  }              });                           ONClick.setOnClickListener(newView.OnClickListener() {                  publicvoidonClick(View v) {                      // Perform action on click                        HidupClick();                        OFFClick.setEnabled(true);                                             ONClick.setEnabled(false);                        Toast.makeText(getApplicationContext(),"ON".toString(),Toast.LENGTH_SHORT).show();                  }              });                       }                privatevoidMatilick() {            Amarino.sendDataToArduino(this, DEVICE_ADDRESS, 'A', "1");               }      privatevoidHidupClick() {            Amarino.sendDataToArduino(this, DEVICE_ADDRESS, 'A', "2");             }     } | 
| 
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 | <RelativeLayoutxmlns:android="<a href="<a href="http://schemas.android.com/apk/res/android">http://schemas.android.com/apk/res/android</a>"><ahref="http://schemas.android.com/apk/res/android</a>">http://schemas.android.com/apk/res/android</a></a>"    xmlns:tools="<ahref="<a href="http://schemas.android.com/tools">http://schemas.android.com/tools</a>"><ahref="http://schemas.android.com/tools</a>">http://schemas.android.com/tools</a></a>"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context="com.example.ledamarino.MainActivity" >      <Button       android:id="@+id/btnOn"       android:layout_width="200dp"       android:layout_height="50dp"       android:layout_above="@+id/btnOff"       android:layout_centerHorizontal="true"       android:text="ON"/>       <Button        android:id="@+id/btnOff"        android:layout_width="200dp"        android:layout_height="50dp"        android:layout_marginTop="30dp"        android:layout_centerHorizontal="true"        android:layout_centerVertical="true"        android:text="OFF"/></RelativeLayout> | 
Sekian eksperimennya kali ini berikutnya akan lanjut dengan mengatur Terang dan Redup sebuah Lampu tentunya masih menggunakan sebuah Android. Semoga bermanfaat dan Terima kasih.. bye..
------------------------------------------------------------------
4.   Mengontrol
Peralatan Listrik Melalui Wifi.
Mengendalikan
Peralatan Listrik Via Internet/Web Dengan Starduino Board.
PC yang digunakan
haruslah memiliki program web-server yang sedang running (online).
Pada eksperimen ini saya menggunakan paket program WAMP (Windows-Apache-MySQL-PHP)
versi 2.2 yang dapat didownload dari situsnya di: http://www.wampserver.com/en/.
Prinsip kerja teknik
pengontrolan relay via internet/web ini dapat dijelaskan sebagai berikut. User melakukan
pengontrolan (update status) peralatan listrik (relay) melalui perantaraan
sebuah halaman web yang ditulis menggunakan bahasa scripting PHP. Melalui user-interface yang
tersedia, user dapat memilih kondisi/status relay dengan
meng-klik checkbox untuk masing-masing relay (Relay-1 s/d Relay-8).
Selanjutnya, untuk meng-update kondisi/status Relay-1 s/d
Relay-8, user harus meng-klik tombol Update Relay Status.
Setelah tombol Update
Relay Status di-klik, maka scripting PHP akan membaca nilai checkboxuntuk Relay-1 s/d Relay-8 dan
menjalankan sebuah program aplikasi yang akan mengirimkan data kondisi/status
relay kepada Starduino Board melalui port serial RS232. Jika perintah terkirim
dengan baik dan dikenali oleh Starduino Board, maka kondisi/status Relay-1 s/d
Relay-8 akan di-update sesuai dengan keingingan user.
Adapun rogram aplikasi yang dieksekusi oleh scripting PHP adalah program RSerial.exe.
Program RSerial.exe
Program ini saya buat menggunakan kompiler FreePascal versi 2.6.0. Fungsi program ini adalah mengirimkan perintah melalui port serial kepada Starduino Board. Pada eksperimen ini, Starduino Board terhubung ke PC melalui port serial COM1 dengan nilai baudrate 9600.
Program ini saya buat menggunakan kompiler FreePascal versi 2.6.0. Fungsi program ini adalah mengirimkan perintah melalui port serial kepada Starduino Board. Pada eksperimen ini, Starduino Board terhubung ke PC melalui port serial COM1 dengan nilai baudrate 9600.
Untuk
mengaktifkan Relay-1 dan Relay-3, maka perintahnya
adalah:
>RSerial.exe COM1
9600 R1 R3
dan untuk
mematikan Relay-3 serta mengaktifkan Relay-7, maka
perintahnya adalah:
>RSerial.exe r3
R7
Huruf R (kapital)
menyatakan ON dan huruf r menyatakan OFF.
Nomor yang mengikuti huruf Ratau r adalah nomor
relay.
Untuk mengeksekusi
program RSerial.exe, digunakan perintah PHP exec().
Berikut adalah penggalan scripting PHPnya.
if
(!empty($_POST[‘relay1’]))
$R1 = $_POST[‘relay1’];
else
$R1 = "off";
if (!empty($_POST[‘relay2’]))
$R2 = $_POST[‘relay2’];
else
$R2 = "off";
if (!empty($_POST[‘relay3’]))
$R3 = $_POST[‘relay3’];
else
$R3 = "off";
if (!empty($_POST[‘relay4’]))
$R4 = $_POST[‘relay4’];
else
$R4 = "off";
if (!empty($_POST[‘relay5’]))
$R5 = $_POST[‘relay5’];
else
$R5 = "off"
if (!empty($_POST[‘relay6’]))
$R6 = $_POST[‘relay6’];
else
$R6 = "off";
if (!empty($_POST[‘relay7’]))
$R7 = $_POST[‘relay7’];
else
$R7 = "off";
if (!empty($_POST[‘relay8’]))
$R8 = $_POST[‘relay8’];
else
$R8 = "off";
$R1 = $_POST[‘relay1’];
else
$R1 = "off";
if (!empty($_POST[‘relay2’]))
$R2 = $_POST[‘relay2’];
else
$R2 = "off";
if (!empty($_POST[‘relay3’]))
$R3 = $_POST[‘relay3’];
else
$R3 = "off";
if (!empty($_POST[‘relay4’]))
$R4 = $_POST[‘relay4’];
else
$R4 = "off";
if (!empty($_POST[‘relay5’]))
$R5 = $_POST[‘relay5’];
else
$R5 = "off"
if (!empty($_POST[‘relay6’]))
$R6 = $_POST[‘relay6’];
else
$R6 = "off";
if (!empty($_POST[‘relay7’]))
$R7 = $_POST[‘relay7’];
else
$R7 = "off";
if (!empty($_POST[‘relay8’]))
$R8 = $_POST[‘relay8’];
else
$R8 = "off";
$CMD =
"";
if ($R1=="on") $CMD = $CMD . "R1"; else $CMD = $CMD . "r1";
if ($R2=="on") $CMD = $CMD . " R2"; else $CMD = $CMD . " r2";
if ($R3=="on") $CMD = $CMD . " R3"; else $CMD = $CMD . " r3";
if ($R4=="on") $CMD = $CMD . " R4"; else $CMD = $CMD . " r4";
if ($R5=="on") $CMD = $CMD . " R5"; else $CMD = $CMD . " r5";
if ($R6=="on") $CMD = $CMD . " R6"; else $CMD = $CMD . " r6";
if ($R7=="on") $CMD = $CMD . " R7"; else $CMD = $CMD . " r7";
if ($R8=="on") $CMD = $CMD . " R8"; else $CMD = $CMD . " r8";
if ($R1=="on") $CMD = $CMD . "R1"; else $CMD = $CMD . "r1";
if ($R2=="on") $CMD = $CMD . " R2"; else $CMD = $CMD . " r2";
if ($R3=="on") $CMD = $CMD . " R3"; else $CMD = $CMD . " r3";
if ($R4=="on") $CMD = $CMD . " R4"; else $CMD = $CMD . " r4";
if ($R5=="on") $CMD = $CMD . " R5"; else $CMD = $CMD . " r5";
if ($R6=="on") $CMD = $CMD . " R6"; else $CMD = $CMD . " r6";
if ($R7=="on") $CMD = $CMD . " R7"; else $CMD = $CMD . " r7";
if ($R8=="on") $CMD = $CMD . " R8"; else $CMD = $CMD . " r8";
exec("RSerial.exe COM1 9600" . $CMD,
$Output);
Sebagai pelengkap, pada eksperimen ini saya juga
menggunakan sebuah LCD 16×2 karakter untuk menampilkan kondisi Relay-1 s/d
Relay-8. Gambar di samping adalah foto hardware yang saya gunakan dalam
eksperimen yang terdiri dari Starduino Board, Modul Relay DRV08, dan Modul LCD
16×2.
Pada eksperimen ini
yang ditunjukkan adalah sebatas tentang bagaimana melakukan pengontrolan relay
via internet/web. Pada eksperimen ini tidak membahas tentang bagaimana
melakukan monitoring input yang dapat berupa input logika dengan kondisi on/off
ataupun input yang berupa sensor seperti sensor suhu, sensor cahaya, sensor
jarak, dan lain sebagainya.
Setelah eksperimen
ini, saya ingin melakukan eksperimen untuk monitoring input logika, input senor
suhu, sensor jarak, atau yang lainnya. Lumayan sambil belajar pemrograman PHP.
Dan tentunya saya juga ingin bereksperimen dengan menggunakan embedded
web-servermenggunakan Arduino atau Raspberry Pi. Semoga bisa segera
terlaksana. 
Video
Demo
Anda dapat menyaksikan video pengujian sistem ini melalui YouTube. Berikut adalah linknya:
Anda dapat menyaksikan video pengujian sistem ini melalui YouTube. Berikut adalah linknya:
Bagi Anda yang
berminat dengan sistem ini atau modul-modul yang digunakan dalam eksperimen
ini, yakni Starduino Board, Modul Relay DRV08, dan Modul LCD 16×2, silakan
menghubungi saya melalui email ke info@teknikelektrolinks.com.
Untuk informasi harga dan pemesanan, silakan mengunjungi situsnya di: http://teknikelektrolinks.com.
-----------------------------------------------------------------------------------------
5.    Mengontrol
Robot Menggunakan Remote Control.
MEMBUAT MOBIL REMOTE CONTROL DENGAN ARDUINO DAN BLUETOOTH HC-05
Arduino Bluetooth RC adalah sebuah robot yang dapat mengikuti perintah layaknya mobil remote control yang biasa itu , bedanya robot ini memakai bluetooth sebagai sarana komunikasi dengan android . Aplikasi yang dipakai adalah Arduino Bluetooth RC Car yang dapat diunduh secara gratis pada playstore. Modul bluetooth pada RC ini menggunakan HC-05,  driver motornyah L298N, dan Arduino Uno sebagai kontroller utama.
.
.
Robot ini menggunakan sasis yang sama seperti pada robot Line Follower sebelumnya, jadi bagi yang sudah punya tingal beli Bluetooth saja :)
.
.
Bahan yang harus disediakan:
1x Arduino Uno : http://jogjarobotika.com/arduino-uno-r3-compatible-cable-data
1x HC-05 Bluetooth : http://jogjarobotika.com/modul-bluetooth-hc05
1x L298N Driver Motor : http://jogjarobotika.com/l298n-driver-modul
1x Sasis Kit 2WD : http://jogjarobotika.com/2wd-sasis-kit
2xSpacer 3cm :http://jogjarobotika.com/spacer-kuningan-30mm6mm
1x Kabel Jumper Male-Female http://jogjarobotika.com/kabel-jumper-male-female-40pc
Mur baut 3mm, Jack DC Male
.
.
Setelah bahan ready maka tahap selanjutnya adalah merakitnya, namun sebelum itu solderlah motor dc, saklar, dan jack dc terlebih dahulu biar ga ribet nantinya.
Penyolderan Saklar dilakukan dengan cara membagi jumper male-female menjadi dua. bagian female disolder ke bagian 0 (mati) dan bagian male disolder ke bagian - (Hidup). Sedangkan Jack DC disolder dengan cara membuang bagian female dari kabel jumper, perlu dicatat warna dan polaritasnya! Begitupun dengan penyolderan Motor DC. jangan sampai kebalik klo nggk mau arduinonya mati :P
.Sudah?? Lanjut rakit sasis dan pengkabelannya, yang teliti ya jangan kebalik2 daripada nanti pusing sendiri hahaha
Pengkabelan...
Sistem Kerja L298N membutuhkan dua pin untuk tiap motornya,satu Logic satunya PWM, berpasang-pasangan gitu kyk aku dan kamu :v
Untuk lebih jelasnya lihat tabel dibawah ya, posisi pin bisa diganti sesuai kebutuhan, yang terpenting satu pin Logic (High/Low) dan satu pin PWM
Pada dasarnya program untuk menggerakkan motor dalam robot ini sama dengan Robot Line Follower, hanya saja kita akan mengontrol motor tersebut secara manual sehingga perlu dibuat fungsi pada program untuk memudahkan.
void motorOut(unsigned char lpwm, unsigned char rpwm, boolean arrow){
//arrow=false=mundur; arrow=true=mundur;
if(arrow==false){
digitalWrite(m3,HIGH);
digitalWrite(m1,LOW);
analogWrite(m4,255-lpwm);
analogWrite(m2,rpwm);
}
else{
digitalWrite(m3,LOW);
digitalWrite(m1,HIGH);
analogWrite(m4,lpwm);
analogWrite(m2,255-rpwm);
}
}
//arrow=false=mundur; arrow=true=mundur;
if(arrow==false){
digitalWrite(m3,HIGH);
digitalWrite(m1,LOW);
analogWrite(m4,255-lpwm);
analogWrite(m2,rpwm);
}
else{
digitalWrite(m3,LOW);
digitalWrite(m1,HIGH);
analogWrite(m4,lpwm);
analogWrite(m2,255-rpwm);
}
}
untuk memanggil fungsi tersebut cukup ketikkan program 
motorOut(nilai PWM kiri,nilai PWM kanan, True/False);
Bluetooth HC-05
Bluetooth HC-05 adalah sebuah perangkat komunikasi wireless yang berbasiskan sinyal bluetooth. Standar nama bluetooth adalah HC-05 sedangkan password standar yang digunakan adalah 1234.Bluetooth ini akan kita gunakan sebagai Slave atau penerima, sedangkan Master(pengirim) akan menggunakan Smartphone Android. Bluetooth HC-05 menggunakan komunikasi serial, untuk mengakses Bluetooth pada tutorial ini kita akan menggunakan library  SoftwareSerial.
cukup ketikkan list dibawah untuk menggunakannya
#include <SoftwareSerial.h>
SoftwareSerial mySerial(12, 13); // RX, TX
SoftwareSerial mySerial(12, 13); // RX, TX
Bluetooth RC Controller
Aplikasi ini nantinya yang akan kita gunakan, jadi ini aplikasi hukumnya WAJIB alias harus ada..
aplikasinya dapat di download di https://play.google.com/store/apps/details?id=braulio.calle.bluetoothRCcontroller
Sebelum masuk ke pemrograman perlu diketahui Command/Karakter yang akan dikirim dari tiap tombol dari aplikasi tersebut.
Forward = F
Back = B
Left = L
Right = R
Forward Left = G
Forward Right = I
Back Left = H
Back Right = J
Stop = S
Speed 10-100 = 1-9,q
untuk command lain silahkan cek di aplikasi tersebut, masuk setting dari app tersebut. Jangan malas baca :P
Oke jika sudah tahu command dari app tsb langsung saja kita program Robot RCnya :
#include <SoftwareSerial.h>
SoftwareSerial mySerial(12, 13); // RX, TX
#define m1 3
#define m2 5
#define m3 9
#define m4 10
int data=0,kec=0;
boolean maju=true;
//array kecepatan
int fast[11]={0,80,100,120,140,160,180,200,220,240,255};
void setup()
{
pinMode(m1,OUTPUT);
pinMode(m2,OUTPUT);
pinMode(m3,OUTPUT);
pinMode(m4,OUTPUT);
// for HC-05 use 38400 when poerwing with KEY/STATE set to HIGH on power on
mySerial.begin(9600);
}
void motorOut(unsigned char lpwm, unsigned char rpwm, boolean arrow){
//arrow=false=maju; arrow=true=mundur;
if(arrow==false){
digitalWrite(m3,HIGH);
digitalWrite(m1,LOW);
analogWrite(m4,255-lpwm);
analogWrite(m2,rpwm);
}
else{
digitalWrite(m3,LOW);
digitalWrite(m1,HIGH);
analogWrite(m4,lpwm);
analogWrite(m2,255-rpwm);
}
}
SoftwareSerial mySerial(12, 13); // RX, TX
#define m1 3
#define m2 5
#define m3 9
#define m4 10
int data=0,kec=0;
boolean maju=true;
//array kecepatan
int fast[11]={0,80,100,120,140,160,180,200,220,240,255};
void setup()
{
pinMode(m1,OUTPUT);
pinMode(m2,OUTPUT);
pinMode(m3,OUTPUT);
pinMode(m4,OUTPUT);
// for HC-05 use 38400 when poerwing with KEY/STATE set to HIGH on power on
mySerial.begin(9600);
}
void motorOut(unsigned char lpwm, unsigned char rpwm, boolean arrow){
//arrow=false=maju; arrow=true=mundur;
if(arrow==false){
digitalWrite(m3,HIGH);
digitalWrite(m1,LOW);
analogWrite(m4,255-lpwm);
analogWrite(m2,rpwm);
}
else{
digitalWrite(m3,LOW);
digitalWrite(m1,HIGH);
analogWrite(m4,lpwm);
analogWrite(m2,255-rpwm);
}
}
void loop(){
if(mySerial.available()>0){
data=mySerial.read();
//penyimpan data kecepatan
if (data =='0') { kec=0;}
else if (data =='1') { kec=1;}
else if (data =='2') { kec=2;}
else if (data =='3') { kec=3;}
else if (data =='4') { kec=4;}
else if (data =='5') { kec=5;}
else if (data =='6') { kec=6;}
else if (data =='7') { kec=7;}
else if (data =='8') { kec=8;}
else if (data =='9') { kec=9;}
else if (data =='q') {kec=10;}
if(mySerial.available()>0){
data=mySerial.read();
//penyimpan data kecepatan
if (data =='0') { kec=0;}
else if (data =='1') { kec=1;}
else if (data =='2') { kec=2;}
else if (data =='3') { kec=3;}
else if (data =='4') { kec=4;}
else if (data =='5') { kec=5;}
else if (data =='6') { kec=6;}
else if (data =='7') { kec=7;}
else if (data =='8') { kec=8;}
else if (data =='9') { kec=9;}
else if (data =='q') {kec=10;}
//S= Stop
if (data == 'S')
{ motorOut(0,0,false); }
//F=Maju
If (data=='F')
{ motorOut(fast[kec],fast[kec],true); }
//I=Maju sambil belok kanan
if (data=='I')
{ motorOut(fast[kec],((fast[kec])/2),true);}
//G=Maju sambil belok kiri
if (data=='G')
{ motorOut(((fast[kec])/2),fast[kec],true); }
//R=Belok kanan
if(data=='R')
{ motorOut(fast[kec],0,true); }
//L=Belok kiri
if(data=='L')
{ motorOut(0,fast[kec],true); }
//B=Mundur
if(data=='B')
{ motorOut(fast[kec],fast[kec],false); }
//H=Mundur kiri
if (data=='H')
{ motorOut(((fast[kec])/2),fast[kec],false); }
//Mundur kanan
if (data=='J')
{ motorOut(fast[kec],((fast[kec])/2),false); }
}
}
Ada masalah?
1. roda tidak mau berputar?
->cek tegangan batre pastikan batrenya dalam kondisi bagus (6-7V)
->cek pengkabelannya lagi, barangkali ada yg kebalik
->setting kecepatannya di aplikasi, geser aja ke kanan
2. putaran roda terbalik
->tukar pengkabelan motor atau rubah programmnya
3. putaran roda kanan dan kiri berbeda
->sesuaikan program pwmnya ajaa...
--------------------------------------------------------------------------------------------------------------------------------------------
6.   Mengontrol
Mobil Remote Control.
Memahami Istilah Remote Control:
biasanya disesuaikan kebutuhan power dan alokasi sumber arus listrik pada
kit,,semakin gede semakin baik.
Buggy = sama dengan truggy hanya beda bodi, pake bodi buggy, macam tamiya 4wd
gitu
truggy ama buggy….bedanya adalah di panjang arm2nya…..kalo truggy lebih panjang
sehingga jarak antar roda kiri – kanan jadi lebih lebar….. jadi truggy lebih
wide drpd buggy
cara ngitungnya kurang lebih
= (spur gear / pinion ) x second gear (atau CS rasio)
kondisi / lokasi dari motor atau sumber tenaga di kit elektrik..
brush motor (brushed) = istilah motor yang menggunakan karbon brush
brushless = tanpa brush – magnet ditengah dan berputar sedangkan kumparan ada
diam di pinggir.
semakin besar KV dan semakin kecil T biasanya semakin kencang (speed)
semakin kecil KV dan semakin besar T biasanya semakin mempunyai torque
biasanya disesuaikan kebutuhan power dan alokasi sumber arus listrik pada kit,,semakin gede semakin baik.
Buggy = sama dengan truggy hanya beda bodi, pake bodi buggy, macam tamiya 4wd gitu
truggy ama buggy….bedanya adalah di panjang arm2nya…..kalo truggy lebih panjang sehingga jarak antar roda kiri – kanan jadi lebih lebar….. jadi truggy lebih wide drpd buggy
cara ngitungnya kurang lebih
= (spur gear / pinion ) x second gear (atau CS rasio)
kondisi / lokasi dari motor atau sumber tenaga di kit elektrik..
brush motor (brushed) = istilah motor yang menggunakan karbon brush
brushless = tanpa brush – magnet ditengah dan berputar sedangkan kumparan ada diam di pinggir.
semakin besar KV dan semakin kecil T biasanya semakin kencang (speed)
semakin kecil KV dan semakin besar T biasanya semakin mempunyai torque




Comments
Post a Comment