Anda di halaman 1dari 121

PERTEMUAN I

KONTROL LAMPU LISTRIK AC DENGAN RELAY PADA ARDUINO

I. Tujuan
1. Mengerti dan mengetahui pengertian dari modul relay
2. Mengetahui cara kerja dari modul relay sebagai switch dan menggunakanya
pada arduino untuk kontrol listrik AC

II. Teori Dasar


Relay adalah Saklar (Switch) yang dioperasikan secara listrik dan merupakan
komponen Elektromekanikal yang terdiri dari 2 bagian utama yakni Elektromagnet
(Coil) dan Mekanikal (seperangkat Kontak Saklar/Switch). Relay menggunakan
Prinsip Elektromagnetik untuk menggerakkan Kontak Saklar sehingga dengan arus
listrik yang kecil dapat menghantarkan listrik yang bertegangan lebih tinggi.
Sebagai contoh, dengan relay yang menggunakan Elektromagnet 5V dan 50 mA
mampu menggerakan armature relay yang berfungsi sebagai saklarnya untuk
menghantarkan listrik 220V 2A.
Pada arduino kita mengenal modul relay. Modul tersebut merupakan
komponen tambahan untuk mengontrol alat-alat elektronik lainnya yang
memerlukan arus listrik yang besar.

Gambar 1.1 Modul Relay 4 Channel

Modul relay pada gambar diatas adalah modul relay 5v 4 channel. Relay tersebut
termasuk jenis SPDT (Single Pole Double Throw). Relay ini memiiki 5 terminal, 3
terminal untuk saklar dan 2 lainnya untuk coil.
Gambar 1.2 Skema cara kerja Relay SPDT

III. Alat-alat

PC lengkap

1 Arduino UNO
IV. Prosedur
Percobaan
3 Kabel Jumper (Male-
Percobaan 1:
Rangkaian Female) Modul relay
dan Lampu
1 Kabel Data USB

Gambar 1.3 Rangakain


pada Arduino 1 Modul Relay 4 Channel

1. Hubungkan
pin IN1 1 Buah Fitting Lampu Relay ke pin
2 arduino.
2. Hubungkan
pin VCC Relay
ke pin 1 Buah Steker Listrik 5V arduino.
3. Hubungkan
pin GND Relay
ke GND
1 Buah Lampu Pijar
arduino.

Kabel Listrik
4. Hubungkan kabel lampu ke socket 1 pada Relay
5. Hubungkan kabel steker ke socket 2 pada Relay

Percobaan 2 : Membuat Kontrol Lampu Arus AC dengan Arduino


1. Tulis program dibawah ini dengan menggunakan Arduino IDE. Caranya ketik
pada file source codenya :
#define relay1 2
char input;

void setup() {
pinMode(relay1,OUTPUT);
Serial.begin(9600);
}

void loop() {
if(Serial.available()>0)
{
input=Serial.read();
Serial.println(input);
}
if(input=='1')
{
digitalWrite(relay1, HIGH);

}
else if(input=='0')
{
digitalWrite(relay1, LOW);
}
}
2. Simpan program diatas dengan nama praktikum1, dengan lokasi folder C:\
praktikum\.
3. Compile program praktikum1.ino dengan menggunakan perintah verify pada
toolbar sampai tidak muncul pesan kesalahan error.
4. Upload program praktikum1.ino ke dalam arduino dengan menggunakan
perintah upload pada toolbar sampai selesai atau ada status done uploading.
PERTEMUAN II
PENGGUNAAN PHP SEBAGAI KONTROL ALAT KELISTRIKAN PADA
ARDUINO

I. Tujuan
1. Mengerti dan memahami konsep pemrograman PHP
2. Mengerti konsep kontrol pemrograman PHP terhadap Arduino

II. Teori Dasar


1. PHP
PHP (PHP: Hypertext Preprocessor), atau Personal Home Page : Hypertext
Preorocessor adalah sebuah Bahasa pemrograman script server-side yang di desain
untuk pengembangan aplikasi web. Disebut server-side karena proses dilakukan di
computer server berbeda dengan pemrograman HTML yang diproses di sisi client.
Artinya sebuah proses atau eksekusi kode PHP dilakukan di computer server dan
clientnya hanya menerima output dari proses tersebut. PHP dapat juga digunakan
sebagai kontrol Arduino dengan mengkombinasikannya dengan HTML sebagai
interfacenya dan software bernama processing memproses input dari interface
tersebut.
2. Processing
Processing adalah Bahasa pemrograman/development tool yang bersifat open
source yang digunakan untuk memprogram gambar, animasi dan interaksi. Dengan
demikian Aplikasi Processing ini bertujuan untuk mengirimkan data serial dari
komputer kepada Arduino, dengan cara membuat program pada Processing dan
menangkap data dari sebuah file yang dikirimkan dari PHP.

III. Alat-alat
PC lengkap

1 Arduino UNO

3 Kabel Jumper (Male-


Female)

1 Kabel Data USB

1 Modul Relay 4 Channel

1 Buah Fitting Lampu

1 Buah Steker Listrik

1 Buah Lampu Pijar

Kabel Listrik
Software Aplikasi yang
diperlukan :
1. XAMPP sebagai aplikasi web server
2. Processing
IV. Prosedur Percobaan
Percobaan 1 : Rangkaian Modul Relay dan Lampu

Gambar 2.1 Rangakain pada Arduino

1. Hubungkan pin IN1 Relay ke pin 2 arduino.


2. Hubungkan pin VCC Relay ke pin 5V arduino.
3. Hubungkan pin GND Relay ke GND arduino.
4. Hubungkan kabel lampu ke socket 1 pada Relay
5. Hubungkan kabel steker ke socket 2 pada Relay

Percobaan 2 : Membuat Program pada Arduino IDE


1. Tulis program dibawah dengan menggunakan program Arduino IDE, caranya
ketik pada file source codenya :
#define relay1 2

char input;

void setup() {
// put your setup code here, to run once:
pinMode(relay1,OUTPUT);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
if(Serial.available()>0)
{
input=Serial.read();
Serial.println(input);
}
if(input=='1')
{
digitalWrite(relay1, HIGH);

}
else if(input=='0')
{
digitalWrite(relay1, LOW);
}
}

2. Simpan program diatas dengan nama praktikum2, dengan lokasi di folder C:\
praktikum\.
3. Compile program praktikum2.ino dengan menggunkan perintah verify pada
toolbar sampai tidak muncul pesan kesalahan error.
4. Upload program praktikum2.ino ke dalam arduino dengan menggunakan
perintah upload pada toolbar sampai selesai atau ada status done uploading

Percobaan 3 : Membuat Program Kontrol dengan PHP dan HTML


1. Membuat tampilan kontrol dengan HTML, buka notepad atau text editor lainnya,
ketik program sebagai berikut :
!DOCTYPE html>
<html>
<head>
<title>Kontrol Relay - Arduino</title>
<style>
.tombol{border:none; border-radius:2px; padding:8px 20px;
background:#5FAAE3; text-align:center; letter-spacing:1px; font-size:14px;
font-family:Arial;color:white; width:200px;
}
tombol:hover{background:#C23; text-shadow: 0 0 1px #222
}
</style>

</head>
<body>
<h1 align="center">KONTROL ARDUINO DENGAN PHP</h1>
<h2 align="center">Kontrol Relay dengan Tombol</h2>
<p align="center">
<a class="tombol" href="?relay1=1">RELAY 1 ON</a>
<a class="tombol" href="?relay1=0">RELAY 1 OFF</a>
</p>
</body>
</html>

2. Lanjutkan baris program dengan menambahkan script PHP sebagai berikut :


<?php
function save($nmr){
$cetak = fopen("kirim.txt","w");
fwrite($cetak,$nmr);
fclose($cetak);
}

if($_GET['relay1']=='1'){
echo '<h3 align="center">RELAY 1 ON</h3>';
save("1");
}

else if($_GET['relay1']=='0'){
echo '<h3 align="center">RELAY 1 OFF</h3>';
save("0");
}
?>

3. Kemudian buat folder pada folder C:\xampp\htdocs\ dengan nama kontrol-


arduino
4. Simpan file tersebut dengan nama index.php pada folder C:\xampp\htdocs\
kontrol-arduino
5. Buat file kosong dengan nama kirim.txt dan simpan di C:\xampp\htdocs\kontrol-
arduino
6. Buat program dengan Aplikasi Processing untuk menangkap data dari PHP untuk
dikirimkan kepada Arduino, buka Aplikasi Processing dan buatlah program
sebagai berikut :
import processing.serial.*;
Serial port;

void setup(){
port = new Serial(this, "COM5", 9600);
//sesuaikan dengan port yang digunakan pada computer
}

void draw(){
String onoroff[] = loadStrings("http://localhost/kontrol-arduino/kirim.txt");
print(onoroff[0]);

if(onoroff[0].equals("1")==true){
println("- LAMPU 1 HIDUP");
port.write('1');
}

else if(onoroff[0].equals("0")==true){
println("- LAMPU 1 MATI");
port.write('0');
}

delay(1000);
}

7. Simpan file tersebut di folder Documents dengan nama proses.pde


8. Masih dalam program Aplikasi Processing, kemudian tekan tombol Run
9. Sekarang buka web browser kemudian ketikan URL dengan alamat
localhost/kontrol-arduino/index.php

Gambar 2.2 Tampilan web untuk kontrol lampu


PERTRMUAN III
KONTROL LAMPU LISTRIK AC DENGAN RELAY PADA ARDUINO
MENGGUNAKAN ETHERNET SHIELD V2

I. Tujuan
1. Mengerti dam memahami cara kerja Ethernetshiled V2
2. Membuat Aplikasi Kontrol Listrik AC dengan Relay dan Ethernet Shield V2

II. Teori Dasar


Ethernet Shield V2 menambah kemampuan arduino board agar terhubung ke
jaringan komputer. Ethernet shield berbasiskan cip ethernet Wiznet W5500.
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.

Gambar 3.1 Etehernet Shiled V2

III. Alat-alat
PC lengkap

1 Arduino UNO

3 Kabel Jumper (Male-


Female)

1 Protoboard

1 Kabel Data USB

1 Modul Relay 4 Channel

1 Ethernet Shiled V2

1 kabel LAN RJ-45 tipe Cross

1 Buah Fitting Lampu

1 Buah Steker Listrik

1 Buah Lampu Pijar

Kabel Listrik
IV. Prosedur Percobaan
Percobaan 1 : Rangkaian Arduino dengaan Ethernet Shield V2 dan Relay

Gambar 3.2 Rangakain pada Arduino

1. Tancapkan Ethernet Shiled pada Arduino Uno


2. Hubungkan dari pin IN1 Relay ke pin 2 arduino.
3. Hubungkan dari pin VCC Relay ke power 5V arduino.
4. Hubungkan dari pin GND Relay ke GND arduino.
5. Hubungkan dari kabel lampu ke socket 1 pada Relay
6. Hubungkan dari kabel steker ke socket 2 pada Relay

Percobaan 2 : Membuat Program Relay Menghidupkan dan Mematikan Lampu


pada IDE Arduino dengan Web Server melalui Ethernet Shiled V2
1. Buka IDE Arduino, pilih menu Sketch kemudian pilih opsi Manage Libraries...
(pastikan komputer/laptop terhubung ke internet

Gambar 3.3 Tambah Library Arduino


2. Ketikan pada kolom pencarian, Ethernet2. Kemudian install

Gambar 3.4 Mencari Library Arduino

3. Untuk memasukan MAC Address Ethernet Shield V2 nya dalam bentuk hexa dan
dapat dilihat dari belakag Ethernet Shield, seperti pada gambar berikut :

Gambar 3.5 MAC Address Ethernet Shield V2

4. Tulis program dibawah dengan menggunakan program Arduino IDE, caranya


ketik pada file source codenya
#include <SPI.h>
#include <Ethernet2.h>
int relay1= 2;
boolean statusR1 = false;
String readString;
char c;
// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = {
0x90, 0xA2, 0xDA, 0x10, 0xAA, 0xA8
};
IPAddress ip(192, 168, 1, 177);
EthernetServer server(80);

void setup() {
pinMode(relay1, OUTPUT);
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
// start the Ethernet connection and the server:
Ethernet.begin(mac, ip);
server.begin();
Serial.print("ip server: ");
Serial.println(Ethernet.localIP());
}

