Ujiketera 1684496769
Ujiketera 1684496769
1. NodeMCU
1. Pin Digital : Mengirim dan menerima sinyal digital
2. Pin Analog : Membaca sinyal analog ke digital
3. Pin GND : pin negatif
4. Pin 3V : untuk menyuplai power
5. Wifi : agar dapat terhubung dengan Wifi setempat
6. Tombol RST : untuk me-reset
7. Tombol Flash : untuk update program
8. Konektor Mikro USB : untuk menyimpan program
9. Koneksi dengan Arduino IDE : untuk menyalurkan program
1) Koneksi dengan Driver CH340 : untuk mengenalkan jalur usb perangkat nodemcu
2. Relay 4 Channel
a. Pin In1-In4 : sebagai jalur pin digital dan analog pada nodemcu
b. Pin GND : sebagai jalur GND juga pada nodemcu
c. Pin VCC : : sebagai jalur VCC pada nodemcu
d. Konektor Normally Closed : untuk memutus hubungan jalur listrik
e. Konektor Common : untuk menyambungkan normaly closed
f. Konektor Open : untuk menyalurkan listrik
g. Jumper VCC : untuk on off kan jalur vcc
h. Lampu Indikator : untuk mengehui keadaan on dan off relay
i. Koneksi dengan Bolam listrik : untuk menyalurkan ke bolam listrik
j. Koneksi dengan Power Listrik : untuk mendapatkan arus listrik
3. NodeMCUBase ESP8266
a. Untuk mendapatkan arus listrik yang normal kepada nodeMCU
b. harus mendapatkan 2 sampai 3 ampere
c. dapat tegangan sebesar maksimal 9 Volt ke nodeMCU.
d. dapat tegangan sebesar maksimal 5 Volt ke nodeMCU.
e. dapat tegangan sebesar maksimal 3 Volt ke nodeMCU.
4. Kabel Jumper
a. Untuk menyalurkan arus ke pin digital dari relay ke nodemcu
b. Untuk meenyalurkan arus ke pin GND dan VCC dari relay ke pin GND dan NCC pada
nodeMCU
c. Untuk menyalurkan arus digital dari relay ke pin digital dan analog pada nodemcu
d. Untuk menyalurkan arus GND ke pin digital dari relay ke nodemcu
e. Untuk menyalurkan arus voltage ke pin digital dari relay ke nodemcu
5. Kabel Mikro USB
a. Untuk upload program ke nodeMCU
b. Untuk jalur komunikasi antara laptop / pc dengan nodeMCU
c. Untuk mendapatkan sumber arus listrik dengan benar
d. Agar bisa digunakan untuk menguplaod / mengirim kode program
e. Driver belum diinstall dengan benar
6. Adaptor 12V
a. Pin Digital : Terhubungnya tegangan listrik pin digital pada nodemcu
b.
Pin Analog : Terhubungkan tegangan listrik pin analog pada nodemcu
c.
Pin GND : Terhubungnya tegangan listrik pin GND pada nodemcu
d.
Pin 3V : Terhubungnya tegangan listrik sebesar 3 volt pada pin 3V nodemcu
e.
Wifi : Terhubungnya tegangan listrik pada Wifi nodemcu
f.
Tombol RST : Terhubuingnya tegangan listrik pada tombol RST nodemcu
g.
Tombol Flash : Terhubungnya tegangan listrik pada tombol Flash nodemcu
h.
Konektor Mikro USB : Terhubungnya tegangan listrik pada jalur mikro usb nodemcu
i.
Koneksi dengan Arduino IDE : Terhubungnya tegangan listrik agar kode program bisa
tersimpan pada nodemcu
j. Koneksi dengan Driver CH340 : Terhubungnya tegangan listrik pada jalur kabel mikrpo
usb ke nodemcu
7. Install perangkat dan driver Menempatkan
http://arduino.esp8266.com/stable/package_esp8266com_index.jsonpada menu file -
preference
8. Install APK di Smarphone : (Lakukan screen shot hasil install file APK)
9. Upload Program di NodeMCU : (LAKUKAN PERUBAHAN SEBAGAI KREATIFITAS PADA PROGRAM DIBAWAH INI)
/****************************************
* KONTROL 4 LED
* www.lpkpembangunan.com
**************************************/
#include <ESP8266WiFi.h>
WiFiServer server(80);
//========================================
void setup() {
Serial.begin(9600);
delay(10);
pinMode(D1, OUTPUT);
pinMode(D2, OUTPUT);
pinMode(D3, OUTPUT);
pinMode(D4, OUTPUT);
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
delay(500);
Serial.print(".");
Serial.println("");
Serial.println("WiFi connected");
server.begin();
Serial.println("Server started");
// Print IP address
Serial.println(WiFi.localIP());
//=======================================
void loop() {
if (!client) {
return;
Serial.println("new client");
while(!client.available()){
delay(1);
}
String req = client.readStringUntil('\r');
Serial.println(req);
client.flush();
if (req.indexOf("/L1/1") != 1){
digitalWrite(D5,HIGH);
s += "LED 1 ON";
digitalWrite(D5,LOW);
s += "LED 1 OFF";
digitalWrite(D6,HIGH);
s += "LED 2 ON";
digitalWrite(D6,LOW);
s += "LED 2 OFF";
digitalWrite(D7,HIGH);
s += "LED 3 ON";
digitalWrite(D7,LOW);
s += "LED 3 OFF";
digitalWrite(D8,HIGH);
s += "LED 4 ON";
s += "LED 4 OFF";
else {
Serial.println("invalid request");
client.stop();
return;
client.flush();
s += "</html>\n";
client.print(s);
delay(1);
Serial.println("Client disonnected");
10. Uplload Progfam APK (kirim FILE .AIA DARI program app inventor)
11. Kirim Kode Program :
#include "FirebaseESP8266.h"
#include <ESP8266WiFi.h>
//2. Define FirebaseESP8266 data object for data sending and receiving
FirebaseData firebaseData;
int relay=D1;
int relay2=D2;
int relay3=D3, relay4=D4;
void setup()
{
Serial.begin(115200);
pinMode(relay,OUTPUT);
pinMode(relay2,OUTPUT);
pinMode(relay3,OUTPUT);
pinMode(relay4,OUTPUT);
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print("Connecting to Wi-Fi");
while (WiFi.status() != WL_CONNECTED)
{
Serial.print(".");
delay(300);
}
Serial.println();
Serial.print("Connected with IP: ");
Serial.println(WiFi.localIP());
Serial.println();
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
void loop()
{
satu();
dua();
tiga();
empat();
}
void dua(){
if(Firebase.get(firebaseData, "/Kontrol_Pertama/FB2"))
{
//Success
Serial.print("Get variant data success, type = ");
Serial.println(firebaseData.dataType());
if(firebaseData.dataType() == "string"){
Serial.print("data = ");
Serial.println(firebaseData.stringData());
if(firebaseData.stringData()=="1"){
Serial.println("Nyala");
digitalWrite(relay2,HIGH);
}
else{
Serial.println("mati");
digitalWrite(relay2,LOW);
}
}else if(firebaseData.dataType() == "bool"){
if(firebaseData.boolData())
Serial.println("data = true");
else
Serial.println("data = false");
}
}else{
//Failed?, get the error reason from firebaseData
if(Firebase.get(firebaseData, "/Kontrol_Pertama/FB4"))
{
//Success
Serial.print("Get variant data success, type = ");
Serial.println(firebaseData.dataType());
if(firebaseData.dataType() == "string"){
Serial.print("data = ");
Serial.println(firebaseData.stringData());
if(firebaseData.stringData()=="1"){
Serial.println("Nyala");
digitalWrite(relay4,HIGH);
}
else{
Serial.println("mati");
digitalWrite(relay4,LOW);
}
}else if(firebaseData.dataType() == "bool"){
if(firebaseData.boolData())
Serial.println("data = true");
else
Serial.println("data = false");
}
}else{
//Failed?, get the error reason from firebaseData
if(Firebase.get(firebaseData, "/Kontrol_Pertama/FB3"))
{
//Success
Serial.print("Get variant data success, type = ");
Serial.println(firebaseData.dataType());
if(firebaseData.dataType() == "string"){
Serial.print("data = ");
Serial.println(firebaseData.stringData());
if(firebaseData.stringData()=="1"){
Serial.println("Nyala");
digitalWrite(relay3,HIGH);
}
else{
Serial.println("mati");
digitalWrite(relay3,LOW);
}
}else if(firebaseData.dataType() == "bool"){
if(firebaseData.boolData())
Serial.println("data = true");
else
Serial.println("data = false");
}
}else{
//Failed?, get the error reason from firebaseData
if(Firebase.get(firebaseData, "/Kontrol_Pertama/FB1"))
{
//Success
Serial.print("Get variant data success, type = ");
Serial.println(firebaseData.dataType());
if(firebaseData.dataType() == "string"){
Serial.print("data = ");
Serial.println(firebaseData.stringData());
if(firebaseData.stringData()=="1"){
Serial.println("Nyala");
digitalWrite(relay,HIGH);
}
else{
Serial.println("mati");
digitalWrite(relay,LOW);
}
}
}else{
//Failed?, get the error reason from firebaseData
12. Kirim ulasan : <15 menit | => 15 menit | sesuai batas waktu | sebelum batas waktu