Anda di halaman 1dari 38

LAPORAN PKL ONLINE PPTIK-ITB

PROGRAM KEAHLIAN TEKNIK AUDIO VIDEO


SMK NURUL ISLAM LARANGAN – BREBES

“PERAKITAN
SOIL MOISTURE & POMPA”

Disusun Oleh:
KELOMPOK 10
1. Nella nur fitriyani
2. Novi Diana putri
3. Novianti
4. Nurlela
5. Okta tri ferdiansyah putra
6. Putri rizkiah

YAYASAN PENDIDIKAN NURUL ISLAM SLATRI


SEKOLAH MENENGAH KEJURUAN NURUL ISLAM LARANGAN
Alamat: Jl. Raya Jend. A. Yani No. 03 Slatri Larangan Brebes 52262
Telp. (0283) 6183363 Fax. (0283) 6183394
LEMBAR PENGESAHAN
LAPORAN PRAKTIK KERJA INDUSTRI
DI SMK NURUL ISLAM LARANGAN

Waktu pelaksanaan
01 September 2020 s/d 1 Desember 2020
Disusun oleh : kelompok 10

NO NAMA NIS NIS


1 Nella nur fitriyani XI TAV 2 8628
2 Novi Diana putri XI TAV 2 8629
3 Novianti XI TAV 2 8630
4 Nurlela XI TAV 2 8631
5 Okta tri ferdiansyah putra XI TAV 2 8632
6 Putri rizkiah XI TAV 2 8633

Laporan ini telah di periksa dan disahkan oleh :

Pembimbing Prakerin Guru Pembimbing

Djoko Sunarto, ST Tyas Andrean Wijaya, ST

Mengetahui,
Kepala Sekolah

Ir. Ayub Sjahtiyani


NIP :
BAB I

1. JUDUL PRAKTIKUM
MEMPELAJARI DAN MENYIAPKAN RANGKAIAN SOIL MOISTURE

2. TUJUAN
1. memahami Jenis mikrokontroler yang nanti akan digunakan
2. memahami jenis Sensor Soil moisture dan Amplifier electronik
3. memahami Cara kerja Sensor Soil moisture
4. mengerti tentang Soil Moisture Smart Watering System

3. ALAT DAN BAHAN


1. Buku Materi panduan dari PPTIK ITB
2. Smartphone Android
3. Aplikasi Editing Vidio

4. DASAR TEORI
- Soil Moisture Sensor merupakan module untuk mendeteksi kelembaban tanah, yang dapat
diakses menggunakan microcontroller seperti arduino, NodeMCU ESP8266.
Sensor kelembaban tanah ini dapat dimanfaatkan pada sistem pertanian, perkebunan,
maupun sistem hidroponik mnggunakan hidroton.
- Soil Moisture Sensor dapat digunakan untuk sistem penyiraman otomatis atau untuk
memantau kelembaban tanah tanaman secara offline maupun online.
- Sensor yang dijual pasaran mempunyai 2 module dalam paket penjualannya, yaitu sensor
untuk deteksi kelembaban, dan module elektroniknya sebagai amplifier sinyal

- Sensor ini mempunyai potensiometer yang digunakan untuk penyesuaian sensitivitas


output digital (D0).
- Selain itu terdapat output Analog atau tegangan analog jika ingin mengkonversi output
tersebut menjadi data menggunakan ADC

Pada saat diberikan catudaya dan disensingkan pada tanah, maka nilai Output Analog akan
berubah sesuai dengan kondisi kadar air dalam tanah.

Pada saat kondisi tanah :

· Basah : tegangan output akan turun


· Kering : tegangan output akan naik

Tegangan tersebut dapat dicek menggunakan voltmeter DC.

Dengan pembacaan pada pin ADC pada microcontroller dengan tingkat ketelitian 10 bit, maka
akan terbaca nilai dari range 0 – 1024.

Sedangkan untuk Output Digital dapat diliat pada nyala led Digital output menyala atau tidak
dengan mensetting nilai ambang pada potensiometer.

· Kelembaban tanah melebihi dari nilai ambang maka led akan padam
· Kelembaban tanah kurang dari nilai ambang maka led akan menyala
5. GAMBAR SKEMA