void loop() {
EthernetClient client = server.available();
if (client) {
while (client.connected()) {
if (client.available()) {
c = client.read();
if(readString.length()<100){
readString+=c;
}
}
if (c == '\n') {
// send a standard http response header
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.println("<HEAD>");
client.println("<meta http equiv=\"Refresh\" content=\"5;url=/relay\"
/>");
client.println("<metahttp-equiv=\"Content-Type\"content=\"application/
vnd.wap .xhtml+xml; charset=utf-8\" />");
client.println("<TITLE>Kontrol Relay</TITLE>");
client.println("</HEAD>");
client.println("<BODY align=\"center\">");
client.println("<h1 align=\"center\">Kontrol Relay 1</h1>");
client.println("<hr />");
client.println("<br />");

if (statusR1 == false) {
client.println("<p align=\"center\">");
client.println("<a href=\"/1on\" /><button style=\"background-color:
#00CCFF;font-size:20px;\">Hidup</button></a>");
client.println("</p align=\"center\">");
} else {
client.println("<p align=\"center\">");
client.println("<a href=\"/1off\" /><button style=\"background-color:
#00FFFF;font-size:20px;\">Mati</button></a>");
client.println("</p align=\"center\">");
}
client.println("</BODY>");
delay(1);
client.stop();

if (readString.indexOf("1on") >0){
digitalWrite(relay1, HIGH);
statusR1 = true;
}
if (readString.indexOf("1off") >0){
digitalWrite(relay1, LOW);
statusR1 = false;
}
readString=""; } } } }

5. Simpan program diatas dengan nama praktikum3 dengan lokasi di folder C:\
praktikum\.
6. Compile program praktikum3.ino dengan menggunakan perintah verify pada
toolbar sampai tidak muncul pesan kesalahan error.
7. Upload program praktikum3.ino ke dalam arduino dengan menggunakan
perintah upload pada toolbar sampai selesai atau ada status done uploading
8. Selanjutnya kita konfigurasi IP komputer/laptop yang akan digunakan sebagai
penampilan halaman web pada web browser. Klik Start Menu > Control Panel >
Network and Sharing Center > Change Adapter Setting > Klik Kanan pada Local
Area Connection > Pilih Properties > Klik Internet Protocol Version 4 (TCP/IP4)
> Klik Tombol Properties > Klik Use the Following IP Address > masukan IP
192.168.1.178 sebagaimana kita memberikan IP pada arduino pada baris program
IPAddress ip(192, 168, 1, 177) : pada jaringan yang sama. Kemudian tekan Tab
untuk mengisi Subnet Masknya terakhir klik OK untuk selesai.
9. Sambungkan kabel LAN socket RJ-45 tipe cross pada arduino ke
komputer/laptop
10. Tes Koneksi dengan melakukan PING, dengan membuka Run (CTRL + R) dan
masukan IP Address pada arduino yang telah kita definisikan pada program, yaitu
ketikan ping 192.168.1.177 . Jika berhasil, buka web browser seperti Google
Chrome atau Aplikasi Web Browser lainnya.
11. Masukan ke URL address , ketik IP Address 192.168.1.177
Gambar 3.6 Tampilan untuk kontrol lampu
PERTEMUAN IV
KONTROL LAMPU LISTRIK AC DENGAN RELAY PADA ARDUINO
MENGGUNAKAN MODUL BLUETOOTH DAN ANDROID

I. Tujuan
1. Mengetahui dan Memahami Cara Kerja modul Bluetooth HC-05
2. Membuat Aplikasi Kontrol Listrik AC dengan Relay

II. Teori Dasar


Bluetooth Module HC-05 merupakan module komunikasi nirkabel pada
frekuensi 2.4GHz dengan pilihan koneksi bisa sebagai slave, ataupun sebagai
master. Sangat mudah digunakan dengan mikrokontroler untuk membuat aplikasi
wireless. Interface yang digunakan adalah serial RXD, TXD, VCC dan GND. Built
in LED sebagai indikator koneksi bluetooth. Tegangan input antara 3.6 ~ 6V,
jangan menghubungkan dengan sumber daya lebih dari 7V. Arus saat unpaired
sekitar 30mA, dan saat paired (terhubung) sebesar 10mA. 4 pin interface 3.3V
dapat langsung dihubungkan ke berbagai macam mikrokontroler (khusus
Arduino, 8051, 8535, AVR, PIC, ARM, MSP430, etc.). Jarak efektif jangkauan
sebesar 10 meter, meskipun dapat mencapai lebih dari 10 meter, namun kualitas
koneksi makin berkurang.

Gambar 4.1 Modul Buletooth HC-05


III. Alat-alat

Pc Lengkap

Arduino Uno

Relay

Bluetooth

1 Buah Fitting Lampu

1 Buah Steker Listrik

1 Buah Lampu Pijar

1 Protoboard

3 Kabel Jumper

1 Kabel Data USB


Kabel Listrik

Software Aplikasi yang digunakan :


1. Android Kontrol Bluetooth

IV. Prosedur Percobaan


Percobaan 1: Membuat Rangkaian Arduino, relay dan Modul Bluetooth HC-05

Gambar 4.2 Rangakain Arduino

1. Kabel dihubungkan dari IN1 Relay ke pin 4 arduino.


2. Kabel dihubungkan dari VCC Relay ke power 5V arduino.
3. Kabel dihubungkan dari GND Relay ke GND arduino.
4. Kabel dihubungkan dari kabel lampu ke socket 1 pada Relay
5. Kabel dihubungkan dari kabel steker ke socket 2 pada Relay
6. Kabel dihubungkan dari VCC Bluetooth HC-5 ke 5V arduino
7. Kabel dihubungkan dari GND Bluetooth HC-5 ke GND arduino
8. Kabel dihubungkan dari TX Bluetooth HC-5 ke pin 2 arduino
9. Kabel dihubungkan dari RX Bluetooth HC-5 ke pin 3 arduino

Percobaan 2 : Membuat program relay menghidupkan dan mematikan lampu


pada IDE Arduino
1. Tulis program dibawah dengan menggunakan program Arduino IDE, caranya
ketik pada file source codenya :
#include<SoftwareSerial.h>
SoftwareSerial bt(2,3); //pin2 TX, pin3 RX
int led1 = 4;
char nilai;
String input;

void setup() {

pinMode(led1,OUTPUT);
bt.begin(9600);
Serial.begin(9600);
}

void loop() {

if(bt.available()>0){
nilai = bt.read();
Serial.println(nilai);
}

if(nilai=='1'){
digitalWrite(led1, HIGH);
Serial.println("HIDUP");
}

else if(nilai=='0'){
digitalWrite(led1, LOW);
Serial.println("MATI");
}
}
2. Simpan program diatas dengan nama praktikum4, dengan lokasi folder C:\
praktikum\
3. Compile program praktikum4.ino dengan menggunakan perintah verify pada
toolbar sampai tidak muncul pesan kesalahan error.
4. Upload program praktikum4.ino ke dalam arduino dengan menggunakan
perintah upload pada toolbar sampai selesai atau ada status done uploading.
5. Nyalakan Mode Bluetooth pada Arduino dan lakukan pencarian Device, jika
power pada arduino ke Modul Bluetooth sudah tersambung dan dalam kondisi
menyala, maka di hasil pencarian akan muncul HC-05. Masukan sandi 1234 pada
Android
6. Buka Aplikasi Android Kontrol Bluetooth, lakukan sambungan dan gunakan
mode kirim data serial 1 untuk menghidupkan relay dan 0 untuk mematikan relay.
PERTEMUAN V
KONTROL LAMPU LISTRIK AC DENGAN RELAY PADA ARDUINO
MENGGUNAKAN GSM SHIELD

I. Tujuan
1. Mengetahui pengertian GSM Shiled
2. Membuat program kontrol arduino dan GSM Shield

II. Teori Dasar


GSM Shield atau GPRS (General Packet Radio Service) Shield merupakan
produk untuk keperluan wireless Arduino. Beroperasi pada frekuensi GSM/GPRS
850/900/1800/1900MHz untuk keperluan pengiriman suara, SMS, dan data dengan
konsumsi data yang rendah. Shield GPRS ini dikendalikan menggunakan  AT
commands(GSM 07.07, 07.05 dan AT commands SIMCOM yang lebih
ditingkatkan).

Gambar 5.1 GSM Shield

III. Alat-alat
PC lengkap

1 Arduino UNO

3 Kabel Jumper (Male-


Female)

1 Kabel Data USB

1 Modul Relay 4 Channel

1 GSM Shiled Icomsat V1.1

1 SIM Card

1 Telepon Seluler

4 Buah Fitting Lampu

4 Buah Steker Listrik

4 Buah Lampu Pijar

Kabel Listrik
IV. Prosedur Percobaan
Percobaan 1 : Rangkaian Modul relay, Lampu dan GSM Shield

Gambar 5.2 Rangakain pada Arduino

1. Masukan sim card pada GSM shiled


2. Tancapkan GSM shiled pada arduino
3. Hubungkan pin IN1 Relay ke pin 2 arduino.
4. Hubungkan pin IN2 Relay ke pin 3 arduino.
5. Hubungkan pin IN3 Relay ke pin 4 arduino.
6. Hubungkan pin IN4 Relay ke pin 5 arduino.
7. Hubungkan pin VCC Relay ke pin 5V arduino.
8. Hubungkan pin GND Relay ke GND arduino.
9. Hubungkan kabel lampu ke socket 1 pada Relay
10. Hubungkan kabel steker ke socket 2 pada Relay

Percobaan 2 : Membuat Program pada Arduino


1. Siapkan library SIM900
2. Tulis program dibawah dengan menggunakan program Arduino IDE, caranya
ketik pada file source codenya :
#include <SoftwareSerial.h>

SoftwareSerial SIM900A(6,7);
void setup()
{
SIM900A.begin(9600);
Serial.begin(9600);
delay(100);

pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);

SendMessage();
SIM900A.println("AT+CNMI=2,2,0,0,0"); //buat nerima
}

void loop()
{
String buffer = RecieveMessage();

if (buffer.startsWith("\r\n+CMT: "))
{
Serial.println("*** RECEIVED SMS ***");

// Remove first 51 characters


buffer.remove(0, 51);
int len = buffer.length();
// Remove \r\n from tail
buffer.remove(len - 2, 2);
buffer.trim();
buffer.toLowerCase();
Serial.println(buffer);
if(buffer == "off1"){
digitalWrite(2, LOW);
}
else if(buffer == "off2"){
digitalWrite(3, LOW);
}

else if(buffer == "off3"){


digitalWrite(4, LOW);
}
else if(buffer == "off4"){
digitalWrite(5, LOW);
}
else if(buffer == "on1"){
digitalWrite(2, HIGH);
}
else if(buffer == "on2"){
digitalWrite(3, HIGH);
}
else if(buffer == "on3"){
digitalWrite(4, HIGH);
}
else if(buffer == "on4"){
digitalWrite(5, HIGH);
}
else if(buffer == "on"){
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
}
else if(buffer == "off"){
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
}

Serial.println("*** END SMS ***");


}

delay(100);
}

void SendMessage()
{
Serial.println ("SIM900A Mengirim SMS");
SIM900A.println("AT+CMGF=1"); //Sets the GSM Module in Text Mode
delay(1000); // Delay of 1000 milli seconds or 1 second
Serial.println ("Set SMS Number");
SIM900A.println("AT+CMGS=\"+6281934171293\"\r"); // Replace with your
mobile number
delay(1000);
Serial.println ("Set SMS Content");
SIM900A.println("Hello, I am SIM900A GSM Module");// The SMS text you
want to send
delay(100);
Serial.println ("Finish");
SIM900A.println((char)26);// ASCII code of CTRL+Z
delay(1000);
Serial.println (" ->SMS Selesai dikirim");
}
String RecieveMessage(){
String buffer;

while (SIM900A.available())
{
char c = SIM900A.read();
buffer.concat(c);
delay(10);
}
return buffer;
}

3. Simpan program diatas dengan nama praktikum5, dengan lokasi di folder C:\
praktikum\
4. Compile program praktikum5.ino dengan menggunakan perintah verify pada
toolbar sampai tidak muncul pesan kesalahan error.
5. Upload program praktikum5.ino ke dalam arduino dengan menggunakan
perintah upload pada toolbar sampai selesai atau ada status done uploading.
6. Untuk melakukan kontrol pada arduino melalui SMS ketikan melalui aplikas pada
telepon seluler dengan mengetikan:
 on1 = menghidupkan lampu 1
 on2 = menghidupkan lampu 2
 on3 = menghidupkan lampu 3
 on4 = menghidupkan lampu 4
 on = menghidupkan semua lampu
 off1 = mematikan lampu 1
 off2 = mematikan lampu 2
 off3 = mematikan lampu 3
 off4 = mematikan lampu 4
 off = mematikan semua lampu
kemudian kirim ke nomor SIM yang dimasukan pada GSM Shield
PERTEMUAN VI
PENGGUNAAN MODUL SENSOR ARUS DENGAN ETHERNET SHIELD

I. Tujuan
1. Memperkenalkan modul sensor dan Ethernet Shield
2. Mengetahui tata cara penggunaan Ethernet Shield dengan Sensor Arus

II. Teori
1. Definisi Prototipe
Prototipe adalah suatau versi dari sebuah sistem potensial yang memeberikan
ide bagi para pengembang dan calon pengguna, bagaimana sistem akan berfungsi
dalam bentuk yang telah selesai.
2. Definisi Arduino
Arduino merupakan platform yang terdiri dari software dan hardware.
Hardware Arduino sama dengan mikrocontroller pada umumnya hanya pada
arduino ditambahkan penamaan pin agar mudah diingat. Software Arduino
merupakan software open sources ehingga dapat di download secara
gratis. Software ini digunakan untuk membuat dan memasukkan program ke dalam
Arduino. Pemrograman Arduino tidak sebanyak tahapan microcontroller
konvensional karena Arduino sudah didesain mudah untuk dipelajari, sehingga para
pemula dapat mulai belajar mikrocontroller dengan Arduino.
3. Definisi Ethernet Shield
Arduino Ethernet Shield adalah modul yang berfungsi menghubungkan
Arduino board dengan jaringan internet,karna itu berdasar pada Wiznet
W5100 ethernet chip ( datasheet) untuk Menghubungkan dan menggunakan modul
hingga dapat terkoneksi internet cukup mudah, hanya membutuhkan waktu
beberapa menit saja.caranya dengan memasangkan  modul tersebut di atas Arduino
bord, sambungkan dengan kabel network RJ45 , ikuti tutorial pemogramannya
(menggunakan pustaka Ethernet yang sudah tersedia di paket perangkat lunak
Arduino IDE), dan Arduino Anda siap dikendalikan lewat internet,di dalam arduino
ethernet sendiri terdapat slot mikro SD yang berbungsi sebagai tempat
penyimpanan file sedangkan untuk mengakses mikro SD card   mengunakan library
SD ,untuk jenis arduino board yang bisa di pasangkan dengan ethernet shield
W5100 yaitu arduino uno dan mega.
4. Definisi Sensor Arus
Sensor arus adalah perangkat yang mendeteksi arus listrik (AC atau DC) di
kawat, dan menghasilkan sinyal sebanding dengan itu. Sinyal yang dihasilkan bisa
tegangan analog atau arus atau bahkan digital. Pada Modul kali ini, kita akan
mengenal dan mempelajari dulu apa-apa saja part yang akan dipakai. Agar
mempermudah peserta didik dalam pengenalannya, modul ini menggunakan
gambar-gambar sehingga akan sangat mudah dan cepat mengenali part nya.

III. Alat-alat

Arduino Uno

Sensor Arus

Ethernet

1 kabel LAN RJ-45 tipe Cross

Kabel Jumper (Male-Female)

Kabel listrik
Kabel USB

Resistor

Kapasitor

IV. Prosedur Percobaan


Percobaan 1 : Rangkaian Arduino dengan Ethernet Shield V2 dan Sensor Arus

Gambar 6.1 Rangakain pada Arduino

1. Tancapkan Ethernet Shield pada Arduino Uno


2. Buat rangkaian resistor dan kapasitor seperti gambar diatas
3. Hubungkan jumper pada sensor arus ke power 5V arduino
4. Hubungkan jumper pada sensor arus ke GND arduino
5. Hubungkan jumper ke pin 1 ANALOG IN arduino

Percobaan 2 : Membuat Program pada Arduino


1. Siapkan library EmonLib
2. Tulis program dibawah dengan menggunakan program Arduino IDE, caranya
ketik pada file source codenya :
#include <SPI.h>
#include <Ethernet2.h>
#include "EmonLib.h"

EnergyMonitor emon1;

byte mac[] = {
0x90, 0xA2, 0xDA, 0x10, 0xAA, 0xA8};
IPAddress ip(192, 168, 1, 177);
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());
emon1.current(1, 111.1); // Current: input pin, calibration.
}

