Simulasi Tahap 2 Menghubungkan arduino Uno dengan Ethernet Shield ke PC dan ke Jaringan Local Area Network (LAN) () ISA MAHFUDI NIM. 1141160018 JTD-4B JURUSAN TEKNIK ELEKTRO PROD JARINGAN TELEKOMUNIKASI DIGITAL POLITEKNIK NEGERI MALANG Disusun Oleh : ISA MAHFUDI (NIM. 1141160018) 1 Desain Jar. Telekom.Wireless Percobaan Tahap 2 BAB I PENDAHULUAN 1.1 Tujuan Tujuan pada percobaan tahap ini adalah (1) Dapat menggunakan program aplikasi arduino (2) Dapat menghubungkan arduino uno dengan ethernet shield (3) Dapat membuat programarduino uno dan ethernet shield untuk dapat terhubung dengan jaringan Local Area Network 1.2 Teori Dasar 1.2.1 Arduino Uno R3 Arduino adalah sebuah mikrokontroler yang mudah digunakan, karena menggunakan bahasa pemrograman basic yang menggunakan bahasa C. Arduino memiliki procesor yang besar dan memori yang dapat menampung cukup banyak. Arduino uno menggunakan board mikrokontroler yang didasarkan pada ATmega328, mempunyai 14 pin digital input dan output( 6 diantaranya sebagai output PWM), 6 input analog yang merupakan osilator kristal 16Mhz, koneksi USB, power jack, ICSP header, dan tombol reset. Ardunio uno dapat disuplai melalui koneksi USB atau dengan sebuah power suplai eksternal. Sumber daya dipilih secara otomatis. Suplai eksternal (non-USB) dapat diperoleh dari sebuah adaptor AC ke DC atau battery. Adaptor dapat dihubungkan dengan mencolokkan sebuah center-positive plug yang panjangnya 2,1 mm ke power jack dari board. Kabel lead dari sebuah battery dapat dimasukkan dalam header/kepala pin Ground (Gnd) dan pin Vin dari konektor POWER. Memory arduino, ATmega328 mempunyai 32 KB (dengan 0,5 KB digunakan untuk bootloader). ATmega 328 juga mempunyai 2 KB SRAM dan 1 KB EEPROM (yang dapat dibaca dan ditulis (RW/read and written) dengan EEPROM library). Arduino UNO mempunyai sejumlah fasilitas untuk komunikasi dengan sebuah komputer, Arduino lainnya atau mikrokontroler lainnya. Atmega 328 menyediakan serial komunikasi UART TTL (5V), yang tersedia pada pin digital 0 (RX) dan 1 (TX). 2 Desain Jar. Telekom.Wireless Percobaan Tahap 2 Gambar 1. Board Arduino Uno R3 (Sumber : http://arduino.cc/en/Main/arduinoBoardUno) Tabel . Diskripsi Arduino Uno Mirkokontroler ATmega328 Tegangan pengoperasian 5V Tegangan input yang disarankan 7-12V Batas tegangan input 6-20v Jumlah pin I/O digital 14 (6 diantaranya output PWM) Jumlah pin input analog 6 Arus DC tiap pin I/O 40 mA Arus DC untuk pin 3.3V 50 mA Memori Flash 32 KB(ATmega328), 0.5kb bootloader SRAM 2 KB (ATmega328) EEPROM 1 KB (ATmega328) Clock Speed 16 Mhz 3 Desain Jar. Telekom.Wireless Percobaan Tahap 2 1.2.2 Arduino Ethernet Shield Ethernet Shield menambah kemampuan arduino board agar terhubung ke jaringan komputer. Ethernet shield berbasiskan cip ethernet Wiznet W5100. Ethernet library digunakan dalam menulis program agar arduino board dapat terhubung ke jaringan dengan menggunakan arduino ethernet shield. Pada ethernet shield terdapat sebuah slot micro-SD, yang dapat digunakan untuk menyimpan file yang dapat diakses melalui jaringan. Onboard micro-SD card reader diakses dengan menggunakan SD library. Arduino board berkominikasi dengan W5100 dan SD card mengunakan bus SPI (Serial Peripheral Interface). Komunikasi ini diatur oleh library SPI.h dan Ethernet.h. Bus SPI menggunakan pin digital 11, 12 dan 13 pada Arduino Uno. Pin digital 10 digunakan untuk memilih W5100 dan pin digital 4 digunakan untuk memilih SD card. Pin-pin yang sudah disebutkan sebelumnya tidak dapat digunakan untuk input/output umum ketika kita menggunakan ethernet shield. Karena W5100 dan SD card berbagi bus SPI, hanya salah satu yang dapat aktif pada satu waktu. Jika kita menggunakan kedua perangkat dalam program kita, hal ini akan diatasi oleh library yang sesuai. Jika kita tidak menggunakan salah satu perangkat dalam program kita, kiranya kita perlu secara eksplisit men- deselect-nya. Untuk melakukan hal ini pada SD card, set pin 4 sebagai output dan menuliskan logika tinggi padanya, sedangkan untuk W5100 yang digunakan adalah pin 10. DFRduino Ethernet shield adalah sebuah clone dari arduino Ethernet shield yang dibuat oleh DFRobot. Penampakan DFRduino Ethernet shield dapat dilihat pada Gambar 2.5. Gambar 2. Ethernet Shield Sumber : arduino.cc 4 Desain Jar. Telekom.Wireless Percobaan Tahap 2 1.2.3 Software Arduino Software arduino memiliki tampilan sesuai dengan gambar 3 . Sehubungan dengan pembahasan untuk saat ini software Arduino yang akan digunakan adalah driver dan IDE, walaupun masih ada beberapa software lain yang sangat berguna selama pengembangan Arduino. IDE Arduino adalah software yang sangat canggih ditulis dengan menggunakan Java. IDE Arduino terdiri dari: 1. Editor program, sebuah window yang memungkinkan pengguna menulis dan mengedit program dalam bahasa Processing. 2. Compiler, sebuah modul yang mengubah kode program (bahasa Processing) menjadi kode biner. Bagaimanapun sebuah microcontroller tidak akan bisa memahami bahasa Processing. Yang bisa dipahami oleh microcontroller adalah kode biner. Itulah sebabnya compiler diperlukan dalam hal ini. 3. Uploader, sebuah modul yang memuat kode biner dari komputer ke dalam memory di dalam papan Arduino. IDE dibagi menjadi tiga bagian, toolbar di bagian atas, kode dan jendela sketsa di tengah, dan jendela pesan di bagian bawah. Toolbar itu sendiri terdiri dari tujuh tombol. Gambar 3. Tampilan Software IDE Arduino Sumber : arduino.cc 1.3 Alat dan bahan Alat dan bahan pada percobaan ini adalah (1) Board Arduino Uno R3 : 1 Buah (2) Ethernet Shield Arduino : 1 Buah (3) Kabel RJ45 : 1 Buah 5 Desain Jar. Telekom.Wireless Percobaan Tahap 2 1.4 Skema rangkaian Pada percobaan ini menggunakan 2 tahap, yakni : 1) Menghubungkan langsung arduino dan ethernet shield ke PC 2) Menghubungkan arduino dan ethernet shield ke router lalu PC mengaksesnya melalui WIFI. (a) (b) Gambar 4. Skema rangkaian percobaan (a) Arduino dan Ethernet Shield yang terhubung langsung dengan PC (b) Arduino dan Ethernet Shield yang terhubung router lalu di akses oleh PC melalui jaringan LAN 6 Desain Jar. Telekom.Wireless Percobaan Tahap 2 BAB II PEBAHASAN 2.1 Prosedur Percobaan Pada percobaan tahap 2 ini, terdapat 2 prosedur langkah percobaan yang diantaranya adalah : 2.11. Menghubungkan langsung arduino dan ethernet shield ke PC (1) Menyiapkan software IDE Arduino (2) Menjalankan software IDE Arduino Gambar 5 . Tampilan awal ketika program arduino dijalankan (3) Pilih file pada menubar, lalu example => Ethernet =>Webserver . Hal ini merupakan penggunaan list program yang telah ada pada software IDE arduino yang digunakan untuk memprogram arduino uno. 7 Desain Jar. Telekom.Wireless Percobaan Tahap 2 Gambar 6. Tampilan ketika memilih program webserver pada example di software IDE arduino Programnya arduino ethernet shield detailnya sebagai berikut: #include <SPI.h> #include <Ethernet.h> byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; IPAddress ip(192,168,0,111); EthernetServer server(80); void setup() { Serial.begin(9600); while (!Serial) { } Ethernet.begin(mac, ip); server.begin(); Serial.print("server is at "); Serial.println(Ethernet.localIP()); } void loop() { EthernetClient client = server.available(); IP ini merupakan settingan sesuai dengan rancangan kelompok 2 8 Desain Jar. Telekom.Wireless Percobaan Tahap 2 if (client) { Serial.println("new client"); boolean currentLineIsBlank = true; while (client.connected()) { if (client.available()) { char c = client.read(); Serial.write(c); if (c == '\n' && currentLineIsBlank) { client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println("Connection: close"); // the connection will be closed after completion of the response client.println("Refresh: 5"); // refresh the page automatically every 5 sec client.println(); client.println("<!DOCTYPE HTML>"); client.println("<html>"); // output the value of each analog input pin for (int analogChannel = 0; analogChannel < 6; analogChannel++) { int sensorReading = analogRead(analogChannel); client.print("analog input "); client.print(analogChannel); client.print(" is "); client.print(sensorReading); client.println("<br />"); } client.println("</html>"); break; } if (c == '\n') { // you're starting a new line currentLineIsBlank = true; } else if (c != '\r') { // you've gotten a character on the current line currentLineIsBlank = false; } } } // give the web browser time to receive the data delay(1); // close the connection: client.stop(); Serial.println("client disonnected"); } } 9 Desain Jar. Telekom.Wireless Percobaan Tahap 2 (4) Merangkai setiap komponen seperti gambar 7. Dan menghubungkannya pada PC. Gambar 7. Merangkai setiap komponen (5) Menguploadkan program ke arduino uno dengan mengklick tombol upload. Ditunjukkan pada gambar 8. Gambar 8. Tombol untuk menguploadkan program ke arduino pada software IDE arduino Gambar 9. Proses compling sketch Gambar 10. Proses Uploading selesai (6) Membuka browser pada PC dan mengetikkan ip dari arduino pada address bar browser. Dalam hal ini ip arduino disetting pada 192.168.0.111 10 Desain Jar. Telekom.Wireless Percobaan Tahap 2 Gambar 11. Menuliskan ip dari arduino ke browser (7) Amati dan catat hasilnya 2.12. Menghubungkan arduino dan ethernet shield ke router (1) Menyiapkan software IDE Arduino (2) Menjalankan software IDE Arduino (3) Pilih file pada menubar, lalu example => Ethernet =>Webserver . Hal ini merupakan penggunaan list program yang telah ada pada software IDE arduino yang digunakan untuk memprogram arduino uno. Programnya arduino ethernet shield nya sebagai berikut: #include <SPI.h> #include <Ethernet.h> byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; IPAddress ip(192,168,0,111); IPAddress subnet(255,255,255,0); //ki subnetmask IPAddress gateway(192,168,0,111); //ki Gatewayne EthernetServer server(80); void setup() { Serial.begin(9600); while (!Serial) { } Ethernet.begin(mac, ip); server.begin(); Serial.print("server is at "); Serial.println(Ethernet.localIP()); } IP ini merupakan settingan sesuai dengan rancangan kelompok 2 11 Desain Jar. Telekom.Wireless Percobaan Tahap 2 void loop() { EthernetClient client = server.available(); if (client) { Serial.println("new client"); boolean currentLineIsBlank = true; while (client.connected()) { if (client.available()) { char c = client.read(); Serial.write(c); if (c == '\n' && currentLineIsBlank) { client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println("Connection: close"); // the connection will be closed after completion of the response client.println("Refresh: 5"); // refresh the page automatically every 5 sec client.println(); client.println("<!DOCTYPE HTML>"); client.println("<html>"); for (int analogChannel = 0; analogChannel < 6; analogChannel++) { int sensorReading = analogRead(analogChannel); client.print("analog input "); client.print(analogChannel); client.print(" is "); client.print(sensorReading); client.println("<br />"); } client.println("</html>"); break; } if (c == '\n') { currentLineIsBlank = true; } else if (c != '\r') { currentLineIsBlank = false; } } } delay(1); client.stop(); 12 Desain Jar. Telekom.Wireless Percobaan Tahap 2 Serial.println("client disonnected"); } } (4) Merangkai setiap komponen seperti gambar 12. Dan menghubungkannya pada PC. Gambar 12. Merangkai setiap komponen (5) Menguploadkan program ke arduino uno dengan mengklick tombol upload. Ditunjukkan pada gambar 13. Gambar 13. Tombol untuk menguploadkan program ke arduino pada software IDE arduino Gambar 14. Proses compling sketch Gambar 15. Proses Uploading selesai 13 Desain Jar. Telekom.Wireless Percobaan Tahap 2 (6) Membuka browser pada PC dan mengetikkan ip dari arduino pada address bar browser. Dalam hal ini ip arduino disetting pada 192.168.130.100 Gambar 16. Menuliskan ip dari arduino ke browser (7) Amati dan catat hasilnya 2.2 Hasil percobaan Dari percobaan yang dilakukan pada percobaan tahap 2 terdapat 2 langkah ini, yakni menghubungkan langsung arduino dan ethernet shield ke PC serta menghubungkan arduino dan ethernet shield ke router yang mana hasilnya dapat ditunjukkan pada tabel. No. Hasil Keterangan 1. Gambar disamping merupakan rangkaian dari arduino uno, ethernet shield dan potensio 2. Gambar disamping merupakan rangkaian dari arduino uno, ethernet shield dan potensio yang dihubungkan ke PC langsung 14 Desain Jar. Telekom.Wireless Percobaan Tahap 2 3. Gambar disamping merupakan rangkaian dari arduino uno, ethernet shield dan potensio yang dhubungkan ke router wireless dan diakses melalui WIFI oleh PC. 4. Pengetesan koneksi dengan antara PC ke arduino. Pada gambar menunjukkan koneksi berhasil Menunjukkan pembacaan dari analog input dari PIN A0 hingga PIN A5 15 Desain Jar. Telekom.Wireless Percobaan Tahap 2 BAB III PENUTUP 3.1 Kesimpulan Pada percobaan tahap ini dapat disimpulkan bahwa Arduino uno dihubungkan kedalam jaringan dengan menggunakan perangkat tambahan yaitu ethernet shield arduino. Untuk memprogram arduino dengan ethernet shield pada software IDE arduino telah disediakan example dari ethernet shield sehingga pengguna dapat dipermudahkan dalam memprogramnya tanpa harus pusing memikirkan program dari awal. Agar arduino bisa terhubung ke jaringan local area, perlu untuk mengatur terlebih dahulu ip dari arduino yang disesuaikan dengan ip jaringan yang digunakan.