6. HASIL KERJA
Link Vidio Hasil Kerja
https://drive.google.com/file/d/1Pxr3VDMNPavd3-qA9Ot5j36K91ynFZA6/view?
usp=drivesdk

BAB II
1. JUDUL PRAKTIKUM

MENDESAIN LAYOUT DAN MEMBUAT PCB SOIL MOISTURE

2. TUJUAN
1. dapat mendesain Layout Pcb Soil moisture dengan sofwere EasyEDA
2. Memahami proses pelarutan pcb dengan ferid clorida
3. Memahami Cara kerja Mesin bor duduk untuk melubangi pcb
3. ALAT DAN BAHAN
1. Laptop / Komputer yang sudah terinstal sofwere EasyEDA
2. printer inkjet laserjet 
3. Mesin Laminating
4. 2 Baki yang berisi air dan loution dan Kertas desain layout pcb
5. PCB polos Ukuran 4 x 8 cm
6. Ferid Clorida dan Amplas
7. Mesin Bor duduk
4. DASAR TEORI
EasyEDA adalah rangkaian alat EDA berbasis web yang memungkinkan insinyur perangkat
keras untuk merancang, mensimulasikan, berbagi - secara publik dan pribadi - dan
membahas skema, simulasi, dan papan sirkuit cetak. Fitur lain termasuk pembuatan Bill of
Material, Gerber dan memilih dan menempatkan file dan output dokumenter dalam format
PDF, PNG dan SVG.
EasyEDA memungkinkan pembuatan dan pengeditan diagram skematik, simulasi SPICE
dari sirkuit analog dan digital campuran dan pembuatan dan pengeditan tata letak papan
sirkuit tercetak dan, opsional, pembuatan papan sirkuit tercetak.
 Ferid clorida, adalah suatu senyawa kimia yang merupakan komoditas skala
industri,dengan rumus kimia FeCl3. Larutan ini juga digunakan sebagai pengetsa untuk
logam berbasis-tembaga pada papan sirkuit cetak (PCB).

5. Langkah Kerja Pembuatan PCB Soil Moisture


a. Buka sofwere EasyEDA lalu mulai membuat skematik dan layout sesuai komponen yang
akan digunakan.
b. Setelah desain Layout sudah dibuat, Cetak dengan printer inkjet laserjet
c. Siapkan 2 baki berisi air bersih dan yang dicampur lotion, celupkan Kertas pcb layout ke
Baki yang berisi air lotion dan tempelkan ke pcb polos.
d. Lalu Panaskan ke Mesin laminating dengan temperature 150 o , masukan PCB ke mesin
laminating tersebut Hingga Tinta kertas Layout menempel ke papan PCB Polos dan celupkan
papan pcb ke air bersih untuk membersihkan sisa kertas yang menempel.
e. Siapkan air panas secukupnya lalu tuangkan ke baki, campurkan air panas dengan Ferid
Clorida dan masukan Pcb yang ada layoutnya ke baki tersebut sambil menunggu tembaganya
mengkikis ( Proses Eatsing ).
f. Setelah tembaga mengkikis lalu angkat pcb dan di cuci air bersih,
g. Kemudian Bor setiap lubang desain PCB layout tersebut dan di Amplas.
6. GAMBAR SKEMA

7. HASIL KERJA
Link Vidio Hasil Kerja
https://drive.google.com/file/d/1c6AatWMDhEnMElx0THKkF8nVErH4eQpg/view?
usp=drivesdk

BAB III
1. JUDUL PRAKTIKUM

PERAKITAN RANGKAIAN SOIL MOISTURE DAN MENGCODINGNYA

2. TUJUAN

1. memahami mikrokontroler wemos D1 mini dan sensor soilmoisture


2. memahami Teknik menyolder dengan solder temperatur
3. memahami cara merakit rangkaian Soil moisture sesuai boks yang digunakan.
4. memahami cara mengupload program dan melihat serial monitor
3. ALAT
1. Solder Temperatur
2. Timah 
3. Tang Lancip
4. Obeng ( + )

BAHAN

1. PCB Layout 7. 8 Pin Header Female sejumlah 2 buah