void loop() {
double Irms = emon1.calcIrms(1480); // Calculate Irms only

Serial.println(Irms); // Irms
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");
client.println("Refresh: 5");
client.println();
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.print("Arus saat ini");
client.print(" adalah ");
client.print(Irms);
client.print(" Ampere ");
client.println("<br />");

client.println("</html>");
break;
}
if (c == '\n') {
currentLineIsBlank = true;
}
else if (c != '\r') {
currentLineIsBlank = false;
}
}
}
delay(1);
client.stop();
Serial.println("client disconnected");
}
}

3. Simpan program diatas dengan nama praktikum6, dengan lokasi di folder


C:/praktikum/.
4. Compile program praktikum6.ino dengan menggunakan perintah verify pada
toolbox sampai tidak muncul pesan kesalahan error.
5. Upload program praktikum6.ino ke dalam arduino dengan menggunakan
perintah upload pada toolbar sampai selesai atau ada status done uploading.
6. Selanjutnya kita konfigurasi IP komputer/laptop yang akan digunakan sebagai
penampilan halaman web pada web browser. Klik Start Menu > Control Panel >
Network and Sharing Center > Change Adapter Setting > Klik Kanan pada Local
Area Connection > Pilih Properties > Klik Internet Protocol Version 4 (TCP/IP4)
> Klik Tombol Properties > Klik Use the Following IP Address > masukan IP
192.168.1.178 sebagaimana kita memberikan IP pada arduino pada baris program
IPAddress ip(192, 168, 1, 177) : pada jaringan yang sama. Kemudian tekan Tab
untuk mengisi Subnet Masknya terakhir klik OK untuk selesai.
7. Sambungkan kabel LAN socket RJ-45 tipe cross pada arduino ke
komputer/laptop
8. Tes Koneksi dengan melakukan PING, dengan membuka Run (CTRL + R) dan
masukan IP Address pada arduino yang telah kita definisikan pada program, yaitu
ketikan ping 192.168.1.177 . Jika berhasil, buka web browser seperti Google
Chrome atau Aplikasi Web Browser lainnya.
9. Masukan ke URL address , ketik IP Address 192.168.1.177
PERTEMUAN VII
PENGGUNAAN MODUL SENSOR ARUS DENGAN BLUETOOTH HC 05

I. Tujuan
1. Memperkenalkan modul sensor dan HC 05
2. Mengetahui tata cara penggunaan HC 05 dengan Sensor Arus

II. Teori
1. Definisi Prototipe
Prototipe adalah suatau versi dari sebuah sistem potensial yang memeberikan
ide bagi para pengembang dan calon pengguna, bagaimana sistem akan berfungsi
dalam bentuk yang telah selesai."
2. Definisi Arduino
Arduino merupakan platform yang terdiri dari software dan hardware.
Hardware Arduino sama dengan mikrocontroller pada umumnya hanya pada
arduino ditambahkan penamaan pin agar mudah diingat. Software Arduino
merupakan software open source sehingga dapat di download secara
gratis. Software ini digunakan untuk membuat dan memasukkan program ke dalam
Arduino. Pemrograman Arduino tidak sebanyak
tahapan mikrocontroller konvensional karena Arduino sudah didesain mudah untuk
dipelajari, sehingga para pemula dapat mulai belajar mikrocontroller dengan
Arduino.
3. Definisi Bluetooth HC 05
“Bluetooth HC05 adalah Modul Bluetooth to serial yang menggunakan
protocol standar Bluetooth V2.0 dan kebutuhan tegangan sebesar 3,3V2”Bluetooth
HC05 adalah Modul Bluetooth SPP(Serial Port Protoco) yang mudah di
gunakan,yang di rancang untuk komunikasi nirkabel dengan penganturan koneksi.
Dari dua penjelasan diatas kita bisa menyimpulakn bahwa Bluetooth HC-05
Adalah sebuah modul Bluetooth SPP (Serial Port Protocol) yang mudah digunakan
untuk komunikasi serial wireless (nirkabel) yang mengkonversi port serial ke
Bluetooth. HC-05 menggunakan modulasi bluetooth V2.0 + EDR (Enchanced Data
Rate) 3 Mbps dengan memanfaatkan gelombang radio berfrekuensi 2,4 GHz.Modul
ini dapat digunakan sebagai slave maupun master.HC-05 memiliki 2 mode
konfigurasi, yaitu AT mode dan Communication mode. AT mode berfungsi untuk
melakukan pengaturan konfigurasi dari HC-05. Sedangkan Communication mode
berfungsi untuk melakukan komunikasi bluetooth dengan piranti lain.
4. Definisi Sensor Arus
Sensor arus adalah perangkat yang mendeteksi aruslistrik (AC atau DC) di
kawat, dan menghasilkan sinyal sebanding dengan itu. Sinyal yang dihasilkan bisa
tegangan analog atau arus atau bahkan digital.

III. Alat-alat

Arduino Uno

Sensor Arus

Bluetooth HC-05

1 Protoboard

Kabel Jumper (Male-


Female)

Kabel listrik

Kabel USB

Resistor

Kapasitor
IV. Prosedur Percobaan
Percobaan 1 : Rangkaian Arduino dengan Bluetooth HC-05 dan Sensor Arus

Gambar 7.1 Rangakain pada Arduino

1. Buat rangkaian resistor dan kapasitor seperti gambar diatas


2. Hubungkan jumper pada sensor arus ke power 5V arduino
3. Hubungkan jumper pada sensor arus ke GND arduino
4. Hubungkan jumper ke pin 1 ANALOG IN arduino
5. Kabel dihubungkan dari VCC Bluetooth HC-5 ke 5V arduino
6. Kabel dihubungkan dari GND Bluetooth HC-5 ke GND arduino
7. Kabel dihubungkan dari TX Bluetooth HC-5 ke pin 2 arduino
8. Kabel dihubungkan dari RX Bluetooth HC-5 ke pin 3 arduino

Percobaan 2 : Membuat Program pada Arduino


1. Tulis program dibawah dengan menggunakan program Arduino IDE, caranya
ketikan pada file source codenya :
#include<SoftwareSerial.h>
#include "EmonLib.h"
SoftwareSerial bt(2,3); //pin2 TX, pin3 RX
EnergyMonitor emon1;
void setup() {

bt.begin(9600);
Serial.begin(9600);
emon1.current(1, 111.1);
}

void loop() {

double Irms = emon1.calcIrms(1480); // Calculate Irms only


bt.println(Irms); //Menampilkan nilai di android
Serial.println(Irms); //Menampilkan nilai diserial monitor
delay(1000);
}

2. Simpan program diatas dengan nama praktikum7, dengan lokasi di folder C:\
praktikum\.
3. Compile program praktikum7.ino dengan menggunakan perintah verify pada
toolbar sampai tidak muncul pesan kesalahan error.
4. Upload program praktikum7.ino ke dalam arduino dengan menggunakan
perintah upload pada toolbar sampai selesai atau ada status done uploading.

Percobaan 3 : Membuat Aplikasi Android untuk Monitoring Nilai Arusnya


1. Pastikan anda memiliki koneksi internet. Setelah itu masuk ke web browser
(misalkan: mozilla, chrome dan sebagainya)
2. Buka http://appinventor.mit.edu, Setelah itu pilih “Create apps!” . (Jika belum ada
akun daftarkan terlebih dahulu email anda untuk mendapatkan akun)
3. Pilih start new project, kemudian beri nama projek dengan nama
“Monitor_arus”. Setelah itu klik OK
4. Buat desain android seperti gambar dibawah ini :
Gambar 7.2 Desain Android

Adapun pengaturan properti yang perlu dilakukan pada komponen-komponen


yang menyusun layar ditunjukan dari tabel berikut ini :
Komponen Properti Isi
Title Monitoring Arus
Screen1 dengan Modul
Bluetooth HC-05
Height Fill parent
VerticalArrangement1
Width Fill parent
Height Fill parent
HorizontalArrangement
Width Fill parent
Text Pilih Bluetooth
ListPicker1
TextAlignment Center
Text Not Connected
Label
Name hasilBluetooth
HorizontalArrangement Height 20 pixels
2 Width Fill parent
Height Fill parent
Width Fill parent
VerticalArrangement2
AlignHorizontal Center
AlignVertical Center
Text NILAI ARUS :
Label
Name txtnilai
HorizontalArrangement Width 60 percent
3
Text Hasil
Label
Name hasil
Text Ampere
Label
Name txtampere
BluetoothClient1
Clock1 TimerInterval 1000

5. Setelah proses desain telah selesai dilakukan, pilih “Blocks” untuk masuk ke
tahap codingan. Lakukan proses coding seperti gambar dibawah ini :
6. Pilih menu “Build” pada toolbar, kemudian pilih “App (save .apk to my
computer)” untuk mendownload aplikasi yang telah dibuat dalam format .apk.
7. Setelah itu,pindahkan file aplikasi yang sudah di download tadi ke android anda.
Kemudian install.
8. Nyalakan Mode Bluetooth pada Arduino dan lakukan pencarian Device, jika
power pada arduino ke Modul Bluetooth sudah tersambung dan dalam kondisi
menyala, maka di hasil pencarian akan muncul HC-05. Masukan sandi 1234 pada
Android
9. Buka aplikasi monitor_arus, Kemudian pilih Bluetooth HC-05
Gambar 7.3 Tampilan Monitoring Arus

PERTEMUAN VIII
PENGGUNAAN MODUL SENSOR ARUS DENGAN GSM SHIELD

I. Tujuan
1. Memperkenalkan modul sensor dan modul GSM
2. Mengetahui tata cara penggunaan Modul GSM dengan Sensor Arus

II. Teori
1. Definisi Prototipe
Prototipe adalah suatau versi dari sebuah sistem potensial yang memeberikan
ide bagi para pengembang dan calon pengguna, bagaimana sistem akan berfungsi
dalam bentuk yang telah selesai."
2. Definisi Arduino
Arduino merupakan platform yang terdiri dari software dan hardware.
Hardware Arduino sama dengan mikrocontroller pada umumnya hanya pada
arduino ditambahkan penamaan pin agar mudah diingat. Software Arduino
merupakan software open source sehingga dapat di download secara gratis.
Software ini digunakan untuk membuat dan memasukkan program ke dalam
Arduino. Pemrograman Arduino tidak sebanyak tahapan
mikrocontroller konvensional karena Arduino sudah didesain mudah untuk
dipelajari, sehingga para pemula dapat mulai belajar mikrocontroller dengan
Arduino.
Menurut Santosa (2012:1), arduino adalah kit elektronik atau papan rangkaian
elektronik open source yang di dalamnya terdapat komponen utama yaitu
sebuah chip mikrokontroler dengan jenis AVR dari perusahaan Atmel.
Berdasarkan dua definisi yang dikemukakan diatas dapat disimpulkan bahwa
arduino merupakan kit elektronik atau papan rangkaian elektronik yang didalamnya
terdapat komponen utama yaitu sebuah chip mikrokontroler dengan jenis AVR dari
perusahaan Atmel serta sofware pemrograman yang berlisensi open source.
3. Definisi GSM Shield
GSM Shield atau GPRS (General Packet Radio Service) Shield merupakan
produk untuk keperluan wireless Arduino Anda. Beroperasi pada frekuensi
GSM/GPRS 850/900/1800/1900MHz untuk keperluan pengiriman suara, SMS, dan
data dengan konsumsi data yang rendah. Shield GPRS ini dikendalikan
menggunakan  AT commands (GSM 07.07 ,07.05 dan SIMCOM enhanced AT
Commands). Kompatible dengan board Arduino UNO, Duemilanove, Seeeduino,
dan Mega, dan Arduino kompatible lainnya.Beberapa fitur tambahan pada versi
terbaru GPRS shield ini adalah adanya soft reset yang memudahkan saat inisialisasi
jaringan, sehingga on-off shield lebih mudah.  Lalu tersedia slot baterai pada bagian
belakang shield. Mohon menjadi catatan saat membuat sketch, setting baud-rate
tidak kompatible pada 19200, jadi Anda dapat menggunakan pada baud-rate yang
lain.
4. Definisi Sensor Arus
Sensor arus adalah perangkat yang mendeteksi aruslistrik (AC atau DC) di
kawat, dan menghasilkan sinyal sebanding dengan itu. Sinyal yang dihasilkan bisa
tegangan analog atau arus atau bahkan digital.

