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:
Windows Hyperterminal adalah program asesori komunikasi bawaan windows untuk mengases peripheral luar melalui serial port, misalnya modem, access point, timbangan. Programmer mikrokontroler atau downloader, juga dapat memanfaatkan port ini untuk memprogram mikrokontroler, tetapi harus diset dahulu, dan hasil setingan bisa disimpan, sehingga kalau nanti digunakan lagi tidak perlu diseting ulang, berikut cara seting; 1. Buat koneksi baru.
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> 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(); } |
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" ); } } |
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.
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:
Langsung aja saya ingin menjelaskan bahwa RC pada sistem penggeraknya dapat
dibagi 2 golongan besar yaitu Permainan RC yang digerakkan menggunakan Electric
Power (EP) dan yang digerakkan dengan Gas Power (GP) atau sering disebut RC
Engine. Pada jenis rc elektrik maupun rc engine ada kelebihan dan kekurangan
masing-masing, yang tentunya mempengaruhi hal segalanya. Yaitu antara lain pada
elektrik kelebihannya adalah pemakainnya murah karena tenaganya diperoleh dari
pengecasan baterai dan juga pada RC elektrik dapat melakukan gerakan mundur.
Berbeda dengan RC engine yang dimana pada umumnya RC itu tidak dapat mundur
karena gerakan putaran mesin selalu kedepan atau searah dan pemakaian bahan
bakar yang dibilang tidak cukup murah. Namun berkat semakin majunya teknologi
maka RC engine sekarang dapat diperintah untuk melakukan gerakan mundur. Pada
RC engine juga diperlukan bahan bakar yang tentunya sesuai untuk mesin yang
digunakan.
Umumnya RC engine menggunakan mesin berbahan bakar nitro methanol, biasanya
bahan bakar ini sudah memiliki pelumas yang melumasi dinding silinder piston
mesinnya. Bahan bakar ini tergolong mahal dan susah didapat dan sering kali
jasa pengiriman seperti JNE, Tiki dan Pt Pos Indonesia tidak mau menerima
pengiriman paket berupa bahan cair apalagi yang mudah terbakar.
Sering kali orang-orang keliru menyebutkan Radio Control dengan penyebutan
menjadi Remote Control. Sebenarnya memaksudkan suatu keterhubungan objek
pengendali (controller) dengan objek yang dikendalikan (controlled) menggunakan
perantara gelombang Radio. Pada tahun-tahun yang lalu gelombang radio yang
digunakan oleh controller dengan controlled adalah gelombang AM ataupun FM dan
itu sudah lama berlalu. Namun kini yang pada akhirnya sudah ditinggalkan,
sekarang umumnya gelombang yang dipakai adalah Gelombang radio 2,4 Ghz.
Adapula pada akhir-akhir ini menggunakan perantara yang lebih canggih lagi
yaitu menggunakan frekuensi Bluetooth, infrared dan wi-fi. Pada intinya objek
yang dikendalikan mendapat pengaruh dari pengendali melalui penghantar yang
kasat mata dalam hal ini gelombang frekuensi radio.
Masih banyak penyebutan Remote Control di salah ucapkan atau di perpendek
penyebutannya nya menjadi “remot” saja. Padahal remot juga sering kali
istilahnya digunakan dengan penyebutan “flipper”, “doofer”, “click-buzz”,
“donker”, “changer”, “box”, “zippity”, “zapper”, “clicker” or “controller”.
Remote control pada umumnya digunakan untuk memberikan perintah dari jarak
jauh kepada objek elektronik lainnya seperti sistrm audio, AC, pemutar DVD dan
televisi. Namun dalam blog ini kita tidak membahas objek yang kita sebutkan
tadi karena memang tujuan kita ingin mengupas tuntas dunia hobi remote control.
Dalam blog ini kita membahas penggunaan radio control untuk keperluan
permainan mobil remote control drift, touring, offroad, kapal, helicopter. Pada
umumnya remote control berkomunikasi dengan perangkatnya masing-masing dengan
menggunakan sinyal cahaya inframerah dan banyak diantaranya melalui gelombang
freqwensi radio.
Tenaga yang digunakan oleh Remote control biasanya memakai baterai ukuran
AAA atau ukuran AA. Dengan kata lain pengendali piranti tidak selalu
menggunakan frekuensi sinyal radio sebagai media komunikasi antar device namun
saat ini bisa menggunakan frekuensi sinyal Radio, sinyal Infrared ataupun
Bluetooth.
Pada blog ini kita akan membahas kategori mobil remote control yang umum
digunakan oleh orang-orang yang menyukai hobi ini. Namun pada pembahasan ini
penting juga terlebih dahulu memahami istilah Remote Control yang umum dan
sering dipakai dalam dunia permainan Remote Control. Mobil Remote Control
memiliki fungsi hampir mirip dengan mobil sebenarnya dimana tumpuannya kepada 4
roda dan roda-roda tersebut sebagai media yang menyebabkan mobil remote control
itu bergerak maju, mundur atau bermanuver.
Dengan perkembangan maju zaman bahkan tengah didapati pula mobil Remote
Control tidak hanya digunakan untuk bermain saja namun juga untuk keperluan
yang lebih bermanfaat contoh nya robot pemadam kebakaran yang diendalikan oleh
gelombang Radio Control jarak jauh. Berikut ini beberapa contoh istilah remote
control yang umum dipakai dalam dunia permainan RC yang mirip dengan
istilah-istilah pada mobil umumnya.
·
RC QD : sering ditujukan untuk RC
kategori toys yang dimana speed laju dan stering kemudi tidak bisa diatur
kecepatannya.
·
RC Propo (proportional) : RC model ini
dikategorikan rc jenis hobby, pada rc jenis ini stering dan speed laju dapat
diatur kecepatannya. Juga dapat di upgrade bagian-bagian suku cadangnya.
·
2wd ( 2 wheels drive ) : ban yg bergerak
hanya 2 ban aja yaitu belakang sbagai penggerak, mayoritas di RC touring.
·
Fwd (front wheels drive) : mobil rc yang
berpenggerak hanya roda depan saja, biasanya juga untuk touring namun bukan
balap.
·
4wd ( 4 wheels drive ) : sering juga
disebut AWD (all wheels drive) ban semua bergerak ,biasanya penggeraknya
bermcam macam dari shaft (gardan), belt maupun dinamo. Mayoritas sistem ini ada
di rc drifting.
·
RTR (ready to run) : beli dalam keadaan
siap langsung pakai dan tanpa tambah komponen lain.
·
ARTR : sering disebut ketika beli unit
RC namun biasanya tidak beserta remotnya atau tanpa batrey.
·
KIT : beli rc yg diperoleh hanya chassis
aja, komponen lain dibeli terpisah seperti ban, velg, esc, servo ,remote, dll
·
Chassis : rangka mobil rc
·
ESC = singkatan dari Electronic Speed
Control, inilah yang ngatur kecepatan mobil pada rc jenis proportional.
·
Initial A pada ESC itu melambangkan
Ampere atau besarnya arus,,
biasanya disesuaikan kebutuhan power dan alokasi sumber arus listrik pada
kit,,semakin gede semakin baik.
·
Receiver = electronic yang di mobil yang
gunanya nerima sinyal dari remote gan..
·
Fet = pcb, itu papan elektronik yang
terdapat pada internal ESC atau langsung terlihat pada RC jenis toys.
·
Knucle : tempat nempelnya velg.
·
TR – RX TR= Transmiter ; RX=reciever
X=XTAL (cristal frequensi)
·
Shafty = rc rock crawler dengan drive
unit menggunakan drive shaft / kopel
·
MOA = Motor On Axles, rc rock crawler
dgn drive unit langsung kepasang di axle / as roda.
·
Truggy = mobil off road dengan body pick
up truk, model2 chevrolet gitu
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
·
Toe in : Ujung depan ban dekat ke
chassis dibanding ujung belakang ban.
·
Toe out : Ujung depan ban jauh ke
chassis dibanding ujung belakang ban.
·
Countersteer : Perputran ban belakang
lebih cepat dibanding ban depan
·
Dog Bone : kopel, hapel. Penerus tenaga
ke ban
·
Shaft : Propeller shaft. Mirip2 ama dog
bone, tapi bisa memanjang dan memendek.
·
Universal shaft : Kalo yang ini ndak
gitu yakin, tapi kekna sama ama definisi shaft.
·
Belt drive : Pengganti shaft, bedanya ia
menggunakan belt sabuk sebagai penerus tenaga dan bukannya batang besi atau
shaft.
·
Pitch = jarak antar ujung gigi gear
·
T = Turn, jumlah putaran kawat dlm rotor
·
D/R = Dual Rate, batasan steering throw
untuk servo
·
arti huruf C pada batre = Capacity,
artinya besar arus yg mampu dikeluarkan oleh battery dibanding kapasitas
batere. Misal 1000maH 10C, maka arus maks = 1000×10 = 10000ma = 10ampere
·
FDR = final drive rasio – artinya kurang
lebih rasio perputaran ban berbanding dengan putaran dinamo / motor jd misalnya
FDR 5 berarti motor berputar sebanyak 5 kali penuh untuk menggerakan roda 1
putaran penuh
cara ngitungnya kurang lebih
= (spur gear / pinion ) x second gear (atau CS rasio)
·
CS : counter steer – istilah RC drift
untuk menunjukkan posisi ban depan yg berlawanan dengan arah belok kendaraan.
Hal ini dpt dilakukan karena putaran ban belakang lebih cepet (over drive) atau
ban depan lebih lambat (under drive)
·
50 : 50 = keadaan perputaran ban depan =
ban belakang / 4wd
·
Spectrum = istilah untuk frekuensi radio
/ remote 2.4GHZ
·
Pinion = gear yang melekat pada motor
·
Spur gear = gear yg melekat pada shaft
atau pada kit belt yg berada satu axis / satu sumbu dengan pulley
·
FMS = Front midship X Rear midship = RMS
kondisi / lokasi dari motor atau sumber tenaga di kit elektrik..
·
Camber + / – = posisi ban jika dilihat
dari depan atau belakang,, + (positif) jika posisi ban membentuk \—–/ –
(negatif) jika posisi ban /—–\ dan 0 jika posisi ban |——-|
·
Caster = merupakan istilah pada kaki2.
caster dpat diukur dengan derajat perbedaan antara sumbu horizontal dengan
knuckle mobil..
·
Berikut istilah yang melekat pada Motor
RC
brush motor (brushed) = istilah motor yang menggunakan karbon brush
brushless = tanpa brush – magnet ditengah dan berputar sedangkan kumparan ada
diam di pinggir.
·
4000KV 8.5T = besarnya motor sebesar
4000kilovolt dengan turn (T) sebesar 8.5 pada motor brushless 11T setara dengan
23T motor brushed
semakin besar KV dan semakin kecil T biasanya semakin kencang (speed)
semakin kecil KV dan semakin besar T biasanya semakin mempunyai torque
·
Ankerman / anckerman = keadaan yg
terjadi ketika ada perbedaan sudut belok pada roda depan kanan dan kiri…
·
COW = center oneway – seperti Front one
way tapi biasany berada di shaft (untuk kit shaft) dan pulley (untuk kit belt)
·
Cup joint = sambungan yg menghubungkan
differential dengan unuversal shaft indikasi
·
Differential gear : pembagi putaran roda
(tenaga) dengan menggunakan planet gear tingkat kekencangannya sudah fix
·
Ball diff part : sama seperti di atas
tapi menggunakan pelor2 baja, dan bisa di setel seberapa kenceng diff yg ente
mau.
·
Oneway diff part : oneway (hanya
satu arah) mengartikan tenaga roda hanya bergerak untuk satu arah kedepan maju,
ketika tidak ada tenaga maka untuk masing2 roda kiri dan kanan akan bergerak bebas
bisa berbeda rotasi tergantung posisi roda.
·
Solid oneway part: seperti model dengan
alat diatas, namun ketika tidak ada tenaga yang di salurkan ke roda, maka roda
kiri dan kanan bergerak bebas bersamaan. Pada kelas rc touring car kira-kira
diperkenalkan pertama oleh XRAY T2007 dengan versi multi diff-nya,
·
Solid axel part : diff terkunci mati
atau 100% lock tuk kiri dan kanan baik on throtle atau off, kedua roda
bergerak bersamaan, dimulai dari kit XRAY T2007 sampai sekarang T3, dan
akhirnya diikuti banyak pabrikan RC lain. Posisinya terletak di depan (tuk
touring car) atau belakang tuk (drift car).
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