2. Wemos D1 Mini 8. 4 Pin Header Female
3. Amlifier Electronik 9. 2 Pin Header Female
4. Sensor Soil Moisture 10. 2 Pin Header Male
5. Kabel Jumper 11. 4 Spacer + Mur + Baud
6. Kabel USB 12. Boks Plastik

4. DASAR TEORI
Dunia IT khususnya dalam bidang IOT (Internet of Things) atau yang biasa dikenal dalam
istilah embedded system sudah semakin pesat. Teknologi ini merupakan suatu bentuk kerja
sama antara sistem dengan sistem, untuk membantu pekerjaan manusia di zaman yang
semakin canggih ini. Dan salah satu contoh dari pengembangan IOT adalah Wemos D1
mini. Wemos D1 mini merupakan board wifi mini berbasis ESP266 yang dikenal ekonomis
dan handal
5. Langkah Kerja Perakitan Soil Moisture
a. Pasang 8 Pin Header female sejumlah 2 buah ke pcb
b. Pasang 4 Pin Header female sejumlah 1 buah ke pcb
c. Pasang 2 Pin Header female sejumlah 1 buah ke pcb
d. Pasang 2 Pin Header male sejumlah 1 buah ke pcb
e. Kemudian solder Pin female dan male header yang sudah terpasang
f. Pasang baud dan Spicer pada penutup boks lalu kencangkan menggunakan obeng (+).
g. Pasangkan PCB pada penutup Boks yang sudah ada spicernya
h. Pasangkan mur untuk mengencangkan pcb pada spicer dengan penutup boks kemudian
kencangkan menggunakan tang lancip.
i. Setelah PCB terpasang pada penutup boks kemudian pasang wemos D1 mini dan module
Amplifier Electronik pada PCB
j. Tancapkan Sensor soil moisture pada kabel jumper female
k. Lalu tancapkan kabel jumper female ke pin male header
l. Hubungkan kabel USB ke Wemos D1 Mini dan Ke PC / Komputer
m. Buka file Coding soil Moisture
n. Klik Tools pilih Port Com 9
o. klik tools pilih Board pilih ESP8266 pilih NodeMCU10.( Esp-12Emodule)
p. Klik Veryvy ( Tunggu sampai selesai Loading )
q. Klik Upload ( Tunggu sampai selesai Done Compling )
r. Klik tools pilih serial Monitor dan Tekan Tombol Reset pada Wemos
s. Amati kolom pada serial monitor tersebut.
6. GAMBAR SKEMA
7. Coding / Program Soil Moisture yang akan digunakan
/*
* PLEASE DONT DELETE AND EDIT
* Develop by : Nurman Hariyanto
* Email : nurman.hariyanto13@gmail.com
* Project : PKL-ONLINE Soil Moisture
* Version : 1.0
* Description : This code for get data from soil moisture and send data soil to MQTT/RMQ
* Microcontroller : Wemos Mini ESP8266
* NodeMCU ESP8266
* Device : Soil Moisture Sensor Module
*/

/*
* YOU CAN EDIT NOW
*/

/*
* Include library
*/
#include <PubSubClient.h>
#include <ESP8266WiFi.h>
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/*
* Connection parameter
* -Wifi -> internet connection foor data communication
* -RabbitMQ/MQTT -> protoocol data communication
*/
const char* wifiSsid = "PKL ONLINE";
const char* wifiPassword = "soilmoisture";
const char* mqttHost = "rmq2.pptik.id";
const char* mqttUserName = "/smknurulislamlaranganbrebes:smknurulislamlaranganbrebes";
const char* mqttPassword = "qwerty";
//const char* mqttClient = "IOT-Water-Pumpp";
const char* mqttQueueLog = "Log";
const char* mqttQueueAktuator = "Aktuator";
const char* mqttQueueSensor = "Sensor";
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/*7
* Device parameter
* -Guid -> Id Device (unique) you can generate from here (https://www.uuidgenerator.net/version1)
* -status device -> save last state from the pump is on or off (1 = on , 0 = off)
* -pin microcontroller
* -mac device
*
*/
String deviceGuid = "Sensor Kelompok 10 TAV NURIS"; //You can change this guid with your guid
int devicePin = A0;