III. Alat-alat

Pc Lengkap

Arduino Uno

Sensor Arus

1 GSM Shiled Icomsat V1.1

Kabel Jumper (Male-Female)

Kabel listrik

Kabel USB

Resistor

Kapasitor
IV. Prosedur Percobaan
Percobaan 1 : Rangkaian Sensor Arus dan GSM Shield

Gambar 8.1 Rangkaian pada Arduino

1. Masukan sim card pada GSM shiled


2. Tancapkan GSM shiled pada arduino
3. Buat rangkaian resistor dan kapasitor seperti gambar diatas
4. Hubungkan jumper pada sensor arus ke power 5V arduino
5. Hubungkan jumper pada sensor arus ke GND arduino
6. Hubungkan jumper ke pin 1 ANALOG IN arduino

Percobaan 2 : Membuat Program pada Arduino


1. Siapkan library SIM900
2. Tulis program dibawah dengan menggunakan program Arduino IDE, caranya
ketik pada file source codenya :
#include <SoftwareSerial.h>
#include "EmonLib.h"
EnergyMonitor emon1;
SoftwareSerial SIM900A(6,7);

void setup()
{
SIM900A.begin(9600); // Setting the baud rate of GSM Module
Serial.begin(9600); // Setting the baud rate of Serial Monitor (Arduino)
emon1.current(1, 111.1);
delay(100);
SIM900A.println("AT+CNMI=2,2,0,0,0"); //buat nerima
}

void loop()
{
double Irms = emon1.calcIrms(1480); // Calculate Irms only

Serial.println ("SIM900A Mengirim SMS");


SIM900A.println("AT+CMGF=1"); //Sets the GSM Module in Text Mode
delay(1000); // Delay of 1000 milli seconds or 1 second
Serial.println ("Set SMS Number");
SIM900A.println("AT+CMGS=\"+6285959622185\"\r"); // Replace with your
mobile number
delay(1000);
Serial.println ("Set SMS Content");
SIM900A.println(String("Nilai arus sekarang ")+ Irms+ String(" Ampere"));//
The SMS text you want to send
delay(50000); //delay sms dikirim
Serial.println ("Finish");
SIM900A.println((char)26);// ASCII code of CTRL+Z
delay(1000);
Serial.println (" ->SMS Selesai dikirim");
delay(100);
}

3. Simpan program diatas dengan nama praktikum8, dengan lokasi di folder C:\
praktikum\
4. Compile program praktikum8.ino dengan menggunakan perintah verify pada
toolbar sampai tidak muncul pesan kesalahan error.
5. Upload program praktikum8.ino ke dalam arduino dengan menggunakan
perintah upload pada toolbar sampai selesai atau ada status done uploading.
6. Tunggu beberapa saat, nanti akan masuk SMS pada handphone.

Gambar 8.2 Tampilan SMS Masuk


PERTEMUAN IX
PENGGUNAAN MODUL SENSOR ARUS DENGAN ESP8266

I. Tujuan
1. Memperkenalkan modul sensor dan modul wifi ESP8266
2. Mengetahui tata cara penggunaan modul wifi ESP8266 dengan Sensor Arus

II. Teori
1. Definisi Prototipe
Prototipe adalah suatau versi dari sebuah sistem potensial yang memeberikan
ide bagi para pengembang dan calon pengguna, bagaimana sistem akan berfungsi
dalam bentuk yang telah selesai."
2. Definisi Arduino
Arduino merupakan platform yang terdiri dari software dan hardware.
Hardware Arduino sama dengan microcontroller pada umumnya hanya pada
Arduino ditambahkan penamaan pin agar mudah diingat. Software Arduino
merupakan software open sourcesehingga dapat di download secara
gratis. Software ini digunakan untuk membuat dan memasukkan program ke dalam
Arduino. Pemrograman Arduino tidak sebanyak
tahapan mikrocontroller konvensional karena Arduino sudah didesain mudah untuk
dipelajari, sehingga para pemula dapat mulai belajar mikrocontroller dengan
Arduino.
3. Definisi ESP8266
Modul ESP8266 merupakan platform yang sangat murah tetapi benar-benar
efektif untuk digunakan berkomunikasi atau kontrol melalui internet baik
digunakan secara standalone (berdiri sendiri) maupun dengan menggunakan
mikrokontroler tambahan dalam hal ini Arduino sebagai pengendalinya. Modul ini
membutuhkan daya sekitar 3.3v dengan memiliki tiga mode wifi yaitu Station,
Access Point dan Both (Keduanya). Modul ini juga dilengkapi dengan prosesor,
memori dan GPIO dimana jumlah pin bergantung dengan jenis ESP8266 yang kita
gunakan. Sehingga modul ini bisa berdiri sendiri tanpa menggunakan
mikrokontroler apapun karena sudah memiliki perlengkapan layaknya
mikrokontroler.
3. Definisi Sensor Arus
Sensor arus adalah perangkat yang mendeteksi arus listrik (AC atau DC) di
kawat, dan menghasilkan sinyal sebanding dengan itu. Sinyal yang dihasilkan bisa
tegangan analog atau arus atau bahkan digital.
5. Definisi Internet of Things
Internet of Things, atau dikenal juga dengan singkatan' IoT, merupakan
sebuah konsep yang bertujuan untuk memperluas manfaat dari konektivitas internet
yang tersambung secara terus-menerus. Adapun kemampuan seperti berbagi data,
remote control, dan sebagainya, termasuk juga pada benda di dunia nyata.
Contohnya bahan pangan, elektronik, koleksi, peralatan apa saja, termasuk benda
hidup yang semuanya tersambung ke jaringan lokal dan global melalui sensor yang
tertanam dan selalu aktif.
Pada dasarnya, Internet of Things mengacu pada benda yang dapat
diidentifikasikan secara unik sebagai representasi virtual dalam struktur berbasis
Internet. Istilah Internet of Things awalnya disarankan oleh Kevin Ashton pada
tahun 1999 dan mulai terkenal melalui Auto-ID Center di MIT

III. Alat-alat

Pc Lengkap

Arduino Uno

Sensor Arus

1 Protoboard
ESP8266

Kabel Jumper (Male-


Female)

Kabel listrik

Kabel USB

Resistor

Kapasitor

IV. Prosedur Percobaan


Percobaan 1 : Membuat IOT Server Agar Dapat Mengirim Data Secara Online
1. Pastikan anda terkoneksi dengan internet. Buka web browser dan ketikan pada
URL : https://thingspeak.com/
2. Jika belum mempunyai akun, daftarkan akun dengan cara mengklik “Sign Up”
yang ada pada bagian kanan atas halaman. Kemudian data yang diperlukan seperti
gambar dibawah ini. Setelah itu klik “Continue”

3. Setelah berhasil membuat akun di ThinkSpeak, masuk dengan akun anda. Caranya
klik “Sign in”, kemudian masukan email yang sudah di daftarkan.
4. Setelah masuk, klik “New Channel” untuk membuat penampung yang akan
membaca nilai yang dibaca oleh sensor. Ketikan name=Arus dan field1=Arus
seperti gambar dibawah ini. Kemudian klik “Save Channel”.

5. Maka terbentuklah sebuah field diagram yang nanti akan memunculkan perubahan
nilai arus dari sensor.

6. Kemudian pilih menu “APIKey”. Pada menu ini terdapat key yang nantinya akan
dimasukan ke dalam codingan agar saling terhubung antara alat dan ThinkSpeak.
Percobaan 2 : Rangkaian Arduino dengan ESP8266 dan Sensor Arus

Gambar 9.1 Rangakain pada Arduino

1. Susunlah rangkaian seperti gambar diatas


2. Hubungkan jumper pada sensor arus ke power 5V arduino
3. Hubungkan jumper pada sensor arus ke GND arduino
4. Hubungkan jumper ke pin 1 ANALOG IN arduino
5. Hubungkan pin GND ESP8266 ke GND arduino
6. Hubungkan pin TX ESP8266 ke pin 2 arduino
7. Hubungkan pin CH_PD ESP8266 ke power 3,3V arduino
8. Hubungkan pin VCC ESP8266 ke power 3,3V arduino
9. Hubungkan pin RX ESP8266 ke pin 3 arduino
Percobaan 3 : Membuat Program pada Arduino
1. Siapkan library EmonLib
2. Pastikan memiliki koneksi internet
3. Tulis program dibawah dengan menggunakan program Arduino IDE, caranya
ketik pada file source codenya :
#include <SoftwareSerial.h>
SoftwareSerial espSerial = SoftwareSerial(2,3);
#include "EmonLib.h"
EnergyMonitor emon1;

String apiKey = "S2RPQR1PF7E1SLXE"; //Ganti dengan Write KEY API


yang didapat setelah daftar thingspeak

String ssid="Rahasia"; // Ganti **** dengan nama SSID yang ada


String password ="12345"; // Ganti **** dengan Password SSID
boolean DEBUG=true;

//
=======================================================
================= showResponce
void showResponse(int waitTime){
long t=millis();
char c;
while (t+waitTime>millis()){
if (espSerial.available()){
c=espSerial.read();
if (DEBUG) Serial.print(c);
}
}

}
//
=======================================================
=================
boolean thingSpeakWrite(double value1){
String cmd = "AT+CIPSTART=\"TCP\",\""; // TCP connection
cmd += "184.106.153.149"; // api.thingspeak.com
cmd += "\",80";
espSerial.println(cmd);
if (DEBUG) Serial.println(cmd);
if(espSerial.find("Error")){
if (DEBUG) Serial.println("AT+CIPSTART error");
return false;
}

String getStr = "GET /update?api_key="; // prepare GET string


getStr += apiKey;

getStr +="&field1=";
getStr += String(value1);
getStr += "\r\n\r\n";

// send data length


cmd = "AT+CIPSEND=";
cmd += String(getStr.length());
espSerial.println(cmd);
if (DEBUG) Serial.println(cmd);

delay(100);
if(espSerial.find(">")){
espSerial.print(getStr);
if (DEBUG) Serial.print(getStr);
}
else{
espSerial.println("AT+CIPCLOSE");
// alert user
if (DEBUG) Serial.println("AT+CIPCLOSE");
return false;
}
return true;
}
//
=======================================================
========================= setup
void setup() {
emon1.current(1, 111.1);
DEBUG=true; // enable debug serial
Serial.begin(9600);

espSerial.begin(115200); // enable software serial

espSerial.println("AT+CWMODE=1"); // set esp8266 as client


showResponse(1000);

espSerial.println("AT+CWJAP=\""+ssid+"\",\""+password+"\""); // set your


home router SSID and password
showResponse(5000);

if (DEBUG) Serial.println("Setup completed");


}

void loop() {
// Read sensor values
double Irms = emon1.calcIrms(1480);
if (isnan(Irms)) {
if (DEBUG) Serial.println("Failed to read from DHT");
}
else {
if (DEBUG) Serial.println("Arus="+String(Irms)+" A");
thingSpeakWrite(Irms); // Write values to
thingspeak
}

delay(1000);
}

4. Simpan program diatas dengan nama praktikum9, dengan lokasi di folder


C:/praktikum/.
5. Compile program praktikum9.ino dengan menggunakan perintah verify pada
toolbox sampai tidak muncul pesan kesalahan error.
6. Upload program praktikum9.ino ke dalam arduino dengan menggunakan
perintah upload pada toolbar sampai selesai atau ada status done uploading.
7. Buka halaman ThinkSpeak untuk melihat data yang dikirimkan dari sensor
melalui modul ESP8266

Gambar 9.2 Tampilan Nilai Arus di Thingspeak


PERTEMUAN X
PENGGUNAAN MODUL SENSOR ARUS UNTUK MENGUKUR DAYA
DENGAN ETHERNET SHIELD

I. Tujuan
1. Memperkenalkan modul sensor dan Ethernet Shield
2. Mengetahui tata cara penggunaan Ethernet Shield dengan Sensor Arus

