Hi… Sobat KeiRo penggemar Arduino…
ketemu lagi kita
Pernahkan Sobat ngebayangin bisa ngendaliin robot via internet… nah untuk Project yang 2nd..
Keiro akan berbagi kepada sobat pencinta Arduino… bagaimana caranya ngendaliin servo via WIFI menggunakan DFRduino Ethernet Shield dan browse Firefox atau yg lain yang. Pembahasan kali ini dapat dijadikan atau dikembangkan sebagai dasar untuk pengendalian robot via intranet atau internet…
WOW kayaknya menarik deh…
Ok enggak usah lama2 sudah enggak sabar nih… mari kita mulai…
Pertama yang kelengkapan yang perlu disiapin adalah seperti penampakan foto di bawah ini:
Komponen yang digunakan dapat di lihat di kedarobot.com
Arduino: 1bh |
Ethernet Shield |
Arduino Jumper Cables |
Micro Servo 2 bh |
Prototyping Shield: 1bh |
1bh kabel UTP
loh WIFI Shielnya mana… hehehe…
Emang enggak ada Sobat Keiro… Keiro coba siasati pake AP dari Prolink di set ke client AP (WIFI produk Prolink Model WNR1004… karena WIFI shield utuk Arduino mahal jhe… “Oooooo… begitu tho”
Alasan Keiro menggunakan model tersebut karena bentuk dan ukurannya kecil(seukuran Arduino), dengan daya 3.3Volt/1.5A (Wow tinggal colok di Arduino dong) dan sudah draft-N lho… dan satu lagi harganya lebih murah dan masih dapat dimanfaatkan untuk yang lain… CMIIW..
Ok… lanjut…
Skenario kayak gini…
Keiro buat skenario seperti ini
Browse HTML –>Laptop<–WIFI Router/Acces Point–>Prolink WIFI–>Ethernet Shield–>Arduino–>Prototype–>Servo
Pertama Setting Jaringan
Setting IP address adan Gateway (bebas atau sesuaikan dengan jaringan Ethernet yang Sobat punya)
misalnya:
Wifi Router IP : 192.168.1.1; Gateway : 192.168.1.1; Subnet : 255.255.255.0 Laptop di set atau desktop IP : 192.168.1.2; Gateway : 192.168.1.1; Subnet : 255.255.255.0 Prolink WIFI atau client AP IP : 192.168.1.3; Gateway : 192.168.1.1; Subnet : 255.255.255.0 Ethernet Shield IP : 192.168.1.110; Gateway : 192.168.1.1; Subnet : 255.255.255.0Ke-dua
Copas kode HTML ke Notepad, edit IP sesuaikan dengan setting jaringan intranet Sobat Keiro, kemudian save as dengan ekstensen file *.html dengan penamaan file bebas/terserah Sobat.
Copas juga kode sket arduino ke Arduino IDE (ver 019 keatas). Sebelum di Upload ke Arduino Board, dicek pengkablena dan kemudian diverifikasi terlebih dahulu dengan cara click verifikasi di menu Arduino IDE. Jika semuanya sudah beres jalankan upload.
Ke-tiga
Buka code HTML yang Sobat buat menggunakan browse internet…
Lebih jelasnya lihat di Video dibawah
Kode Sketch
//zoomkat 10-22-10 //routerbot code //for use with Arduino IDE 0021 //open serial monitor to see what the arduino receives //http://www.lynxmotion.net/viewtopic.php?f=20&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;t=6343&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;sid=09a5d8aced0d27367afd6cab542532fe&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;start=15 // #include #include #include byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //physical mac address byte ip[] = { 192, 168, 1, 110 }; // ip in lan byte gateway[] = { 192, 168, 1, 1 }; // internet access via router byte subnet[] = { 255, 255, 255, 0 }; //subnet mask Server server(84); //server port String readString, servo1, servo2; Servo myservo1; // create servo object to control a servo Servo myservo2; ////////////////////// void setup(){ //start Ethernet Ethernet.begin(mac, ip, gateway, subnet); server.begin(); //enable serial data print Serial.begin(9600); myservo1.attach(7); myservo2.attach(6); Serial.println("bot1"); // so I can keep track of what is loaded } void loop(){ // Create a client connection Client client = server.available(); if (client) { while (client.connected()) { if (client.available()) { char c = client.read(); //read char by char HTTP request if (readString.length() 0) { Serial.println(readString); servo1 = readString.substring(7, 11); servo2 = readString.substring(12, 16); Serial.println(servo1); Serial.println(servo2); int n1; int n2; char carray1[6]; servo1.toCharArray(carray1, sizeof(carray1)); n1 = atoi(carray1); char carray2[6]; servo2.toCharArray(carray2, sizeof(carray2)); n2 = atoi(carray2); myservo1.writeMicroseconds(n1); myservo2.writeMicroseconds(n2); //myservo.write(n); readString=""; } /////////////////// //now output HTML data header client.println("HTTP/1.1 204 Zoomkat"); client.println(); client.println(); delay(1); //stopping client client.stop(); ///////////////////// //clearing string for next read readString=""; }}}}}
Selalu pastikan rangkaian dibreadbord dan sketch sudah dicek dengan seksama, sebelum Arduino board dihubungkan ke komputer. Kalau sudah dicek dan dipastikan oke, segera hubungkan dan upload sketch ke Arduino Board… and done..!
Kode HTML
Zoomkat's Routerbot Control Page Foward-*Stop*-Reverse <a href="http://192.168.1.110:84/?-1000-2000" target="inlineframe">F-F</a>| <a href="http://192.168.1.110:84/?-1450-1550" target="inlineframe">S-F</a>| <a href="http://192.168.1.110:84/?-1500-1500" target="inlineframe">*-Stop-*</a>| <a href="http://192.168.1.110:84/?-1550-1450" target="inlineframe">S-R</a>| <a href="http://192.168.1.110:84/?-2000-1000" target="inlineframe">F-R</a>| Turn-L-*Stop*-Turn-R <a href="http://192.168.1.110:84/?-1000-1000" target="inlineframe">F-L</a>| <a href="http://192.168.1.110:84/?-1450-1450" target="inlineframe">S-L</a>| <a href="http://192.168.1.110:84/?-1500-1500" target="inlineframe">*-Stop-*</a>| <a href="http://192.168.1.110:84/?-1550-1550" target="inlineframe">S-R</a>| <a href="http://192.168.1.110:84/?-2000-2000" target="inlineframe">F-R</a>|
Atau bisa langsung dikontrol dari sini
Ket: IP Arduino Shiled di 192.168.1.110
Zoomkat’s Routerbot Web Control Page
Foward-*Stop*-Reverse F-F| S-F| *-Stop-*| S-R| F-R| Turn-L-*Stop*-Turn-R F-L| S-L| *-Stop-*| S-R| F-R|
Video
Artikel Keiro ambil dari Forum www.lynxmotion.net
Selamat mencoba dan bereksplorasi….