/*
* Wifi setup WiFi client and mac address
*/
WiFiClient espClient;
PubSubClient client(espClient);
byte mac[6]; //array temp mac address
String MACAddress;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/*
* Set up WiFi connection
*/
void setup_wifi(){
delay(10);
//We start by connecting to a WiFi network
Serial.println();
Serial.print("Connecting to :");
Serial.println(wifiSsid);
WiFi.begin(wifiSsid, wifiPassword);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/*
* Function for Get Mac Address from microcontroller
*/
String mac2String(byte ar[]) {
String s;
for (byte i = 0; i < 6; ++i)
{
char buf[3];
sprintf(buf, "%2X", ar[i]);
s += buf;
if (i < 5) s += ':';
}
return s;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/*
* Function for Print Mac Address
*/
void printMACAddress() {
WiFi.macAddress(mac);
MACAddress = mac2String(mac);
Serial.println(MACAddress);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/*
* Function for Get message payload from MQTT rabbit mq
*/
void callback(char* topic, byte* payload, unsigned int length){
char message[5]; //variable for temp payload message
Serial.print("Message arrived in topic: ");
Serial.println(topic);
Serial.print("Messagge :");
for(int i = 0;i < length;i++){
Serial.print((char)payload[i]);
message[i] = (char)payload[i]; //initiate value from payload to message variable

}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/*
* Function for Reconnecting to MQTT/RabbitMQ
*/
void reconnect() {
// Loop until we're reconnected
printMACAddress();
const char* CL;
CL = MACAddress.c_str();
Serial.println(CL);
while (!client.connected()) {
Serial.print("Attempting MQTT connection...");
// Attempt to connect
if (client.connect(CL, mqttUserName, mqttPassword)) {
Serial.println("connected");
} else {
Serial.print("failed, rc=");
Serial.print(client.state());
Serial.println(" try again in 5 seconds");
ESP.restart();
delay(5000);

}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/*
* Function for Setup Pin Mode,wifi,mqtt,and serial
*/
void setup()
{
pinMode(devicePin, INPUT);
Serial.begin(115200);
setup_wifi();
printMACAddress();
client.setServer(mqttHost, 1883);
client.setCallback(callback);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/*
* This functioon for loop your program
*/
void loop() {
//if you disconnected from wifi and mqttu
if (!client.connected()) {
reconnect();
}

const int valueSoil = analogRead(devicePin);


const int dataSoil = valueSoil;
//Data to Mobile
String dataSoilMobile= String(deviceGuid + "#" + dataSoil);
char dataToMobile[50];
dataSoilMobile.toCharArray(dataToMobile, sizeof(dataToMobile));
client.publish(mqttQueueLog,dataToMobile);

//Data to Pump water


String dataSoilPump = String(dataSoil);
char dataToPump[5];
dataSoilPump.toCharArray(dataToPump, sizeof(dataToPump));
client.publish(mqttQueueSensor,dataToPump);

client.loop();
delay(10000);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

8. HASIL KERJA
Link Vidio Hasil Kerja
https://drive.google.com/file/d/1bdWIplgaOSmybLF_kRAm4lt8oP2F3hWC/view?usp=drivesdk
BAB IV

1. JUDUL PRAKTIKUM

DESAIN LAYOUT DAN MEMBUAT PCB WATERPUMP

2. TUJUAN

1. memahami cara mendesain skematik dan layout waterpump dengan sofwere EasyEDA
2. mengerti tentang mikrokontroler NodeMCU ESP8266
3. memahami Cara proses Eatsing ( Pengkikisan tembaga ) pada PCB
4. memahami cara kerja mesin bor yang akan digunakan
5. memahami komponen apa saja yang akan dibutuhkan
3. ALAT dan BAHAN
1. Laptop / Komputer yang sudah terinstal sofwere EasyEDA
2. printer inkjet laserjet 
3. Mesin Laminating
4. 2 Baki yang berisi air dan loution dan Kertas desain layout pcb
5. PCB polos Ukuran 65 x 95 mm
6. Ferid Clorida dan Amplas
7. Mesin Bor duduk

4. DASAR TEORI
NodeMCU ESP8266  merupakan modul turunan pengembangan dari modul platform IoT

(Internet of Things) keluarga ESP8266 tipe ESP-12.

Secara fungsi modul ini hampir menyerupai dengan platform modul arduino, tetapi yang

membedakan yaitu dikhususkan untuk “Connected to Internet“.


Gambar versi NodeMCU ESP8266

Relay adalah Saklar (Switch) yang dioperasikan secara listrik dan merupakan komponen

Electromechanical (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

(low power) dapat menghantarkan listrik yang bertegangan lebih tinggi.

Kontak Poin (Contact Point) Relay terdiri dari 2 jenis yaitu :

 Normally Close (NC) yaitu kondisi awal sebelum diaktifkan akan selalu berada di posisi

CLOSE (tertutup)

 Normally Open (NO) yaitu kondisi awal sebelum diaktifkan akan selalu berada di posisi

OPEN (terbuka)

5. Langkah Kerja Desain dan Pembuatan PCB Waterpump


Langkah-langkah mendesain dan membuat pcb pompa soil moisture

1. Buka softwere easyEDA pada Laptop / komputer


2. klik New project Ketik Nama Project Klik Save akan tampil lembar kerja Skematik
3. Klik library dan Klik cari Nodemcu dan Klik Place akan Muncul Nodemcu
4. sesuaikan agar posisi penempatan gambar komponen sesuai letak skematik
5. Klik library dan Klik cari Relay dan Klik Place akan Muncul Relay
6. sesuaikan agar posisi penempatan gambar komponen sesuai letak skematik
7. klik library,cari konektor DC nanti akan muncul konector DC
8. sesuaikan agar posisi penempatan gambar komponen sesuai letak skematik
9. Buat jalur Skematiknya tiap tiap komponen
10. Klik Design pilih Convert PCB tunggu sampai keluar lembar kerja
11. Atur posisi ukuran PCB Panjang dan lebarnya 95 × 65 mm
12. klik Komponen dan di Drag,sesuaikan dulu letak komponennya
13. Klik 3D untuk melihat dimensinya
Langkah-langkah membuat pcb pompa soil moisture
1. Setelah desain Layout sudah dibuat, Cetak dengan printer inkjet laserjet
2. Siapkan 2 baki berisi air bersih dan yang dicampur lotion, celupkan Kertas pcb layout ke
Baki yang berisi air lotion dan tempelkan ke pcb polos.
3. Lalu Panaskan ke Mesin laminating dengan temperature 150 o , masukan PCB ke mesin
laminating tersebut Hingga Tinta kertas Layout menempel ke papan PCB Polos dan celupkan
papan pcb ke air bersih untuk membersihkan sisa kertas yang menempel.
4. Siapkan air panas secukupnya lalu tuangkan ke baki, campurkan air panas dengan Ferid
Clorida dan masukan Pcb yang ada layoutnya ke baki tersebut sambil menunggu tembaganya
mengkikis ( Proses Eatsing ) dengan mengoyangkan Baki selama 15 menit.
5. Setelah tembaga mengkikis lalu angkat pcb dan di cuci air bersih,
6. Kemudian proses Bor setiap lubang desain PCB layout tersebut dan di Amplas.
6. GAMBAR SKEMA
7. HASIL KERJA
Link Vidio Hasil Kerja
https://drive.google.com/file/d/1LNmw8a1BfNuOcq5dVM0OXc2ZeSdFSFmF/view
BAB V

1. JUDUL PRAKTIKUM

MERAKIT RANGKAIAN WATERPUMP SMART SYSTEM DAN MENGCODINGNYA

2. TUJUAN

1. Memahami alat dan bahan yang digunakan untuk merakit rangkaian WATERPUMP
2. Dapat Merakit Rangkaian Water Pump
3. Mengerti cara memilih Port dan board sesuai mikrokontroler yang digunakan.
4. Mengerti tentang cara Upload program ke mikrokontroler NodeMCU
5. Memahami cara melihat serial monitor pada sofwere arduino IDE
3. ALAT
1. Solder Temperatur
2. Timah 
3. Obeng ( + )
4. Tang Lancip

BAHAN

1. PCB Layout Waterpump


2. NodeMCU
3. Relay
4. 15 Pin female Header sejumlah 2 buah
5. 3 Pin Female Header sejumlah 2 buah
6. Konektor Dc 2 buah
7. 4 mur dan baud
8. Boks Plastik
9. Pompa Galon yang sudah di modifikasi
10. Kabel USB dan Charger
1. DASAR TEORI
NodeMCU ESP8266  merupakan modul turunan pengembangan dari modul platform IoT
(Internet of Things) keluarga ESP8266 tipe ESP-12.
Secara fungsi modul ini hampir menyerupai dengan platform modul arduino, tetapi yang
membedakan yaitu dikhususkan untuk “Connected to Internet“.

Gambar versi NodeMCU ESP8266


Relay adalah Saklar (Switch) yang dioperasikan secara listrik dan merupakan komponen
Electromechanical (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
(low power) dapat menghantarkan listrik yang bertegangan lebih tinggi.

Kontak Poin (Contact Point) Relay terdiri dari 2 jenis yaitu :

1. Normally Close (NC) yaitu kondisi awal sebelum diaktifkan akan selalu berada di posisi
CLOSE (tertutup)
2. Normally Open (NO) yaitu kondisi awal sebelum diaktifkan akan selalu berada di posisi
OPEN (terbuka)

2. Langkah Kerja Perakitan WaterPump


a. Langkah-langkah merakit rangkaian Waterpump
1. Pasang 15 pin fimel header sejumlah 2 buah
2. Pasang 3 pin fimel header sejumlah 2 buah
3. Pasang konektor DC sejumlah 2 buah
4. Solder semua komponen yang terpasang pada PCB
5. Pasang Node Mcu pada pcb
6. Pasang Relay pada PCB
7. Pasang PCB pada Bok dengan menggunakan baud
8. Kencangkan baud dengan menggunakan tang lancip
b. Langkah-langkah memasukan Program ke Rangkaian Waterpump
1. Colokan USB ke Komputer / Laptop
2. Klik Buka File Program / coding Waterpump
3. Klik menu tools pilih port com yang digunakan
4. Klik Tools pilih board "Node MCU 1.0 (ESP-12E Module )
5. Blok nama WiFi PKL online
6. Blok pasword WiFi soil moisture
7. Blok username SMK Nurul Islam larangan Brebes
8. Blok pasword Qwerty
9. Blok nama kelompok 12 Tav nuris
10. Klik Veryvy (untuk mengecek program tersebut ada kesalahan atau tidak pada program
tersebut)
11. setelah program sudah di cek dan benar maka lalu klik upload program dan tunggu sampai
program masuk 100% dan terdapat tulisan done uploading
12. Setelah program sudah masuk klik tools pilih serial monitor
13. klik tombol reset pada node MCU maka akan muncul tulisan di serial monitor

3. Program / Coding Rangkaian Waterpump yang akan digunakan


/*
* PLEASE DONT DELETE AND EDIT
* Develop by : Nurman Hariyanto
* Email : nurman.hariyanto13@gmail.com
* Project : PKL-ONLINE Relay Water Pump
* Version : 1.0
* Description : This code trigger water pump turn on/off from message payload rabbitmq
* Microcontroller : Wemos Mini ESP8266
* NodeMCU ESP8266
* Device : Relay Module 1 Channel
* Water pump A3 waterproof
*/

/*
* YOU CAN EDIT NOW
*/
/*
* Include library
*/

#include <PubSubClient.h>
#include <ESP8266WiFi.h>
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/*
* Connection parameter
* -Wifi -> internet connection foor data communication
* -RabbitMQ/MQTT -> protoocol data communication
*/
const char* wifiSsid = "PKL ONLINE";
const char* wifiPassword = "soilmoisture";
const char* mqttHost = "rmq2.pptik.id";
const char* mqttUserName = "/smknurulislamlaranganbrebes:smknurulislamlaranganbrebes";
const char* mqttPassword = "qwerty";
//const char* mqttClient = "IOT-Water-Pumpp";
const char* mqttQueueLog = "Log";
const char* mqttQueueAktuator = "Aktuator";
const char* mqttQueueSensor = "Sensor";
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/*7
* Device parameter
* -Guid -> Id Device (unique) you can generate from here (https://www.uuidgenerator.net/version1)
* -status device -> save last state from the pump is on or off (1 = on , 0 = off)
* -pin microcontroller
* -mac device
*
*/
String deviceGuid = "Aktuator Kelompok 10 TAV NURIS"; //You can change this guid with your
guid
int devicePin = D1;

/*
* Wifi setup WiFi client and mac address
*/
WiFiClient espClient;
PubSubClient client(espClient);
byte mac[6]; //array temp mac address
String MACAddress;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/*
* Set up WiFi connection
*/
void setup_wifi(){
delay(10);
//We start by connecting to a WiFi network
Serial.println();
Serial.print("Connecting to :");
Serial.println(wifiSsid);
WiFi.begin(wifiSsid, wifiPassword);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/*
* Function for Get Mac Address from microcontroller
*/

String mac2String(byte ar[]) {


String s;
for (byte i = 0; i < 6; ++i)
{
char buf[3];
sprintf(buf, "%2X", ar[i]);
s += buf;
if (i < 5) s += ':';
}
return s;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/*
* Function for Print Mac Address
*/
void printMACAddress() {
WiFi.macAddress(mac);
MACAddress = mac2String(mac);
Serial.println(MACAddress);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/*
* Function for Get message payload from MQTT rabbit mq
*/
void callback(char* topic, byte* payload, unsigned int length){
char message[5]; //variable for temp payload message
Serial.print("Message arrived in topic: ");
Serial.println(topic);
Serial.print("Messagge :");
for(int i = 0;i < length;i++){
Serial.print((char)payload[i]);
message[i] = (char)payload[i]; //initiate value from payload to message variable

}
Serial.println();
Serial.println("-------------------------------");

String dataSoil = String(message); //convert message to string from char*


int triggerData = dataSoil.toInt(); //convert datasoil to int for trigger pump water relay

/*
* Status pump water
* Condition -> you must convert string to char because format publish must with char type format
*/

String pumpOff = String(deviceGuid + "#" + "0");


char statusPumpOff [50];
pumpOff.toCharArray(statusPumpOff, sizeof(statusPumpOff));
String pumpOn = String(deviceGuid + "#" + "1");
char statusPumpOn [50];
pumpOn.toCharArray(statusPumpOn, sizeof(statusPumpOn));

/*SOIL MOISTURE PARAMETER


* DRY / KERING >700
* WET / LEMBAB <350
* NORMAL >350 AND <700
* This condition will trigger pump water relay is on or off and send status to MQTT
*/
if (triggerData > 700){
client.publish(mqttQueueAktuator,statusPumpOn ); //format publish ( char,char)
digitalWrite(devicePin,LOW);
delay(5000);
client.publish(mqttQueueAktuator,statusPumpOff);
digitalWrite(devicePin,HIGH);
Serial.println(pumpOff);
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/*
* Function for Reconnecting to MQTT/RabbitMQ
*/
void reconnect() {
// Loop until we're reconnected
printMACAddress();
const char* CL;
CL = MACAddress.c_str();
Serial.println(CL);
while (!client.connected()) {
Serial.print("Attempting MQTT connection...");
// Attempt to connect
if (client.connect(CL, mqttUserName, mqttPassword)) {
Serial.println("connected");
client.subscribe(mqttQueueSensor);
} else {
Serial.print("failed, rc=");
Serial.print(client.state());
Serial.println(" try again in 5 seconds");
ESP.restart();
delay(5000);

}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/*
* Function for Setup Pin Mode,wifi,mqtt,and serial
*/
void setup()
{
pinMode(devicePin, OUTPUT);

digitalWrite(devicePin, HIGH);

//pinMode(input, INPUT);
Serial.begin(115200);
setup_wifi();
printMACAddress();
client.setServer(mqttHost, 1883);
client.setCallback(callback);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/*
* This functioon for loop your program
*/
void loop() {
//if you disconnected from wifi and mqtt
if (!client.connected()) {
reconnect();
}
client.loop();
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
4. HASIL KERJA
Link Vidio Hasil Kerja
https://drive.google.com/file/d/1bvFUGLrIz2BxnH-0KamdXbHjSiXXHsr6/view
BAB VI
1. JUDUL PRAKTIKUM

Instal Aplikasi Soil Moisture dan Pompa Waterpump dan Menghubungkan dengan
RabbitMQ

2. TUJUAN

1. Memahami alat dan bahan yang digunakan untuk merakit rangkaian WATERPUMP
2. Dapat Merakit Rangkaian Water Pump
3. Mengerti cara memilih Port dan board sesuai mikrokontroler yang digunakan.
4. Mengerti tentang cara Upload program ke mikrokontroler NodeMCU
5. Memahami cara melihat serial monitor pada sofwere arduino IDE
a. Alat dan Bahan
1. Laptop
2. Handphone
3. Aplikasi Rabbit MQ
3. Langkah kerja

1. Buka browser
2. Masukan alamat rmq.pptik.id.15672
3. Isi unser name dan password yang sudah diberika oleh pptik
4. Kemudian klik login
5. Kemudia klik firtual house (pilih SMK Nurul Islam Larangan )
6. Klik menu queues
7. Klik add new queue
8. Kemudian tulis dikolom name dengan dituliskan SENSOR
9. Klik add queue
10. Tambahkan kembali name-nya dengan dituliskan AQUATOR
11. Kemudian klik add new
12. Tambahkan lagi name-nya dengan dituliskan LOG
13. Klik add new
14. Klik name queue aquator
15. Kemudian klik bindings
16. Tulis dikolom from exchange dengan amq.topic
17. Dan dikolom routhing key dengan akuator
18. Kemudian klik bind
19. Pilih name quelog
20. Tulis dikolom from exchange dengan amq.topic
21. Dan dikolom routhung key dengan log
22. Kemudian klik bind
23. Pilih lagi name queue SENSOR
24. Kemudian tulis dikolom from exchange dengan menuliskan amq.topic
25. Dan dikolom routhing key dengan SENSOR
26. Kemudian klik bind
 Untuk melihat data sensor soil moisture yang terhubung dengan WEB RMQ
 Untuk melihat nod atau data yang sudah aktif kita buka menu OVERVIEW.
4. HASIL KERJA
https://drive.google.com/file/d/18a6eqi0WEW9ORiN6vYqHysK5vkamMro9/view?
usp=drivesdk
BAB Vll

1.JUDUL PRAKTIKUM
MENDEMONSTRASIKAN RANGKAIAN SOIL MOISTURE DAN RANGKAIAN WATER PUMP

2.TUJUAN

3.ALAT DAN BAHAN

1.Pompa air galon yang sudah dimodifikasi

2.Rangkaian Soil moisture

3.rangkaian water pump

4.Kabel adaptor

5.Air

6.Tanaman

7.Tanah

8.Nampan

9.Aplikasi soil moisture dan water pump

4.LANGKAH-LANGKAH KERJA

1.Hubungkan kabel adaptor ke rangkaian soil moisture

2.Hubungkan kabel adaptor ke rangkaian water pump

3.Hubungkan rangkaian soil moisture dan water pump dengan aplikasi soil moisture

4.Hubungkan kabel pompa air ke rangkaian water pump

5.Sensingkan sensor soil moisture ke tanah

6.Kemudian tunggu beberapa saat sampai terhubung ke Web RMQ

7.Setelah terhubung maka pompa akan mengalirkan air.Apabila tanah dalam keadaan kering maka
pompa akan mengalirkan air secara otomatis,dan apabila tanah dalam keadaan basah pompa akan mati
secara otomatis.

5. HASIL KERJA

Link video hasil kerja

https://drive.google.com/file/d/1Q2nGHaaj7x8alw7HeOxWbCJhBOGhoB8t/view?
usp=drivesdk
KESIMPULAN

Setelah melakukan kegiatan pkl online ini, Saya mendapatkan banyak pengalaman dan ilmu baru
yang tidak diajarkan di sekolah. Pada intinya, kegiatan pkl online ini sangat berguna untuk
mengembangkan apa yang sudah diajarkan di sekolah.

Pkl online bisa dikatakan sebagai pelengkap serta proses pematangan agar siap ketika sudah
berkecimpung di dunia kerja. Kami sadar dalam melakukan pkl online ini masih banyak
kekurangan. Namun Kami telah berusaha melaksanakanya semaksimal mungkin.

Kami juga merasa adanya kesulitan ketika pkl online karena kurangnya interaksi dengan
teman maupun pihak sekolah karena adanya covid-19.

Anda mungkin juga menyukai