II. Teori
1. Definisi Prototipe
Prototipe adalah suatau versi dari sebuah sistem potensial yang memeberikan
ide bagi para pengembang dan calon pengguna, bagaimana sistem akan berfungsi
dalam bentuk yang telah selesai."
2. Definisi Arduino
Arduino merupakan platform yang terdiri dari software dan hardware.
Hardware Arduino sama dengan mikrocontroller pada umumnya hanya pada
arduino ditambahkan penamaan pin agar mudah diingat. Software Arduino
merupakan software open sourcesehingga dapat di download secara
gratis. Software ini digunakan untuk membuat dan memasukkan program ke dalam
Arduino. Pemrograman Arduino tidak sebanyak
tahapan mikrocontroller konvensional karena Arduino sudah didesain mudah untuk
dipelajari, sehingga para pemula dapat mulai belajar mikrocontroller dengan
Arduino.
3. Definisi Ethernet Shield
Arduino Ethernet Shield adalah modul yang berfungsi menghubungkan
Arduino board dengan jaringan internet,karna itu berdasar pada Wiznet
W5100 ethernet chip ( datasheet)untuk Menghubungkan dan menggunakan modul
hingga dapat terkoneksi internet cukup mudah, hanya membutuhkan waktu
beberapa menit saja.caranya dengan memasangkan  modul tersebut di atas Arduino
bord, sambungkan dengan kabel network RJ45 , ikuti tutorial pemogramannya
(menggunakan pustaka Ethernet yang sudah tersedia di paket perangkat lunak
Arduino IDE), dan Arduino Anda siap dikendalikan lewat internet.Di dalam
arduino ethernet sendiri terdapat slot mikro SD yang berbungsi sebagai tempat
penyimpanan file sedangkan untuk mengakses mikro SD card   mengunakan library
SD ,untuk jenis arduino board yang bisa di pasangkan dengan ethernet shield
W5100 yaitu arduino uno dan mega 
4. Definisi Sensor Arus
Sensor arus adalah perangkat yang mendeteksi aruslistrik (AC atau DC) di
kawat, dan menghasilkan sinyal sebanding dengan itu. Sinyal yang dihasilkan bisa
tegangan analog atau arus atau bahkan digital.

III. Alat-alat

Arduino Uno

Sensor Arus

Ethernet

1 kabel LAN RJ-45 tipe Cross

Kabel Jumper (Male-Female)

Kabel listrik

Kabel USB

Resistor

Kapasitor
IV. Prosedur Percobaan
Percobaan 1 : Rangkaian Arduino dengan Ethernet Shield V2 dan Sensor Arus

Gambar 10.1 Rangakain pada Arduino

1. Tancapkan Ethernet Shield pada Arduino Uno


2. Buat rangkaian resistor dan kapasitor seperti gambar diatas
3. Hubungkan jumper pada sensor arus ke power 5V arduino
4. Hubungkan jumper pada sensor arus ke GND arduino
5. Hubungkan jumper ke pin 1 ANALOG IN arduino

Percobaan 2 : Membuat Program pada Arduino


1. Siapkan library EmonLib
2. Tulis program dibawah dengan menggunakan program Arduino IDE, caranya
ketik pada file source codenya :
#include <SPI.h>
#include <Ethernet2.h>
#include "EmonLib.h"
EnergyMonitor emon1;
// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = {
0x90, 0xA2, 0xDA, 0x10, 0xAA, 0xA8
};
IPAddress ip(192, 168, 1, 177);
EthernetServer server(80);

void setup() {
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
Ethernet.begin(mac, ip);
server.begin();
Serial.print("server is at ");
Serial.println(Ethernet.localIP());
emon1.current(1, 111.1);
}

void loop() {
double Irms = emon1.calcIrms(1480); // Calculate Irms only
int daya = Irms*230.0; // mengukur daya
Serial.print(daya);
Serial.print(" ");
Serial.println("Watt");
// listen for incoming clients
EthernetClient client = server.available();
if (client) {
Serial.println("new client");
// an http request ends with a blank line
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
Serial.write(c);

if (c == '\n' && currentLineIsBlank) {


// send a standard http response header
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
client.print("Daya saat ini");
client.print(" adalah ");
client.print(daya);
client.print(" Watt ");
client.println("<br />");
client.println("</html>");
break;
}
if (c == '\n') {
currentLineIsBlank = true;
}
else if (c != '\r') {
currentLineIsBlank = false;
}
}
}
delay(1);
client.stop();
Serial.println("client disconnected");
}
}

3. Simpan program diatas dengan nama praktikum10, dengan lokasi di folder


C:/praktikum/.
4. Compile program praktikum10.ino dengan menggunakan perintah verify pada
toolbox sampai tidak muncul pesan kesalahan error.
5. Upload program praktikum10.ino ke dalam arduino dengan menggunakan
perintah upload pada toolbar sampai selesai atau ada status done uploading.
6. Selanjutnya kita konfigurasi IP komputer/laptop yang akan digunakan sebagai
penampilan halaman web pada web browser. Klik Start Menu > Control Panel >
Network and Sharing Center > Change Adapter Setting > Klik Kanan pada Local
Area Connection > Pilih Properties > Klik Internet Protocol Version 4 (TCP/IP4)
> Klik Tombol Properties > Klik Use the Following IP Address > masukan IP
192.168.1.178 sebagaimana kita memberikan IP pada arduino pada baris program
IPAddress ip(192, 168, 1, 177) : pada jaringan yang sama. Kemudian tekan Tab
untuk mengisi Subnet Masknya terakhir klik OK untuk selesai.
7. Sambungkan kabel LAN socket RJ-45 tipe cross pada arduino ke
komputer/laptop
8. Tes Koneksi dengan melakukan PING, dengan membuka Run (CTRL + R) dan
masukan IP Address pada arduino yang telah kita definisikan pada program, yaitu
ketikan ping 192.168.1.177 . Jika berhasil, buka web browser seperti Google
Chrome atau Aplikasi Web Browser lainnya.
9. Masukan ke URL address , ketik IP Address 192.168.1.177
PERTEMUAN XI
PENGGUNAAN MODUL SENSOR ARUS UNTUK MENGUKUR DAYA
DENGAN BLUETOOTH HC 05

I. Tujuan
1. Memperkenalkan modul sensor dan HC 05
2. Mengetahui tata cara penggunaan HC 05 dengan Sensor Arus untuk mengukur
daya

II. Teori
1. Definisi Prototipe
Prototipe adalah suatau versi dari sebuah sistem potensial yang memeberikan
ide bagi para pengembang dan calon pengguna, bagaimana sistem akan berfungsi
dalam bentuk yang telah selesai."
2. Definisi Arduino
Arduino merupakan platform yang terdiri dari software dan hardware.
Hardware Arduino sama dengan mikrocontroller pada umumnya hanya pada
arduino ditambahkan penamaan pin agar mudah diingat. Software Arduino
merupakan software open sourcesehingga dapat di download secara
gratis. Software ini digunakan untuk membuat dan memasukkan program ke dalam
Arduino. Pemrograman Arduino tidak sebanyak
tahapan mikrocontroller konvensional karena Arduino sudah didesain mudah untuk
dipelajari, sehingga para pemula dapat mulai belajar mikrocontroller dengan
Arduino.
3. Definisi Bluetooth HC 05
Bluetooth HC05 adalah Modul Bluetooth to serial yang menggunakan protocol
standar Bluetooth V2.0 dan kebutuhan tegangan sebesar 3,3V2' Bluetooth HC05
adalah Modul Bluetooth SPP(Serial Port Protoco) yang mudah di gunakan,yang di
rancang untuk komunikasi nirkabel dengan penganturan koneksi Dari dua
penjelasan diatas kita bisa menyimpulakn bahwa Bluetooth HC-05 Adalah sebuah
modul Bluetooth SPP (Serial Port Protocol) yang mudah digunakan untuk
komunikasi serial wireless (nirkabel) yang mengkonversi port serial ke Bluetooth.
HC-05 menggunakan modulasi bluetooth V2.0 + EDR (Enchanced Data Rate) 3
Mbps dengan memanfaatkan gelombang radio berfrekuensi 2,4 GHz.Modul ini
dapat digunakan sebagai slave maupun master.
HC-05 memiliki 2 mode konfigurasi, yaitu AT mode dan Communication
mode. AT mode berfungsi untuk melakukan pengaturan konfigurasi dari HC-05.
Sedangkan Communication mode berfungsi untuk melakukan komunikasi
bluetooth dengan piranti lain.
4. Definisi Sensor Arus
Sensor arus adalah perangkat yang mendeteksi aruslistrik (AC atau DC) di
kawat, dan menghasilkan sinyal sebanding dengan itu. Sinyal yang dihasilkan bisa
tegangan analog atau arus atau bahkan digital.

III. Alat-alat

Arduino Uno

Sensor Arus

Bluetooth HC-05

1 Protoboard

Kabel Jumper (Male-


Female)

Kabel listrik
Kabel USB

Resistor

Kapasitor

IV. Prosedur Percobaan


Percobaan 1 : Rangkaian Arduino dengan Bluetooth HC-05 dan Sensor Arus

Gambar 11.1 Rangakain pada Arduino

1. Buat rangkaian resistor dan kapasitor seperti gambar diatas


2. Hubungkan jumper pada sensor arus ke power 5V arduino
3. Hubungkan jumper pada sensor arus ke GND arduino
4. Hubungkan jumper ke pin 1 ANALOG IN arduino
5. Kabel dihubungkan dari VCC Bluetooth HC-5 ke 5V arduino
6. Kabel dihubungkan dari GND Bluetooth HC-5 ke GND arduino
7. Kabel dihubungkan dari TX Bluetooth HC-5 ke pin 2 arduino
8. Kabel dihubungkan dari RX Bluetooth HC-5 ke pin 3 arduino
Percobaan 2 : Membuat Program pada Arduino
1. Tulis program dibawah dengan menggunakan program Arduino IDE, caranya
ketik pada file source codenya :
#include<SoftwareSerial.h>
SoftwareSerial bt(2,3); //pin2 TX, pin3 RX
#include "EmonLib.h"
EnergyMonitor emon1;

void setup() {
bt.begin(9600);
Serial.begin(9600);
emon1.current(1, 111.1);
}

void loop() {
double Irms = emon1.calcIrms(1480); // Calculate Irms only
int daya = Irms*230.0; // mengukur daya
bt.println(daya); //menampilkan nilai di android
Serial.println(daya); //menampilkan nilai diserial monitor
delay(1000);
}

2. Simpan program diatas dengan nama praktikum11, dengan lokasi folder C:\
praktikum\.
3. Compile program praktikum11.ino dengan menggunakan perintah verify pada
toolbar sampai tidak muncul pesan kesalahan error.
4. Upload program praktikum11.ino ke dalam arduino dengan menggunakan
perintah upload pada toolbar sampai selesai atau ada status done uploading.
Percobaan 3 : Membuat Aplikasi Android untuk Monitoring Nilai Dayanya
1. Pastikan anda memiliki koneksi internet. Setelah itu masuk ke web browser
(misalkan: mozilla, chrome dan sebagainya)
2. Buka http://appinventor.mit.edu, Setelah itu pilih “Create apps!” . (Jika belum ada
akun daftarkan terlebih dahulu email anda untuk mendapatkan akun)
3. Pilih start new project, kemudian beri nama projek dengan nama
“Monitor_daya”. Setelah itu klik OK
4. Buat desain android seperti gambar dibawah ini :

Gambar 11.2 Desain Android

Adapun pengaturan properti yang perlu dilakukan pada komponen-komponen


yang menyusun layar ditunjukan dari tabel berikut ini :
Komponen Properti Isi
Title Monitoring Daya
Screen1 dengan Modul
Bluetooth HC-05
Height Fill parent
VerticalArrangement1
Width Fill parent
HorizontalArrangement Height Fill parent
Width Fill parent
Text Pilih Bluetooth
ListPicker1
TextAlignment Center
Text Not Connected
Label
Name hasilBluetooth
HorizontalArrangement Height 20 pixels
2 Width Fill parent
Height Fill parent
Width Fill parent
VerticalArrangement2
AlignHorizontal Center
AlignVertical Center
Text NILAI DAYA :
Label
Name txtnilai
HorizontalArrangement Width 60 percent
3
Text Hasil
Label
Name hasil
Text Watt
Label
Name txtwatt
BluetoothClient1
Clock1 TimerInterval 1000

5. Setelah proses desain telah selesai dilakukan, pilih “Blocks” untuk masuk ke
tahap codingan. Lakukan proses coding seperti gambar dibawah ini :
6. Pilih menu “Build” pada toolbar, kemudian pilih “App (save .apk to my
computer)” untuk mendownload aplikasi yang telah dibuat dalam format .apk.
7. Setelah itu,pindahkan file aplikasi yang sudah di download tadi ke android anda.
Kemudian install.
8. Nyalakan Mode Bluetooth pada Arduino dan lakukan pencarian Device, jika
power pada arduino ke Modul Bluetooth sudah tersambung dan dalam kondisi
menyala, maka di hasil pencarian akan muncul HC-05. Masukan sandi 1234 pada
Android
9. Buka aplikasi monitor_daya, Kemudian pilih Bluetooth HC-05
Gambar 9.3 Tampilan Monitoring Daya
PERTEMUAN XII
PENGGUNAAN MODUL SENSOR ARUS UNTUK MENGUKUR DAYA
DENGAN GSM SHIELD

I. Tujuan
1. Memperkenalkan modul sensor dan modul GSM
2. Mengetahui tata cara penggunaan Modul GSM dengan Sensor Arus untuk
mencari Nilai Daya

