Daftar Isi:
=========================================================================================
=========================================================================================
1. Pembuatan Kontrol ON/OFF dengan Switch dan Messenger untuk 2x8 buah Relay
Thing: Kontrol1
Nama
Variable |
Tipe
Variable |
Ijin
Akses (Permission) |
Update
Policy |
a |
bool
(Basic | Boolean) |
Read & Write |
On Change |
b |
bool (Basic | Boolean) |
Read & Write |
On Change |
c |
bool
(Basic | Boolean) |
Read & Write |
On Change |
d |
bool (Basic | Boolean) |
Read & Write |
On Change |
out1 |
String
(Basic | Character String) |
Read & Write |
On Change |
Thing: Kontrol2
Nama
Variable |
Tipe
Variable |
Ijin
Akses (Permission) |
Update
Policy |
e |
bool
(Basic | Boolean) |
Read & Write |
On Change |
f |
bool (Basic | Boolean) |
Read & Write |
On Change |
g |
bool
(Basic | Boolean) |
Read & Write |
On Change |
h |
bool (Basic | Boolean) |
Read & Write |
On Change |
out2 |
String
(Basic | Character String) |
Read & Write |
On Change |
- #include "arduino_secrets.h"
- #include "thingProperties.h"
- void setup() {
- pinMode(D1, OUTPUT);
- pinMode(D2, OUTPUT);
- pinMode(D3, OUTPUT);
- pinMode(D4, OUTPUT);
- pinMode(D5, OUTPUT);
- pinMode(D6, OUTPUT);
- pinMode(D7, OUTPUT);
- pinMode(D8, OUTPUT);
- digitalWrite(D1, HIGH);
- digitalWrite(D2, HIGH);
- digitalWrite(D3, HIGH);
- digitalWrite(D4, HIGH);
- digitalWrite(D5, HIGH);
- digitalWrite(D6, HIGH);
- digitalWrite(D7, HIGH);
- digitalWrite(D8, HIGH);
- Serial.begin(9600);
- delay(1500);
- initProperties();
- ArduinoCloud.begin(ArduinoIoTPreferredConnection);
- setDebugMessageLevel(2);
- ArduinoCloud.printDebugInfo();
- }
- void loop() {
- ArduinoCloud.update();
- }
- void onOut1Change() {
- if (out1 == "A1" || out1 == "a1" || out1 == "V" || out1 == "v") {
- digitalWrite(D1, LOW);
- a = true;
- }
- if (out1 == "A0" || out1 == "a0" || out1 == "X" || out1 == "x") {
- digitalWrite(D1, HIGH);
- a = false;
- }
- if (out1 == "B1" || out1 == "b1" || out1 == "V" || out1 == "v") {
- digitalWrite(D2, LOW);
- b = true;
- }
- if (out1 == "B0" || out1 == "b0" || out1 == "X" || out1 == "x") {
- digitalWrite(D2, HIGH);
- b = false;
- }
- if (out1 == "C1" || out1 == "c1" || out1 == "V" || out1 == "v") {
- digitalWrite(D3, LOW);
- c = true;
- }
- if (out1 == "C0" || out1 == "c0" || out1 == "X" || out1 == "x") {
- digitalWrite(D3, HIGH);
- c = false;
- }
- if (out1 == "D1" || out1 == "d1" || out1 == "V" || out1 == "v") {
- digitalWrite(D4, LOW);
- d = true;
- }
- if (out1 == "D0" || out1 == "d0" || out1 == "X" || out1 == "x") {
- digitalWrite(D4, HIGH);
- d = false;
- }
- if (out1 == "E1" || out1 == "e1" || out1 == "V" || out1 == "v") digitalWrite(D5, LOW);
- if (out1 == "E0" || out1 == "e0" || out1 == "X" || out1 == "x") digitalWrite(D5, HIGH);
- if (out1 == "F1" || out1 == "f1" || out1 == "V" || out1 == "v") digitalWrite(D6, LOW);
- if (out1 == "F0" || out1 == "f0" || out1 == "X" || out1 == "x") digitalWrite(D6, HIGH);
- if (out1 == "G1" || out1 == "g1" || out1 == "V" || out1 == "v") digitalWrite(D7, LOW);
- if (out1 == "G0" || out1 == "g0" || out1 == "X" || out1 == "x") digitalWrite(D7, HIGH);
- if (out1 == "H1" || out1 == "h1" || out1 == "V" || out1 == "v") digitalWrite(D8, LOW);
- if (out1 == "H0" || out1 == "h0" || out1 == "X" || out1 == "x") digitalWrite(D8, HIGH);
- }
- void onAChange() {
- if (a) {
- digitalWrite(D1, LOW);
- out1 = "A1";
- } else {
- digitalWrite(D1, HIGH);
- out1 = "A0";
- }
- }
- void onBChange() {
- if (b) {
- digitalWrite(D2, LOW);
- out1 = "B1";
- } else {
- digitalWrite(D2, HIGH);
- out1 = "B0";
- }
- }
- void onCChange() {
- if (c) {
- digitalWrite(D3, LOW);
- out1 = "C1";
- } else {
- digitalWrite(D3, HIGH);
- out1 = "C0";
- }
- }
- void onDChange() {
- if (d) {
- digitalWrite(D4, LOW);
- out1 = "D1";
- } else {
- digitalWrite(D4, HIGH);
- out1 = "D0";
- }
- }
- ArduinoIoTCloud (versi 1.8.0)
- Arduino_ConnectionHandler (versi 0.7.1)
- Arduino_DebugUtils-master
- ArduinoMqttClient-master
- #include "arduino_secrets.h"
- #include "thingProperties.h"
- void setup() {
- pinMode(D1, OUTPUT);
- pinMode(D2, OUTPUT);
- pinMode(D3, OUTPUT);
- pinMode(D4, OUTPUT);
- pinMode(D5, OUTPUT);
- pinMode(D6, OUTPUT);
- pinMode(D7, OUTPUT);
- pinMode(D8, OUTPUT);
- digitalWrite(D1, HIGH);
- digitalWrite(D2, HIGH);
- digitalWrite(D3, HIGH);
- digitalWrite(D4, HIGH);
- digitalWrite(D5, HIGH);
- digitalWrite(D6, HIGH);
- digitalWrite(D7, HIGH);
- digitalWrite(D8, HIGH);
- Serial.begin(9600);
- delay(1500);
- initProperties();
- ArduinoCloud.begin(ArduinoIoTPreferredConnection);
- setDebugMessageLevel(2);
- ArduinoCloud.printDebugInfo();
- }
- void loop() {
- ArduinoCloud.update();
- }
- void onOut2Change() {
- if (out2 == "A1" || out2 == "a1" || out2 == "V" || out2 == "v") digitalWrite(D1, LOW);
- if (out2 == "A0" || out2 == "a0" || out2 == "X" || out2 == "x") digitalWrite(D1, HIGH);
- if (out2 == "B1" || out2 == "b1" || out2 == "V" || out2 == "v") digitalWrite(D2, LOW);
- if (out2 == "B0" || out2 == "b0" || out2 == "X" || out2 == "x") digitalWrite(D2, HIGH);
- if (out2 == "C1" || out2 == "c1" || out2 == "V" || out2 == "v") digitalWrite(D3, LOW);
- if (out2 == "C0" || out2 == "c0" || out2 == "X" || out2 == "x") digitalWrite(D3, HIGH);
- if (out2 == "D1" || out2 == "d1" || out2 == "V" || out2 == "v") digitalWrite(D4, LOW);
- if (out2 == "D0" || out2 == "d0" || out2 == "X" || out2 == "x") digitalWrite(D4, HIGH);
- if (out2 == "E1" || out2 == "e1" || out2 == "V" || out2 == "v") {
- digitalWrite(D5, LOW);
- e = true;
- }
- if (out2 == "E0" || out2 == "e0" || out2 == "X" || out2 == "x") {
- digitalWrite(D5, HIGH);
- e = false;
- }
- if (out2 == "F1" || out2 == "f1" || out2 == "V" || out2 == "v") {
- digitalWrite(D6, LOW);
- f = true;
- }
- if (out2 == "F0" || out2 == "f0" || out2 == "X" || out2 == "x") {
- digitalWrite(D6, HIGH);
- f = false;
- }
- if (out2 == "G1" || out2 == "g1" || out2 == "V" || out2 == "v") {
- digitalWrite(D7, LOW);
- g = true;
- }
- if (out2 == "G0" || out2 == "g0" || out2 == "X" || out2 == "x") {
- digitalWrite(D7, HIGH);
- g = false;
- }
- if (out2 == "H1" || out2 == "h1" || out2 == "V" || out2 == "v") {
- digitalWrite(D8, LOW);
- h = true;
- }
- if (out2 == "H0" || out2 == "h0" || out2 == "X" || out2 == "x") {
- digitalWrite(D8, HIGH);
- h = false;
- }
- }
- void onEChange() {
- if (e) {
- digitalWrite(D5, LOW);
- out2 = "E1";
- } else {
- digitalWrite(D5, HIGH);
- out2 = "E0";
- }
- }
- void onFChange() {
- if (f) {
- digitalWrite(D6, LOW);
- out2 = "F1";
- } else {
- digitalWrite(D6, HIGH);
- out2 = "F0";
- }
- }
- void onGChange() {
- if (g) {
- digitalWrite(D7, LOW);
- out2 = "G1";
- } else {
- digitalWrite(D7, HIGH);
- out2 = "G0";
- }
- }
- void onHChange() {
- if (h) {
- digitalWrite(D8, LOW);
- out2 = "H1";
- } else {
- digitalWrite(D8, HIGH);
- out2 = "H0";
- }
- }
- ketik v: semua Relay ON.- ketik x: semua Relay OFF.- ketik a1: Relay1 ON.- ketik a0: Relay1 OFF.- ketik b1: Relay2 ON.- ketik b0: Relay2 OFF.- ketik c1: Relay3 ON.- ketik c0: Relay3 OFF.- ketik d1: Relay4 ON.- ketik d0: Relay4 OFF.- ketik e1: Relay5 ON.- ketik e0: Relay5 OFF.- ketik f1: Relay6 ON.- ketik f0: Relay6 OFF.- ketik g1: Relay7 ON.- ketik g0: Relay7 OFF.- ketik h1: Relay8 ON.- ketik h0: Relay8 OFF.
Gambar 18(c). Pengaturan dari Dashboard di web untuk 2 buah Modul Relay berhasil dilakukan
=========================================================================================
2. Pembuatan Kontrol ON/OFF untuk 16 buah Relay
Thing: Kontrol1
Nama Variable |
Tipe Variable |
Ijin Akses (Permission) |
Update Policy |
outa |
String (Basic | Character String) |
Read & Write |
On Change |
outb |
String
(Basic | Character String) |
Read Only |
On Change |
Thing: Kontrol2
Nama Variable |
Tipe Variable |
Ijin Akses (Permission) |
Update Policy |
outc |
String (Basic | Character String) |
Read & Write |
On Change |
outd |
String
(Basic | Character String) |
Read Only |
On Change |
- #include "arduino_secrets.h"
- #include "thingProperties.h"
- String a = ".0";
- String b = ".0";
- String c = ".0";
- String d = ".0";
- String e = ".0";
- String f = ".0";
- String g = ".0";
- String h = ".0";
- String i = ".0";
- String j = ".0";
- String k = ".0";
- String l = ".0";
- String m = ".0";
- String n = ".0";
- String o = ".0";
- String p = ".0";
- void setup() {
- pinMode(D1, OUTPUT);
- pinMode(D2, OUTPUT);
- pinMode(D3, OUTPUT);
- pinMode(D4, OUTPUT);
- pinMode(D5, OUTPUT);
- pinMode(D6, OUTPUT);
- pinMode(D7, OUTPUT);
- pinMode(D8, OUTPUT);
- digitalWrite(D1, HIGH);
- digitalWrite(D2, HIGH);
- digitalWrite(D3, HIGH);
- digitalWrite(D4, HIGH);
- digitalWrite(D5, HIGH);
- digitalWrite(D6, HIGH);
- digitalWrite(D7, HIGH);
- digitalWrite(D8, HIGH);
- Serial.begin(9600);
- delay(1500);
- initProperties();
- ArduinoCloud.begin(ArduinoIoTPreferredConnection);
- setDebugMessageLevel(2);
- ArduinoCloud.printDebugInfo();
- }
- void loop() {
- ArduinoCloud.update();
- }
- void onOutaChange() {
- if (outa == "A1" || outa == "a1" || outa == "V" || outa == "v") {
- digitalWrite(D1, LOW);
- a = "1";
- }
- if (outa == "A0" || outa == "a0" || outa == "X" || outa == "x") {
- digitalWrite(D1, HIGH);
- a = "0";
- }
- if (outa == "B1" || outa == "b1" || outa == "V" || outa == "v") {
- digitalWrite(D2, LOW);
- b = ".1";
- }
- if (outa == "B0" || outa == "b0" || outa == "X" || outa == "x") {
- digitalWrite(D2, HIGH);
- b = ".0";
- }
- if (outa == "C1" || outa == "c1" || outa == "V" || outa == "v") {
- digitalWrite(D3, LOW);
- c = ".1";
- }
- if (outa == "C0" || outa == "c0" || outa == "X" || outa == "x") {
- digitalWrite(D3, HIGH);
- c = ".0";
- }
- if (outa == "D1" || outa == "d1" || outa == "V" || outa == "v") {
- digitalWrite(D4, LOW);
- d = ".1";
- }
- if (outa == "D0" || outa == "d0" || outa == "X" || outa == "x") {
- digitalWrite(D4, HIGH);
- d = ".0";
- }
- if (outa == "E1" || outa == "e1" || outa == "V" || outa == "v") {
- digitalWrite(D5, LOW);
- e = ".1";
- }
- if (outa == "E0" || outa == "e0" || outa == "X" || outa == "x") {
- digitalWrite(D5, HIGH);
- e = ".0";
- }
- if (outa == "F1" || outa == "f1" || outa == "V" || outa == "v") {
- digitalWrite(D6, LOW);
- f = ".1";
- }
- if (outa == "F0" || outa == "f0" || outa == "X" || outa == "x") {
- digitalWrite(D6, HIGH);
- f = ".0";
- }
- if (outa == "G1" || outa == "g1" || outa == "V" || outa == "v") {
- digitalWrite(D7, LOW);
- g = ".1";
- }
- if (outa == "G0" || outa == "g0" || outa == "X" || outa == "x") {
- digitalWrite(D7, HIGH);
- g = ".0";
- }
- if (outa == "H1" || outa == "h1" || outa == "V" || outa == "v") {
- digitalWrite(D8, LOW);
- h = ".1";
- }
- if (outa == "H0" || outa == "h0" || outa == "X" || outa == "x") {
- digitalWrite(D8, HIGH);
- h = ".0";
- }
- if (outa == "I1" || outa == "i1" || outa == "V" || outa == "v") {
- i = "-1";
- }
- if (outa == "I0" || outa == "i0" || outa == "X" || outa == "x") {
- i = "-0";
- }
- if (outa == "J1" || outa == "j1" || outa == "V" || outa == "v") {
- j = ".1";
- }
- if (outa == "J0" || outa == "j0" || outa == "X" || outa == "x") {
- j = ".0";
- }
- if (outa == "K1" || outa == "k1" || outa == "V" || outa == "v") {
- k = ".1";
- }
- if (outa == "K0" || outa == "k0" || outa == "X" || outa == "x") {
- k = ".0";
- }
- if (outa == "L1" || outa == "l1" || outa == "V" || outa == "v") {
- l = ".1";
- }
- if (outa == "L0" || outa == "l0" || outa == "X" || outa == "x") {
- l = ".0";
- }
- if (outa == "M1" || outa == "m1" || outa == "V" || outa == "v") {
- m = ".1";
- }
- if (outa == "M0" || outa == "m0" || outa == "X" || outa == "x") {
- m = ".0";
- }
- if (outa == "N1" || outa == "n1" || outa == "V" || outa == "v") {
- n = ".1";
- }
- if (outa == "N0" || outa == "n0" || outa == "X" || outa == "x") {
- n = ".0";
- }
- if (outa == "O1" || outa == "o1" || outa == "V" || outa == "v") {
- o = ".1";
- }
- if (outa == "O0" || outa == "o0" || outa == "X" || outa == "x") {
- o = ".0";
- }
- if (outa == "P1" || outa == "p1" || outa == "V" || outa == "v") {
- p = ".1";
- }
- if (outa == "P0" || outa == "p0" || outa == "X" || outa == "x") {
- p = ".0";
- }
- outb = a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p;
- }
- ArduinoIoTCloud (versi 1.8.0)
- Arduino_ConnectionHandler (versi 0.7.1)
- Arduino_DebugUtils-master
- ArduinoMqttClient-master
- #include "arduino_secrets.h"
- #include "thingProperties.h"
- String a = ".0";
- String b = ".0";
- String c = ".0";
- String d = ".0";
- String e = ".0";
- String f = ".0";
- String g = ".0";
- String h = ".0";
- String i = ".0";
- String j = ".0";
- String k = ".0";
- String l = ".0";
- String m = ".0";
- String n = ".0";
- String o = ".0";
- String p = ".0";
- void setup() {
- pinMode(D1, OUTPUT);
- pinMode(D2, OUTPUT);
- pinMode(D3, OUTPUT);
- pinMode(D4, OUTPUT);
- pinMode(D5, OUTPUT);
- pinMode(D6, OUTPUT);
- pinMode(D7, OUTPUT);
- pinMode(D8, OUTPUT);
- digitalWrite(D1, HIGH);
- digitalWrite(D2, HIGH);
- digitalWrite(D3, HIGH);
- digitalWrite(D4, HIGH);
- digitalWrite(D5, HIGH);
- digitalWrite(D6, HIGH);
- digitalWrite(D7, HIGH);
- digitalWrite(D8, HIGH);
- Serial.begin(9600);
- delay(1500);
- initProperties();
- ArduinoCloud.begin(ArduinoIoTPreferredConnection);
- setDebugMessageLevel(2);
- ArduinoCloud.printDebugInfo();
- }
- void loop() {
- ArduinoCloud.update();
- }
- void onOutcChange() {
- if (outc == "A1" || outc == "a1" || outc == "V" || outc == "v") {
- a = "1";
- }
- if (outc == "A0" || outc == "a0" || outc == "X" || outc == "x") {
- a = "0";
- }
- if (outc == "B1" || outc == "b1" || outc == "V" || outc == "v") {
- b = ".1";
- }
- if (outc == "B0" || outc == "b0" || outc == "X" || outc == "x") {
- b = ".0";
- }
- if (outc == "C1" || outc == "c1" || outc == "V" || outc == "v") {
- c = ".1";
- }
- if (outc == "C0" || outc == "c0" || outc == "X" || outc == "x") {
- c = ".0";
- }
- if (outc == "D1" || outc == "d1" || outc == "V" || outc == "v") {
- d = ".1";
- }
- if (outc == "D0" || outc == "d0" || outc == "X" || outc == "x") {
- d = ".0";
- }
- if (outc == "E1" || outc == "e1" || outc == "V" || outc == "v") {
- e = ".1";
- }
- if (outc == "E0" || outc == "e0" || outc == "X" || outc == "x") {
- e = ".0";
- }
- if (outc == "F1" || outc == "f1" || outc == "V" || outc == "v") {
- f = ".1";
- }
- if (outc == "F0" || outc == "f0" || outc == "X" || outc == "x") {
- f = ".0";
- }
- if (outc == "G1" || outc == "g1" || outc == "V" || outc == "v") {
- g = ".1";
- }
- if (outc == "G0" || outc == "g0" || outc == "X" || outc == "x") {
- g = ".0";
- }
- if (outc == "H1" || outc == "h1" || outc == "V" || outc == "v") {
- h = ".1";
- }
- if (outc == "H0" || outc == "h0" || outc == "X" || outc == "x") {
- h = ".0";
- }
- if (outc == "I1" || outc == "i1" || outc == "V" || outc == "v") {
- digitalWrite(D1, LOW);
- i = "-1";
- }
- if (outc == "I0" || outc == "i0" || outc == "X" || outc == "x") {
- digitalWrite(D1, HIGH);
- i = "-0";
- }
- if (outc == "J1" || outc == "j1" || outc == "V" || outc == "v") {
- digitalWrite(D2, LOW);
- j = ".1";
- }
- if (outc == "J0" || outc == "j0" || outc == "X" || outc == "x") {
- digitalWrite(D2, HIGH);
- j = ".0";
- }
- if (outc == "K1" || outc == "k1" || outc == "V" || outc == "v") {
- digitalWrite(D3, LOW);
- k = ".1";
- }
- if (outc == "K0" || outc == "k0" || outc == "X" || outc == "x") {
- digitalWrite(D3, HIGH);
- k = ".0";
- }
- if (outc == "L1" || outc == "l1" || outc == "V" || outc == "v") {
- digitalWrite(D4, LOW);
- l = ".1";
- }
- if (outc == "L0" || outc == "l0" || outc == "X" || outc == "x") {
- digitalWrite(D4, HIGH);
- l = ".0";
- }
- if (outc == "M1" || outc == "m1" || outc == "V" || outc == "v") {
- digitalWrite(D5, LOW);
- m = ".1";
- }
- if (outc == "M0" || outc == "m0" || outc == "X" || outc == "x") {
- digitalWrite(D5, HIGH);
- m = ".0";
- }
- if (outc == "N1" || outc == "n1" || outc == "V" || outc == "v") {
- digitalWrite(D6, LOW);
- n = ".1";
- }
- if (outc == "N0" || outc == "n0" || outc == "X" || outc == "x") {
- digitalWrite(D6, HIGH);
- n = ".0";
- }
- if (outc == "O1" || outc == "o1" || outc == "V" || outc == "v") {
- digitalWrite(D7, LOW);
- o = ".1";
- }
- if (outc == "O0" || outc == "o0" || outc == "X" || outc == "x") {
- digitalWrite(D7, HIGH);
- o = ".0";
- }
- if (outc == "P1" || outc == "p1" || outc == "V" || outc == "v") {
- digitalWrite(D8, LOW);
- p = ".1";
- }
- if (outc == "P0" || outc == "p0" || outc == "X" || outc == "x") {
- digitalWrite(D8, HIGH);
- p = ".0";
- }
- outd = a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p;
- }
- ketik v: semua Relay ON.
- ketik x: semua Relay OFF.
- ketik a1: Relay1 di Modul1 ON.
- ketik a0: Relay1 di Modul1 OFF.- ketik b1: Relay2 di Modul1 ON.- ketik b0: Relay2 di Modul1 OFF.- ketik c1: Relay3 di Modul1 ON.- ketik c0: Relay3 di Modul1 OFF.- ketik d1: Relay4 di Modul1 ON.- ketik d0: Relay4 di Modul1 OFF.- ketik e1: Relay5 di Modul1 ON.- ketik e0: Relay5 di Modul1 OFF.- ketik f1: Relay6 di Modul1 ON.- ketik f0: Relay6 di Modul1 OFF.- ketik g1: Relay7 di Modul1 ON.- ketik g0: Relay7 di Modul1 OFF.- ketik h1: Relay8 di Modul1 ON.- ketik h0: Relay8 di Modul1 OFF.- ketik i1: Relay1 di Modul2 ON.- ketik i0: Relay1 di Modul2 OFF.- ketik j1: Relay2 di Modul2 ON.- ketik j0: Relay2 di Modul2 OFF.- ketik k1: Relay3 di Modul2 ON.- ketik k0: Relay3 di Modul2 OFF.- ketik l1: Relay4 di Modul2 ON.- ketik l0: Relay4 di Modul2 OFF.- ketik m1: Relay5 di Modul2 ON.- ketik m0: Relay5 di Modul2 OFF.- ketik n1: Relay6 di Modul2 ON.- ketik n0: Relay6 di Modul2 OFF.- ketik o1: Relay7 di Modul2 ON.- ketik o0: Relay7 di Modul2 OFF.- ketik p1: Relay8 di Modul2 ON.- ketik p0: Relay8 di Modul2 OFF.
=========================================================================================
3. Pembuatan Kontrol Terjadwal untuk 2x8 buah Relay
- Untuk membuat alat kontrol yang lebih banyak, solusi terbaik adalah menggunakan widget Messenger yang memiliki tipe data String, sehingga memiliki banyak sekali kemungkinan kombinasi karakter yang bisa dijadikan sebagai kode untuk input maupun output.
- Untuk membuat sebuah Device atau sebuah Thing bisa mengakomodasi lebih banyak variabel di Cloud, yang bisa ditampilkan di widget, maka solusi yang menurut saya terbaik adalah menggabungkan 2 buah Thing, masing-masing Thing menggunakan widget Messenger, kemudian kedua widget Messenger tersebut dibuat sinkron, sehingga kedua widget Messenger tersebut selalu berisi data yang sama.
Thing: Kontrol1
Nama Variable | Tipe Variable | Ijin Akses (Permission) | Update Policy |
a | CloudSchedule (Time | Schedule) | Read & Write | On Change |
b | CloudSchedule (Time | Schedule) | Read & Write | On Change |
c | CloudSchedule (Time | Schedule) | Read & Write | On Change |
d | CloudSchedule (Time | Schedule) | Read & Write | On Change |
out1 | String (Basic | Character String) | Read & Write | On Change |
Thing: Kontrol2
Nama Variable | Tipe Variable | Ijin Akses (Permission) | Update Policy |
e | CloudSchedule (Time | Schedule) | Read & Write | On Change |
f | CloudSchedule (Time | Schedule) | Read & Write | On Change |
g | CloudSchedule (Time | Schedule) | Read & Write | On Change |
h | CloudSchedule (Time | Schedule) | Read & Write | On Change |
out2 | String (Basic | Character String) | Read & Write | On Change |
- #include "arduino_secrets.h"
- #include "thingProperties.h"
- String out = "T";
- String outa = "0";
- String outb = "0";
- String outc = "0";
- String outd = "0";
- String oute = "0";
- String outf = "0";
- String outg = "0";
- String outh = "0";
- String tambahB = "0000";
- bool terjadwal = true;
- void setup() {
- pinMode(D1, OUTPUT);
- pinMode(D2, OUTPUT);
- pinMode(D3, OUTPUT);
- pinMode(D4, OUTPUT);
- pinMode(D5, OUTPUT);
- pinMode(D6, OUTPUT);
- pinMode(D7, OUTPUT);
- pinMode(D8, OUTPUT);
- digitalWrite(D1, HIGH);
- digitalWrite(D2, HIGH);
- digitalWrite(D3, HIGH);
- digitalWrite(D4, HIGH);
- digitalWrite(D5, HIGH);
- digitalWrite(D6, HIGH);
- digitalWrite(D7, HIGH);
- digitalWrite(D8, HIGH);
- Serial.begin(9600);
- delay(1500);
- initProperties();
- ArduinoCloud.begin(ArduinoIoTPreferredConnection);
- setDebugMessageLevel(2);
- ArduinoCloud.printDebugInfo();
- }
- void loop() {
- ArduinoCloud.update();
- if (terjadwal) {
- if (a.isActive()) {
- digitalWrite(D1, LOW);
- outa = "1";
- } else {
- digitalWrite(D1, HIGH);
- outa = "0";
- }
- if (b.isActive()) {
- digitalWrite(D2, LOW);
- outb = "1";
- } else {
- digitalWrite(D2, HIGH);
- outb = "0";
- }
- if (c.isActive()) {
- digitalWrite(D3, LOW);
- outc = "1";
- } else {
- digitalWrite(D3, HIGH);
- outc = "0";
- }
- if (d.isActive()) {
- digitalWrite(D4, LOW);
- outd = "1";
- } else {
- digitalWrite(D4, HIGH);
- outd = "0";
- }
- }
- out1 = "A" + outa + outb + outc + outd + tambahB + out;
- }
- void onOut1Change() {
- if (out1 == "T" || out1 == "t") {
- terjadwal = true;
- out = "T";
- }
- if (out1 == "M" || out1 == "m") {
- terjadwal = false;
- out = "M";
- }
- if (terjadwal) {
- if (out1.charAt(0) == 'A') {
- if (out1.charAt(1) == '1') digitalWrite(D1, LOW);
- if (out1.charAt(1) == '0') digitalWrite(D1, HIGH);
- if (out1.charAt(2) == '1') digitalWrite(D2, LOW);
- if (out1.charAt(2) == '0') digitalWrite(D2, HIGH);
- if (out1.charAt(3) == '1') digitalWrite(D3, LOW);
- if (out1.charAt(3) == '0') digitalWrite(D3, HIGH);
- if (out1.charAt(4) == '1') digitalWrite(D4, LOW);
- if (out1.charAt(4) == '0') digitalWrite(D4, HIGH);
- }
- if (out1.charAt(0) == 'B') {
- tambahB = out1.substring(5, 9);
- if (out1.charAt(5) == '1') digitalWrite(D5, LOW);
- if (out1.charAt(5) == '0') digitalWrite(D5, HIGH);
- if (out1.charAt(6) == '1') digitalWrite(D6, LOW);
- if (out1.charAt(6) == '0') digitalWrite(D6, HIGH);
- if (out1.charAt(7) == '1') digitalWrite(D7, LOW);
- if (out1.charAt(7) == '0') digitalWrite(D7, HIGH);
- if (out1.charAt(8) == '1') digitalWrite(D8, LOW);
- if (out1.charAt(8) == '0') digitalWrite(D8, HIGH);
- }
- } else {
- if (out1 == "A1" || out1 == "a1" || out1 == "V" || out1 == "v") {
- digitalWrite(D1, LOW);
- outa = "1";
- }
- if (out1 == "A0" || out1 == "a0" || out1 == "X" || out1 == "x") {
- digitalWrite(D1, HIGH);
- outa = "0";
- }
- if (out1 == "B1" || out1 == "b1" || out1 == "V" || out1 == "v") {
- digitalWrite(D2, LOW);
- outb = "1";
- }
- if (out1 == "B0" || out1 == "b0" || out1 == "X" || out1 == "x") {
- digitalWrite(D2, HIGH);
- outb = "0";
- }
- if (out1 == "C1" || out1 == "c1" || out1 == "V" || out1 == "v") {
- digitalWrite(D3, LOW);
- outc = "1";
- }
- if (out1 == "C0" || out1 == "c0" || out1 == "X" || out1 == "x") {
- digitalWrite(D3, HIGH);
- outc = "0";
- }
- if (out1 == "D1" || out1 == "d1" || out1 == "V" || out1 == "v") {
- digitalWrite(D4, LOW);
- outd = "1";
- }
- if (out1 == "D0" || out1 == "d0" || out1 == "X" || out1 == "x") {
- digitalWrite(D4, HIGH);
- outd = "0";
- }
- if (out1 == "E1" || out1 == "e1" || out1 == "V" || out1 == "v") {
- digitalWrite(D5, LOW);
- oute = "1";
- }
- if (out1 == "E0" || out1 == "e0" || out1 == "X" || out1 == "x") {
- digitalWrite(D5, HIGH);
- oute = "0";
- }
- if (out1 == "F1" || out1 == "f1" || out1 == "V" || out1 == "v") {
- digitalWrite(D6, LOW);
- outf = "1";
- }
- if (out1 == "F0" || out1 == "f0" || out1 == "X" || out1 == "x") {
- digitalWrite(D6, HIGH);
- outf = "0";
- }
- if (out1 == "G1" || out1 == "g1" || out1 == "V" || out1 == "v") {
- digitalWrite(D7, LOW);
- outg = "1";
- }
- if (out1 == "G0" || out1 == "g0" || out1 == "X" || out1 == "x") {
- digitalWrite(D7, HIGH);
- outg = "0";
- }
- if (out1 == "H1" || out1 == "h1" || out1 == "V" || out1 == "v") {
- digitalWrite(D8, LOW);
- outh = "1";
- }
- if (out1 == "H0" || out1 == "h0" || out1 == "X" || out1 == "x") {
- digitalWrite(D8, HIGH);
- outh = "0";
- }
- tambahB = oute + outf + outg + outh;
- }
- }
- void onAChange() {
- }
- void onBChange() {
- }
- void onCChange() {
- }
- void onDChange() {
- }
- ArduinoIoTCloud (versi 1.8.0)
- Arduino_ConnectionHandler (versi 0.7.1)
- Arduino_DebugUtils-master
- ArduinoMqttClient-master
- #include "arduino_secrets.h"
- #include "thingProperties.h"
- String out = "T";
- String outa = "0";
- String outb = "0";
- String outc = "0";
- String outd = "0";
- String oute = "0";
- String outf = "0";
- String outg = "0";
- String outh = "0";
- String tambahA = "0000";
- bool terjadwal = true;
- void setup() {
- pinMode(D1, OUTPUT);
- pinMode(D2, OUTPUT);
- pinMode(D3, OUTPUT);
- pinMode(D4, OUTPUT);
- pinMode(D5, OUTPUT);
- pinMode(D6, OUTPUT);
- pinMode(D7, OUTPUT);
- pinMode(D8, OUTPUT);
- digitalWrite(D1, HIGH);
- digitalWrite(D2, HIGH);
- digitalWrite(D3, HIGH);
- digitalWrite(D4, HIGH);
- digitalWrite(D5, HIGH);
- digitalWrite(D6, HIGH);
- digitalWrite(D7, HIGH);
- digitalWrite(D8, HIGH);
- Serial.begin(9600);
- delay(1500);
- initProperties();
- ArduinoCloud.begin(ArduinoIoTPreferredConnection);
- setDebugMessageLevel(2);
- ArduinoCloud.printDebugInfo();
- }
- void loop() {
- ArduinoCloud.update();
- if (terjadwal) {
- if (e.isActive()) {
- digitalWrite(D5, LOW);
- oute = "1";
- } else {
- digitalWrite(D5, HIGH);
- oute = "0";
- }
- if (f.isActive()) {
- digitalWrite(D6, LOW);
- outf = "1";
- } else {
- digitalWrite(D6, HIGH);
- outf = "0";
- }
- if (g.isActive()) {
- digitalWrite(D7, LOW);
- outg = "1";
- } else {
- digitalWrite(D7, HIGH);
- outg = "0";
- }
- if (h.isActive()) {
- digitalWrite(D8, LOW);
- outh = "1";
- } else {
- digitalWrite(D8, HIGH);
- outh = "0";
- }
- }
- out2 = "B" + tambahA + oute + outf + outg + outh + out;
- }
- void onOut2Change() {
- if (out2.charAt(9) == 'T') {
- terjadwal = true;
- out = "T";
- }
- if (out2.charAt(9) == 'M') {
- terjadwal = false;
- out = "M";
- }
- if (terjadwal) {
- if (out2.charAt(0) == 'A') {
- tambahA = out2.substring(1, 5);
- if (out2.charAt(1) == '1') digitalWrite(D1, LOW);
- if (out2.charAt(1) == '0') digitalWrite(D1, HIGH);
- if (out2.charAt(2) == '1') digitalWrite(D2, LOW);
- if (out2.charAt(2) == '0') digitalWrite(D2, HIGH);
- if (out2.charAt(3) == '1') digitalWrite(D3, LOW);
- if (out2.charAt(3) == '0') digitalWrite(D3, HIGH);
- if (out2.charAt(4) == '1') digitalWrite(D4, LOW);
- if (out2.charAt(4) == '0') digitalWrite(D4, HIGH);
- }
- if (out2.charAt(0) == 'B') {
- if (out2.charAt(5) == '1') digitalWrite(D5, LOW);
- if (out2.charAt(5) == '0') digitalWrite(D5, HIGH);
- if (out2.charAt(6) == '1') digitalWrite(D6, LOW);
- if (out2.charAt(6) == '0') digitalWrite(D6, HIGH);
- if (out2.charAt(7) == '1') digitalWrite(D7, LOW);
- if (out2.charAt(7) == '0') digitalWrite(D7, HIGH);
- if (out2.charAt(8) == '1') digitalWrite(D8, LOW);
- if (out2.charAt(8) == '0') digitalWrite(D8, HIGH);
- }
- } else {
- if (out2.charAt(1) == '1') digitalWrite(D1, LOW);
- if (out2.charAt(1) == '0') digitalWrite(D1, HIGH);
- if (out2.charAt(2) == '1') digitalWrite(D2, LOW);
- if (out2.charAt(2) == '0') digitalWrite(D2, HIGH);
- if (out2.charAt(3) == '1') digitalWrite(D3, LOW);
- if (out2.charAt(3) == '0') digitalWrite(D3, HIGH);
- if (out2.charAt(4) == '1') digitalWrite(D4, LOW);
- if (out2.charAt(4) == '0') digitalWrite(D4, HIGH);
- if (out2.charAt(5) == '1') digitalWrite(D5, LOW);
- if (out2.charAt(5) == '0') digitalWrite(D5, HIGH);
- if (out2.charAt(6) == '1') digitalWrite(D6, LOW);
- if (out2.charAt(6) == '0') digitalWrite(D6, HIGH);
- if (out2.charAt(7) == '1') digitalWrite(D7, LOW);
- if (out2.charAt(7) == '0') digitalWrite(D7, HIGH);
- if (out2.charAt(8) == '1') digitalWrite(D8, LOW);
- if (out2.charAt(8) == '0') digitalWrite(D8, HIGH);
- }
- }
- void onEChange() {
- }
- void onFChange() {
- }
- void onGChange() {
- }
- void onHChange() {
- }
- ketik t: mode Terjadwal ON.- ketik m: mode Manual ON.- ketik v: semua Relay ON.- ketik x: semua Relay OFF.- ketik a1: Relay1 ON.- ketik a0: Relay1 OFF.- ketik b1: Relay2 ON.- ketik b0: Relay2 OFF.- ketik c1: Relay3 ON.- ketik c0: Relay3 OFF.- ketik d1: Relay4 ON.- ketik d0: Relay4 OFF.- ketik e1: Relay5 ON.- ketik e0: Relay5 OFF.- ketik f1: Relay6 ON.- ketik f0: Relay6 OFF.- ketik g1: Relay7 ON.- ketik g0: Relay7 OFF.- ketik h1: Relay8 ON.- ketik h0: Relay8 OFF.
=========================================================================================
File Download:
- File download ON/OFF 2x8 Relay: kontrol2x8relay
- File download ON/OFF 16 Relay: kontrol16relay
- File download Terjadwal 2x8 Relay: terjadwal2x8relay
No comments:
Post a Comment