II. Teori
1. Definisi Prototipe
Prototipe adalah suatau versi dari sebuah sistem potensial yang memeberikan
ide bagi para pengembang dan calon pengguna, bagaimana sistem akan berfungsi
dalam bentuk yang telah selesai."
2. Definisi Arduino
Arduino merupakan platform yang terdiri dari software dan hardware.
Hardware Arduino sama dengan mikrocontroller pada umumnya hanya pada
arduino ditambahkan penamaan pin agar mudah diingat. Software Arduino
merupakan software open sourcesehingga dapat di download secara
gratis. Software ini digunakan untuk membuat dan memasukkan program ke dalam
Arduino. Pemrograman Arduino tidak sebanyak
tahapan mikrocontroller konvensional karena Arduino sudah didesain mudah untuk
dipelajari, sehingga para pemula dapat mulai belajar mikrocontroller dengan
Arduino.
3. Definisi GSM Shield
GSM Shield atau GPRS (General Packet Radio Service) Shield merupakan
produk untuk keperluan wireless Arduino Anda. Beroperasi pada frekuensi
GSM/GPRS 850/900/1800/1900MHz untuk keperluan pengiriman suara, SMS, dan
data dengan konsumsi data yang rendah. Shield GPRS ini dikendalikan
menggunakan  AT commands (GSM 07.07 ,07.05 dan SIMCOM enhanced AT
Commands). Kompatible dengan board Arduino UNO, Duemilanove, Seeeduino,
dan Mega, dan arduino. Beberapa fitur tambahan pada versi terbaru GPRS shield
ini adalah adanya soft reset yang memudahkan saat inisialisasi jaringan, sehingga
on-off shield lebih mudah.  Lalu tersedia slot baterai pada bagian belakang shield.
Mohon menjadi catatan saat membuat sketch, setting baud-rate tidak kompatible
pada 19200, jadi Anda dapat menggunakan pada baud-rate yang lain.
4. Definisi Sensor Arus
Sensor arus adalah perangkat yang mendeteksi aruslistrik (AC atau DC) di
kawat, dan menghasilkan sinyal sebanding dengan itu. Sinyal yang dihasilkan bisa
tegangan analog atau arus atau bahkan digital.

III. Alat-alat

Pc Lengkap

Arduino Uno

Sensor Arus

1 GSM Shiled Icomsat V1.1

Kabel Jumper (Male-Female)

Kabel listrik

Kabel USB
Resistor

Kapasitor

IV. Prosedur Percobaan


Percobaan 1 : Rangkaian Sensor Arus dan GSM Shield

Gambar 12.1 Rangkaian pada Arduino

1. Masukan sim card pada GSM shiled


2. Tancapkan GSM shiled pada arduino
3. Buat rangkaian resistor dan kapasitor seperti gambar diatas
4. Hubungkan jumper pada sensor arus ke power 5V arduino
5. Hubungkan jumper pada sensor arus ke GND arduino
6. Hubungkan jumper ke pin 1 ANALOG IN arduino

Percobaan 2 : Membuat Program pada Arduino


1. Siapkan library SIM900
2. Tulis program dibawah dengan menggunakan program Arduino IDE, caranya
ketik pada file source codenya :
#include <SoftwareSerial.h>
#include "EmonLib.h"
EnergyMonitor emon1;
SoftwareSerial SIM900A(6,7);

void setup()
{
SIM900A.begin(9600); // Setting the baud rate of GSM Module
Serial.begin(9600); // Setting the baud rate of Serial Monitor (Arduino)
emon1.current(1, 111.1);
delay(100);

SIM900A.println("AT+CNMI=2,2,0,0,0"); //buat nerima


}

void loop()
{
double Irms = emon1.calcIrms(1480); // Calculate Irms only
int daya = Irms*230.0;
Serial.println ("SIM900A Mengirim SMS");
SIM900A.println("AT+CMGF=1"); //Sets the GSM Module in Text Mode
delay(1000); // Delay of 1000 milli seconds or 1 second
Serial.println ("Set SMS Number");
SIM900A.println("AT+CMGS=\"+6285959622185\"\r"); // Replace with your
mobile number
delay(1000);
Serial.println ("Set SMS Content");
SIM900A.println(String("Nilai daya sekarang ")+ daya+ String(" Watt"));//
The SMS text you want to send
delay(50000); //delay sms dikirim
Serial.println ("Finish");
SIM900A.println((char)26);// ASCII code of CTRL+Z
delay(1000);
Serial.println (" ->SMS Selesai dikirim");
delay(100);
}

3. Simpan program diatas dengan nama praktikum8, dengan lokasi di folder C:\
praktikum\
4. Compile program praktikum12.ino dengan menggunakan perintah verify pada
toolbar sampai tidak muncul pesan kesalahan error.
5. Upload program praktikum12.ino ke dalam arduino dengan menggunakan
perintah upload pada toolbar sampai selesai atau ada status done uploading.
6. Tunggu beberapa saat, nanti akan masuk SMS pada handphone.

Gambar 12.2 Tampilan SMS Masuk


PERTEMUAN XIII
PENGGUNAAN MODUL SENSOR ARUS UNTUK MENGUKUR DAYA
DENGAN ESP8266

I. Tujuan
1. Memperkenalkan modul sensor arus dan modul wifi ESP8266
2. Mengetahui tata cara penggunaan modul wifi ESP8266 dengan Sensor Arus
untuk mengukur daya

II. Teori
1. Definisi Prototipe
Prototipe adalah suatau versi dari sebuah sistem potensial yang memeberikan
ide bagi para pengembang dan calon pengguna, bagaimana sistem akan berfungsi
dalam bentuk yang telah selesai.
2. Definisi Arduino
Arduino merupakan platform yang terdiri dari software dan hardware.
Hardware Arduino sama dengan mikrocontroller pada umumnya hanya pada
arduino ditambahkan penamaan pin agar mudah diingat. Software Arduino
merupakan software open sourcesehingga dapat di download secara
gratis. Software ini digunakan untuk membuat dan memasukkan program ke dalam
Arduino. Pemrograman Arduino tidak sebanyak
tahapan mikrocontroller konvensional karena Arduino sudah didesain mudah untuk
dipelajari, sehingga para pemula dapat mulai belajar mikrocontroller dengan
Arduino.
3. Definisi ESP8266
Modul ESP8266 merupakan platform yang sangat murah tetapi benar-benar
efektif untuk digunakan berkomunikasi atau kontrol melalui internet baik
digunakan secara standalone (berdiri sendiri) maupun dengan menggunakan
mikrokontroler tambahan dalam hal ini Arduino sebagai pengendalinya. Modul ini
membutuhkan daya sekitar 3.3v dengan memiliki tiga mode wifi yaitu Station,
Access Point dan Both (Keduanya). Modul ini juga dilengkapi dengan prosesor,
memori dan GPIO dimana jumlah pin bergantung dengan jenis ESP8266 yang kita
gunakan. Sehingga modul ini bisa berdiri sendiri tanpa menggunakan
mikrokontroler apapun karena sudah memiliki perlengkapan layaknya
mikrokontroler.
4. Definisi Sensor Arus
Sensor arus adalah perangkat yang mendeteksi aruslistrik (AC atau DC) di
kawat, dan menghasilkan sinyal sebanding dengan itu. Sinyal yang dihasilkan bisa
tegangan analog atau arus atau bahkan digital.

III. Alat-alat

Pc Lengkap

Arduino Uno

Sensor Arus

1 Protoboard

ESP8266

Kabel Jumper (Male-Female)

Kabel listrik
Kabel USB

Resistor

Kapasitor

IV. Prosedur Percobaan


Percobaan 1 : Membuat IOT Server Agar Dapat Mengirim Data Secara Online
1. Pastikan anda terkoneksi dengan internet. Buka web browser dan ketikan pada
URL : https://thingspeak.com/

2. Jika belum mempunyai akun, daftarkan akun dengan cara mengklik “Sign Up”
yang ada pada bagian kanan atas halaman. Kemudian data yang diperlukan seperti
gambar dibawah ini. Setelah itu klik “Continue”
3. Setelah berhasil membuat akun di ThinkSpeak, masuk dengan akun anda. Caranya
klik “Sign in”, kemudian masukan email yang sudah di daftarkan.

4. Setelah masuk, klik “New Channel” untuk membuat penampung yang akan
membaca nilai yang dibaca oleh sensor. Ketikan name=”Daya” dan
field1=”Daya” seperti gambar dibawah ini. Kemudian klik “Save Channel”.
5. Maka terbentuklah sebuah field diagram yang nanti akan memunculkan perubahan
nilai arus dari sensor.

6. Kemudian pilih menu “APIKey”. Pada menu ini terdapat key yang nantinya akan
dimasukan ke dalam codingan agar saling terhubung antara alat dan ThinkSpeak.
Percobaan 2 : Rangkaian Arduino dengan ESP8266 dan Sensor Arus

Gambar 13.1 Rangakain pada Arduino

1. Susunlah rangkaian seperti gambar diatas


2. Hubungkan jumper pada sensor arus ke power 5V arduino
3. Hubungkan jumper pada sensor arus ke GND arduino
4. Hubungkan jumper ke pin 1 ANALOG IN arduino
5. Hubungkan pin GND ESP8266 ke GND arduino
6. Hubungkan pin TX ESP8266 ke pin 2 arduino
7. Hubungkan pin CH_PD ESP8266 ke power 3,3V arduino
8. Hubungkan pin VCC ESP8266 ke power 3,3V arduino
9. Hubungkan pin RX ESP8266 ke pin 3 arduino

Percobaan 3 : Membuat Program pada Arduino


1. Siapkan library EmonLib
2. Pastikan memiliki koneksi internet
3. Tulis program dibawah dengan menggunakan program Arduino IDE, caranya
ketik pada file source codenya :
#include <SoftwareSerial.h>
SoftwareSerial espSerial = SoftwareSerial(2,3);
#include "EmonLib.h"
EnergyMonitor emon1;
String apiKey = "I69LX8VD4CTSF7SW"; //Ganti dengan Write KEY API
yang didapat setelah daftar thingspeak

String ssid="AndroidAP"; // Ganti **** dengan nama SSID yang ada


String password ="modaldong"; // Ganti **** dengan Password SSID
boolean DEBUG=true;

//
========================================================
================ showResponce
void showResponse(int waitTime){
long t=millis();
char c;
while (t+waitTime>millis()){
if (espSerial.available()){
c=espSerial.read();
if (DEBUG) Serial.print(c);
}
}

//
========================================================
================
boolean thingSpeakWrite(int value1){
String cmd = "AT+CIPSTART=\"TCP\",\""; // TCP connection
cmd += "184.106.153.149"; // api.thingspeak.com
cmd += "\",80";
espSerial.println(cmd);
if (DEBUG) Serial.println(cmd);
if(espSerial.find("Error")){
if (DEBUG) Serial.println("AT+CIPSTART error");
return false;
}

String getStr = "GET /update?api_key="; // prepare GET string


getStr += apiKey;

getStr +="&field1=";
getStr += String(value1);
getStr += "\r\n\r\n";

// send data length


cmd = "AT+CIPSEND=";
cmd += String(getStr.length());
espSerial.println(cmd);
if (DEBUG) Serial.println(cmd);

delay(100);
if(espSerial.find(">")){
espSerial.print(getStr);
if (DEBUG) Serial.print(getStr);
}
else{
espSerial.println("AT+CIPCLOSE");
// alert user
if (DEBUG) Serial.println("AT+CIPCLOSE");
return false;
}
return true;
}
//
========================================================
======================== setup
void setup() {
emon1.current(1, 111.1);
DEBUG=true; // enable debug serial
Serial.begin(9600);

espSerial.begin(115200); // enable software serial

espSerial.println("AT+CWMODE=1"); // set esp8266 as client


showResponse(1000);

espSerial.println("AT+CWJAP=\""+ssid+"\",\""+password+"\""); // set your


home router SSID and password
showResponse(5000);

if (DEBUG) Serial.println("Setup completed");


}

//
========================================================
============== loop
void loop() {

// Read sensor values


double Irms = emon1.calcIrms(1480);
int daya = Irms*230.0;
if (isnan(daya)) {
if (DEBUG) Serial.println("Failed to read from DHT");
}
else {
if (DEBUG) Serial.println("Daya="+String(daya)+" Watt");
thingSpeakWrite(daya); // Write values to thingspeak
}

delay(1000);
}
4. Simpan program diatas dengan nama praktikum13, dengan lokasi di folder
C:/praktikum/.
5. Compile program praktikum13.ino dengan menggunakan perintah verify pada
toolbox sampai tidak muncul pesan kesalahan error.
6. Upload program praktikum13.ino ke dalam arduino dengan menggunakan
perintah upload pada toolbar sampai selesai atau ada status done uploading.
7. Buka halaman ThinkSpeak untuk melihat data yang dikirimkan dari sensor
melalui modul ESP8266

Gambar 13.2 Tampilan Nilai Daya di Thingspeak


PERTEMUAN XIV
PENGGUNAAN MODUL SENSOR ARUS UNTUK MENGIRIM DATA DAYA
MELALUI EMAIL

I. Tujuan
1. Mengirim data daya secara otomatis melalui email
2. Mengetahui tata cara penggunaan IFTTT dengan sebuah IoT server

II. Teori
1. Definisi Prototipe
Prototipe adalah suatau versi dari sebuah sistem potensial yang memeberikan
ide bagi para pengembang dan calon pengguna, bagaimana sistem akan berfungsi
dalam bentuk yang telah selesai."
2. Definisi Arduino
Arduino merupakan platform yang terdiri dari software dan hardware.
Hardware Arduino sama dengan mikrocontroller pada umumnya hanya pada
arduino ditambahkan penamaan pin agar mudah diingat. Software Arduino
merupakan software open sourcesehingga dapat di download secara
gratis. Software ini digunakan untuk membuat dan memasukkan program ke dalam
Arduino. Pemrograman Arduino tidak sebanyak
tahapan mikrocontroller konvensional karena Arduino sudah didesain mudah untuk
dipelajari, sehingga para pemula dapat mulai belajar mikrocontroller dengan
Arduino.
3. Definisi ESP8266
Modul ESP8266 merupakan platform yang sangat murah tetapi benar-benar
efektif untuk digunakan berkomunikasi atau kontrol melalui internet baik
digunakan secara standalone (berdiri sendiri) maupun dengan menggunakan
mikrokontroler tambahan dalam hal ini Arduino sebagai pengendalinya. Modul ini
membutuhkan daya sekitar 3.3v dengan memiliki tiga mode wifi yaitu Station,
Access Point dan Both (Keduanya). Modul ini juga dilengkapi dengan prosesor,
memori dan GPIO dimana jumlah pin bergantung dengan jenis ESP8266 yang kita
gunakan. Sehingga modul ini bisa berdiri sendiri tanpa menggunakan
mikrokontroler apapun karena sudah memiliki perlengkapan layaknya
mikrokontroler.
4. Definisi Sensor Arus
Sensor arus adalah perangkat yang mendeteksi aruslistrik (AC atau DC) di
kawat, dan menghasilkan sinyal sebanding dengan itu. Sinyal yang dihasilkan bisa
tegangan analog atau arus atau bahkan digital.
5. Definisi Internet of Things
Internet of Things, atau dikenal juga dengan singkatan' IoT, merupakan
sebuah konsep yang bertujuan untuk memperluas manfaat dari konektivitas internet
yang tersambung secara terus-menerus. Adapun kemampuan seperti berbagi data,
remote control, dan sebagainya, termasuk juga pada benda di dunia nyata.
Contohnya bahan pangan, elektronik, koleksi, peralatan apa saja, termasuk benda
hidup yang semuanya tersambung ke jaringan lokal dan global melalui sensor yang
tertanam dan selalu aktif.
Pada dasarnya, Internet of Things mengacu pada benda yang dapat
diidentifikasikan secara unik sebagai representasi virtual dalam struktur berbasis
Internet. Istilah Internet of Things awalnya disarankan oleh Kevin Ashton pada
tahun 1999 dan mulai terkenal melalui Auto-ID Center di MIT.
6. Teori IFTTT
If This Then That (IFTTT) adalah sebuah aplikasi yang memungkinkan kamu
untuk 'menghubungkan' dua aplikasi web menjadi satu. Linden Tibbets, pembuat
aplikasi ini memiliki visi untuk memungkinkan data digital seperti data fisik,
dimana pengguna dapat menggabungkan beberapa hal untuk membuat hal baru
dengan mudah, kapan dan dimana saja.
Kombinasi apa yang bisa dilakukan IFTTT? Setiap RSS Feed dapat di-tweet
secara otomatis. Hasil search terbaru craiglist dapat dikirimkan melalui email atau
SMS. Kamu dapat menerima notifikasi SMS apabila ada email baru yang masuk.
Tweet kamu bisa secara otomatis ditambahkan ke Google Calendar, membuat
timeline dan perencanaan secara otomatis.
Secara sederhana, setiap aktivitas yang kamu lakukan secara online dapat
diatur untuk memiliki reaksi otomatis pada sebuah aplikasi web tertentu. IFTTT
adalah rantai yang dapat menggabungkan beberapa aplikasi web yang kamu
gunakan sehingga dapat saling menunjang.

III. Alat-alat

Pc Lengkap

Arduino Uno

Sensor Arus

1 Protoboard

ESP8266

Kabel Jumper (Male-Female)

Kabel listrik

Kabel USB
Resistor

Kapasitor

IV. Prosedur Percobaan


Percobaan 1 : Rangkaian Arduino dengan ESP8266 dan Sensor Arus

Gambar 14.1 Rangakain pada Arduino

1. Susunlah rangkaian seperti gambar diatas


2. Hubungkan jumper pada sensor arus ke power 5V arduino
3. Hubungkan jumper pada sensor arus ke GND arduino
4. Hubungkan jumper ke pin 1 ANALOG IN arduino
5. Hubungkan pin GND ESP8266 ke GND arduino
6. Hubungkan pin TX ESP8266 ke pin 2 arduino
7. Hubungkan pin CH_PD ESP8266 ke power 3,3V arduino
8. Hubungkan pin VCC ESP8266 ke power 3,3V arduino
9. Hubungkan pin RX ESP8266 ke pin 3 arduino

Percobaan 2 : Membuat Program pada Arduino


1. Siapkan library EmonLib
2. Pastikan memiliki koneksi internet
3. Tulis program dibawah dengan menggunakan program Arduino IDE, caranya
ketik pada file source codenya :
#include <SoftwareSerial.h>
SoftwareSerial espSerial = SoftwareSerial(2,3);
#include "EmonLib.h"
EnergyMonitor emon1;

String apiKey = "I69LX8VD4CTSF7SW"; //Ganti dengan Write KEY API


yang didapat setelah daftar thingspeak

String ssid="Rahasia"; // Ganti **** dengan nama SSID yang ada


String password ="123456"; // Ganti **** dengan Password SSID
boolean DEBUG=true;

//
=======================================================
================= showResponce
void showResponse(int waitTime){
long t=millis();
char c;
while (t+waitTime>millis()){
if (espSerial.available()){
c=espSerial.read();
if (DEBUG) Serial.print(c);
}
}

}
//
=======================================================
=================
boolean thingSpeakWrite(int value1){
String cmd = "AT+CIPSTART=\"TCP\",\""; // TCP connection
cmd += "184.106.153.149"; // api.thingspeak.com
cmd += "\",80";
espSerial.println(cmd);
if (DEBUG) Serial.println(cmd);
if(espSerial.find("Error")){
if (DEBUG) Serial.println("AT+CIPSTART error");
return false;
}

String getStr = "GET /update?api_key="; // prepare GET string


getStr += apiKey;

getStr +="&field1=";
getStr += String(value1);
getStr += "\r\n\r\n";

// send data length


cmd = "AT+CIPSEND=";
cmd += String(getStr.length());
espSerial.println(cmd);
if (DEBUG) Serial.println(cmd);

delay(100);
if(espSerial.find(">")){
espSerial.print(getStr);
if (DEBUG) Serial.print(getStr);
}
else{
espSerial.println("AT+CIPCLOSE");
// alert user
if (DEBUG) Serial.println("AT+CIPCLOSE");
return false;
}
return true;
}
//
=======================================================
========================= setup
void setup() {
emon1.current(1, 111.1);
DEBUG=true; // enable debug serial
Serial.begin(9600);

espSerial.begin(115200); // enable software serial

espSerial.println("AT+CWMODE=1"); // set esp8266 as client


showResponse(1000);

espSerial.println("AT+CWJAP=\""+ssid+"\",\""+password+"\""); // set your


home router SSID and password
showResponse(5000);

if (DEBUG) Serial.println("Setup completed");


}

//
=======================================================
=============== loop
void loop() {

// Read sensor values


double Irms = emon1.calcIrms(1480);
int daya = Irms*230.0;
if (isnan(daya)) {
if (DEBUG) Serial.println("Failed to read from DHT");
}
else {
if (DEBUG) Serial.println("Daya="+String(daya)+" Watt");
thingSpeakWrite(daya); // Write values to
thingspeak
}

delay(1000);
}

4. impan program diatas dengan nama praktikum14, dengan lokasi di folder


C:/praktikum/.
5. Compile program praktikum14.ino dengan menggunakan perintah verify pada
toolbox sampai tidak muncul pesan kesalahan error.
6. Upload program praktikum14.ino ke dalam arduino dengan menggunakan
perintah upload pada toolbar sampai selesai atau ada status done uploading.

Percobaan 3 : Mengintegrasikan Thingspeak ke IFTTT untuk Notifikasi Email


1. Berdasarkan percobaan pada PERTEMUAN XIII, sudah ada database yang
disimpan pada Thingspeak. Selanjutnya ketikan https://ifttt.com/ pada browser
anda.
2. Sebelum melakukan tahapan sebelumnya, terlebih dahulu buat akun pada IFTTT.
Caranya klik Sign Up yang ada pada bagian kanan atas halaman.
3. Masukkan email dan password.

4. Setelah berhasil, masuk ke akun dengan email yang sudah didaftarkan dengan
cara klik Sing In kemudian masukan email dan passwordnya. Sehingga muncul
halaman seperti berkut ini :
5. Klik pada bagian tulisan “this”, sehingga muncul berbagai pilihan service yang
ditawarkan. Kemudian pilih service “Webhooks” .

6. Setelah itu pilih trigger yang ingin di lakukan, dalam hal ini klik “Receive a web
request”.

7. Setelah itu isikan Event Name dengan nama “Monitoring_daya”. Kemudian klik
“Create trigger”.
8. Muncul halaman seperti dibawah ini, kemudian klik pada bagian tulisan “that”

9. Kemudian akan muncul pilihan-pilihan service yang ada. Pilih action service
“Email”, sehingga muncul pilihan action yang ada. Klik “Send me an email”.

10. Kemudian isikan Subject dan Body seperti gambar dibawah ini. Setelah itu klik
“Create action”
11. Terbentulah sebuah applets yang nantinya akan menghubungan antara
Thingspeak dan Email untuk memberikan notifikasi berupa kirim email dari data
nilai sensor yang dibaca pada Thingspeak

12. Selanjutnya melakukan proses untuk mengoneksikan IFTTT dengan Thingspeak.


Pada menu Search lakukan pencarian “Webhooks”. Setelah dapat, klik menu
“Documentation” yang terdapat padi bagian atas kanan halaman Webhooks
sehingga muncul halam seperti dibawah ini. Dan isikan {event} menjadi
“Monitoring_daya”.
13. Setelah itu lakukan setting pada bagian Thingspeak. Masuk ke akun Thingspeak,
Kemudian pilih menu Apps -> ThingHTTP -> New ThingHTTP. Isi formnya
seperti gambar dibawah ini dan “save ThingHTTP” :

14. Setelah itu, pilih Apps -> React -> New React dan lakukan settingan seperti
gambar berikut ini, kemudian klik “Save React”.
15. Setelah itu jalankan program arduinonya sehingga didapat nilai pada field
Thingspeak dan nilainya itu juga akan di kirim pada email.

Gambar 14.2 Hasil Nilai Sensor di Thingspeak

Gambar 14.3 Hasil Nilai Sensor Dikirim ke Email


PERTEMUAN XV
KONTROL LAMPU LISTRIK AC DENGAN RELAY PADA ARDUINO
DENGAN ETHERNET SHIELD V2 MENGGUNAKAN WEB

I. Tujuan
1. Mengerti dam memahami cara kerja Ethernetshiled V2
2. Membuat Aplikasi Kontrol Listrik AC dengan Relay dan Ethernet Shield V2
II. Teori Dasar
Ethernet Shield V2 menambah kemampuan arduino board agar terhubung ke
jaringan komputer. Ethernet shield berbasiskan cip ethernet Wiznet W5500.
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.

Gambar 15.1 Etehernet Shiled V2


PC lengkap
III. Alat- alat

1 Arduino UNO

3 Kabel Jumper (Male-


Female)

1 Protoboard

1 Kabel Data USB

1 Modul Relay 4 Channel

1 Ethernet Shiled V2

1 kabel LAN RJ-45 tipe Cross

1 Buah Fitting Lampu

1 Buah Steker Listrik

1 Buah Lampu Pijar

Kabel Listrik
IV. Prosedur Percobaan
Percobaan 1 : Rangkaian Arduino dengaan Ethernet Shield V2 dan Relay

Gambar 15.2 Rangakain pada Arduino

1. Tancapkan Ethernet Shiled pada Arduino Uno


2. Hubungkan dari pin IN1 Relay ke pin 2 arduino.
3. Hubungkan dari pin VCC Relay ke power 5V arduino.
4. Hubungkan dari pin GND Relay ke GND arduino.
5. Hubungkan dari kabel lampu ke socket 1 pada Relay
6. Hubungkan dari kabel steker ke socket 2 pada Relay

Percobaan 2 : Membuat Program Relay Menghidupkan dan Mematikan Lampu


pada IDE Arduino dengan Web Server melalui Ethernet Shiled V2
1. Buka IDE Arduino, pilih menu Sketch kemudian pilih opsi Manage Libraries...
(pastikan komputer/laptop terhubung ke internet
Gambar 15.3 Tambah Library Arduino

2. Ketikan pada kolom pencarian, Ethernet2. Kemudian install

Gambar 15.4 Mencari Library Arduino

3. Untuk memasukan MAC Address Ethernet Shield V2 nya dalam bentuk hexa dan
dapat dilihat dari belakag Ethernet Shield, seperti pada gambar berikut :

Gambar 15.5 MAC Address Ethernet Shield V2


4. Tulis program dibawah dengan menggunakan program Arduino IDE, caranya
ketik pada file source codenya :
#include <SPI.h>
#include <Ethernet2.h>
int relay1= 2;
int relay2= 3;
int relay3= 4;
int relay4= 5;

boolean statusR1, statusR2, statusR3, statusR4 = false;

String readString;
char c;
byte mac[] = {
0x90, 0xA2, 0xDA, 0x10, 0xAA, 0xA8};
IPAddress ip(192, 168, 1, 177);
EthernetServer server(80);

void setup() {
pinMode(relay1, OUTPUT);
pinMode(relay2, OUTPUT);
pinMode(relay3, OUTPUT);
pinMode(relay4, OUTPUT);
Serial.begin(9600);
while (!Serial) {
}

Ethernet.begin(mac, ip);
server.begin();
Serial.print("ip server: ");
Serial.println(Ethernet.localIP());
}

void loop() {
EthernetClient client = server.available();
if (client) {

while (client.connected()) {
if (client.available()) {
c = client.read();
if(readString.length()<100)
{
readString+=c;
}
}
if (c == '\n') {
// send a standard http response header
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.println("<HEAD>");
client.println("<meta http-equiv=\"Refresh\"content=\"5;url=/relay\"/>");
client.println("<meta http-equiv=\"Content-Type\"
content=\"application/vnd.wap.xhtml+xml; charset=utf-8\" />");
//client.println("<link type=\"text/css\" rel=\"stylesheet\"
href=\"http://haidao.mw.lt/js_css/css_pages.css\" />");
client.println("<TITLE>Kontrol Relay</TITLE>");
client.println("</HEAD>");
client.println("<BODY align=\"center\">");
client.println("<h1>Panel Kontrol Relay</h1>");
client.println("<hr />");
client.println("<br />");
client.println("<br />");
client.println("<table border=\"1\"; align=\"center\"><tr>");
client.println("<th width=\"10%\">Nama Perangkat</th>");
client.println("<th width=\"10%\">Status Perangkat</th>");
client.println("<th width=\"10%\">Saklar ON/OFF</th></tr>");
client.println("<tr class=\"trh1\"><td align=\"left\">");
client.println(" ");
client.println(" ");
client.println("Relay 1");
client.println("</td><td align=\"center\">");
if (statusR1 == false) {
client.println("<b>MATI</b>");
} else {
client.println("<b>HIDUP</b>");
}
client.println("</td><td align=\"center\">");
if (statusR1 == false) {
client.println("<a href=\"/1on\" />HIDUP</a>");
} else {
client.println("<a href=\"/1off\" />MATI</a>");
}
client.println("</td></tr>");
client.println();
client.println("<tr class=\"trh2\"><td align=\"left\">");
client.println(" ");
client.println(" ");
client.println("Relay 2");
client.println("</td><td align=\"center\">");
if (statusR2 == false) {
client.println("<b>MATI</b>");
} else {
client.println("<b>HIDUP</b>");
}
client.println("</td><td align=\"center\">");
if (statusR2 == false) {
client.println("<a href=\"/2on\" />HIDUP</a>");
} else {
client.println("<a href=\"/2off\" />MATI</a>");
}
client.println("</td></tr>");
client.println();
client.println("<tr class=\"trh1\"><td align=\"left\">");
client.println(" ");
client.println(" ");
client.println("Relay 3");
client.println("</td><td align=\"center\">");
if (statusR3 == false) {
client.println("<b>MATI</b>");
} else {
client.println("<b>HIDUP</b>");
}
client.println("</td><td align=\"center\">");
if (statusR3 == false) {
client.println("<a href=\"/3on\" />HIDUP</a>");
} else {
client.println("<a href=\"/3off\" />MATI</a>");
}
client.println("</td></tr>");
client.println();
client.println("<tr class=\"trh2\"><td align=\"left\">");
client.println(" ");
client.println(" ");
client.println("Relay 4");
client.println("</td><td align=\"center\">");
if (statusR4 == false) {
client.println("<b>MATI</b>");
} else {
client.println("<b>HIDUP</b>");
}
client.println("</td><td align=\"center\">");
if (statusR4 == false) {
client.println("<a href=\"/4on\" />HIDUP</a>");
} else {
client.println("<a href=\"/4off\" />MATI</a>");
}
client.println("</td></tr>");
client.println();
client.println("</BODY>");
delay(1);
client.stop();

if (readString.indexOf("1on") >0){
digitalWrite(relay1, HIGH);
statusR1 = true;
}
if (readString.indexOf("1off") >0){
digitalWrite(relay1, LOW);
statusR1 = false;
}
if (readString.indexOf("2on") >0){
digitalWrite(relay2, HIGH);
statusR2 = true;
}
if (readString.indexOf("2off") >0){
digitalWrite(relay2, LOW);
statusR2 = false;
}
if (readString.indexOf("3on") >0){
digitalWrite(relay3, HIGH);
statusR3 = true;
}
if (readString.indexOf("3off") >0){
digitalWrite(relay3, LOW);
statusR3 = false;
}
if (readString.indexOf("4on") >0){
digitalWrite(relay4, HIGH);
statusR4 = true;
}
if (readString.indexOf("4off") >0){
digitalWrite(relay4, LOW);
statusR4 = false;
}
readString=""; } } } }

5. Simpan program diatas dengan nama praktikum15 dengan lokasi di folder C:\
praktikum\.
6. Compile program praktikum15.ino dengan menggunakan perintah verify pada
toolbar sampai tidak muncul pesan kesalahan error.
7. Upload program praktikum15.ino ke dalam arduino dengan menggunakan
perintah upload pada toolbar sampai selesai atau ada status done uploading
8. Selanjutnya kita konfigurasi IP komputer/laptop yang akan digunakan sebagai
penampilan halaman web pada web browser. Klik Start Menu > Control Panel >
Network and Sharing Center > Change Adapter Setting > Klik Kanan pada Local
Area Connection > Pilih Properties > Klik Internet Protocol Version 4 (TCP/IP4)
> Klik Tombol Properties > Klik Use the Following IP Address > masukan IP
192.168.1.178 sebagaimana kita memberikan IP pada arduino pada baris program
IPAddress ip(192, 168, 1, 177) : pada jaringan yang sama. Kemudian tekan Tab
untuk mengisi Subnet Masknya terakhir klik OK untuk selesai.
9. Sambungkan kabel LAN socket RJ-45 tipe cross pada arduino ke
komputer/laptop
10. Tes Koneksi dengan melakukan PING, dengan membuka Run (CTRL + R) dan
masukan IP Address pada arduino yang telah kita definisikan pada program, yaitu
ketikan ping 192.168.1.177 . Jika berhasil, buka web browser seperti Google
Chrome atau Aplikasi Web Browser lainnya.
11. Masukan ke URL address , ketik IP Address 192.168.1.177

Gambar 15.6 Tampilan Web


PERTEMUAN XVI
KONTROL LAMPU LISTRIK AC DENGAN RELAY PADA ARDUINO
DENGAN POTENSIOMETER MENGGUNAKAN METODE PERCEPTRON

I. Tujuan
1. Mengerti dam memahami cara kerja Potensiomete
2. Membuat Kontrol Listrik AC dengan Relay dan Potensiometer dengan
menerapkan metode Perceptron

II. Teori Dasar


1. Potensiometer
Potensiometer adalah resistor tiga terminal dengan sambungan geser yang
membentuk pembagi tegangan dapat disetel. Jika hanya dua terminal yang
digunakan (salah satu terminal tetap dan terminal geser), potensiometer berperan
sebagai resistor variabel atau Rheostat. Potensiometer biasanya digunakan untuk
mengendalikan peranti elektronik seperti pengendali suara pada penguat.
Potensiometer yang dioperasikan oleh suatu mekanisme dapat digunakan sebagai
transduser, misalnya sebagai sensor joystick.Pada dasarnya bagian-bagian penting
dalam Komponen Potensiometer adalah :
1. Penyapu atau disebut juga dengan Wiper
2. Element Resistif
3. Terminal
Macam – macam Potensiometer:
1. Potensiometer Slider, yaitu Potensiometer yang nilai resistansinya dapat diatur
dengan cara menggeserkan Wiper-nya dari kiri ke kanan atau dari bawah ke atas
sesuai dengan pemasangannya. Biasanya menggunakan Ibu Jari untuk
menggeser wiper-nya.
2. Potensiometer Rotary, yaitu Potensiometer yang nilai resistansinya dapat
diatur dengan cara memutarkan Wiper-nya sepanjang lintasan yang melingkar.
Biasanya menggunakan Ibu Jari untuk memutar wiper tersebut. Oleh karena itu,
Potensiometer Rotary sering disebut juga dengan Thumbwheel Potentiometer.
3. Potensiometer Trimmer, yaitu Potensiometer yang bentuknya kecil dan harus
menggunakan alat khusus seperti Obeng (screwdriver) untuk memutarnya.
Potensiometer Trimmer ini biasanya dipasangkan di PCB dan jarang dilakukan
pengaturannya.
2. Perceptron
Metode perceptron adalah metode pembelajaran dengan pengawasan dalam
jaringan syaraf tiruan, sehingga jaringan yang dihasilkan harus mempunyai
parameter yang dapat diatur dengan cara mengubah melalui aturan pembelajaran
dengan pengawasan. Perceptron merupakan bentuk jaringan sederhana dan
digunakan untuk mengklasifikasikan pola tipe tertentu yang dikenal dengan
pemisahan secara linier. Penggunaan metoda perceptron untuk aplikasi pengenalan
pola digambarkan sebagai unsur matrik antara 0 dan 1. Layer pertama perceptron
menyatakan suatu kumpulan ”detektor tanda” sebagai isyarat input untuk
mengetahui tanda khusus. Layer kedua mengambil output dari tanda khusus dalam
layer pertama dan mengklasifikasikan pola data yang diberikan. Pembelajaran
dinyatakan dengan membuat aturan hubungan yang relevan (bobot wi) dengan
suatu nilai ambang (θ) atau treshold.

III. Alat-alat

Pc Lengkap

Arduino Uno

Relay

4 Buah Fitting
Lampu
4 Buah Steker Listrik

4 Buah Lampu Pijar

1 Protoboard

Kabel Jumper

1 Kabel Data USB

Kabel Listrik

Potensiometer

IV. Prosedur Percobaan


Percobaan 1 : Rangkaian Arduino dengan Potensiometer dan Relay

Gambar 17.1 Rangakain pada Arduino


1. Hubungkan pin IN1 Relay ke pin 2 arduino.
2. Hubungkan pin IN2 Relay ke pin 3 arduino.
3. Hubungkan pin IN3 Relay ke pin 4 arduino.
4. Hubungkan pin IN4 Relay ke pin 5 arduino.
5. Hubungkan pin VCC Relay ke pin 5V arduino.
6. Hubungkan pin GND Relay ke GND arduino.
7. Hubungkan kabel lampu ke socket 1 pada Relay
8. Hubungkan kabel steker ke socket 2 pada Relay
9. Hubungkan pin GND Potensiometer ke pin GND arduino
10. Hubungkan pin VCC Potensiometer ke pin 5V arduino
11. Hubungkan pin analog Potensiometer ke pin A0 arduino

Percobaan 2 : Membuat Program pada Arduino IDE


1. Tulis program dibawah dengan menggunakan program Arduino IDE, caranya
ketik pada file source codenya :
int r1 = 2; // select the input pin for the potentiometer
int r2 = 3;
int r3 = 4;
int r4 = 5;
int a,hasil,nilai_perceptron;
int w[3]={1,1,1};
int x[3],tamp[3];
int b=-1;
int sensorValue ; // variable to store the value coming from the sensor
int sensorPin=A0;
void setup() {
Serial.begin(9600);
// declare the ledPin as an OUTPUT:
pinMode(r1, OUTPUT);
pinMode(r2, OUTPUT);
pinMode(r3, OUTPUT);
pinMode(r4, OUTPUT);
}

void loop() {
// read the value from the sensor:
for(a=0;a<3;a++){
sensorValue = analogRead(sensorPin);
Serial.print("nilai sensor =");
Serial.print(sensorValue);
if(sensorValue>1&& sensorValue<=1023)
{
x[a]=1;
}
else
{
x[a]=0;
}
Serial.print(" = ");
Serial.println(x[a]);
delay(200);
}
for(a=0;a<3;a++){
tamp[a]=w[a]*x[a];
}
hasil=0;
for(a=0;a<3;a++){
hasil=tamp[a]+hasil;
}
hasil= hasil + b;
if(hasil>0)
{
nilai_perceptron=1;
}
else
{
nilai_perceptron=0;
}
delay(10);
if(nilai_perceptron==1){
if (sensorValue >=20 && sensorValue <= 255 )
{ digitalWrite(r1,HIGH);}
else if (sensorValue >300 && sensorValue <= 510 )
{ digitalWrite(r2,HIGH);}
else if (sensorValue >600 && sensorValue <= 765 )
{ digitalWrite(r3,HIGH);}
else if (sensorValue >800 && sensorValue <= 1023 )
{ digitalWrite(r4,HIGH);}
else if (sensorValue >765 && sensorValue <= 800 )
{ digitalWrite(r4,LOW);}
else if (sensorValue >510 && sensorValue <= 600 )
{ digitalWrite(r3,LOW);}
else if (sensorValue >255 && sensorValue <= 300 )
{ digitalWrite(r2,LOW);}
else if (sensorValue >1 && sensorValue <=20 )
{ digitalWrite(r1,LOW);}
}
else
{ digitalWrite(r1,LOW);
digitalWrite(r2,LOW);
digitalWrite(r3,LOW);
digitalWrite(r4,LOW);
}
delay(100);
}
2. Simpan program diatas dengan nama praktikum16, dengan lokasi folder C:\
praktikum\.
3. Compile program praktikum16.ino dengan menggunakan perintah verify pada
toolbar sampai tidak muncul pesan kesalahan error.
4. Upload program praktikum16.ino ke dalam arduino dengan menggunakan
perintah upload pada toolbar sampai selesai atau ada status done uploading.

Anda mungkin juga menyukai