Para master mohon pencerahanya sy coba bikin webrelay control 4 chanel, modul yg ada
- Arduino uno r3
- Ethernet ENC28J60
- Relay modul 4 chanel
Cari sketch yg working, klak klik klak klik di google ga ketemu2 (maklum masih newbi banget...)
ketemu sketch di enc28j60_tutorial/_9_WebRelay at master · lucadentella/enc28j60_tutorial · GitHub
#include <EtherCard.h>
#define RELAY_PIN 2
static byte mymac[] = {0xDD,0xDD,0xDD,0x00,0x00,0x01};
static byte myip[] = {192,168,1,2};
byte Ethernet::buffer[700];
char* on = "ON";
char* off = "OFF";
boolean relayStatus;
char* relayLabel;
char* linkLabel;
void setup () {
Serial.begin(57600);
Serial.println("WebRelay Demo");
if(!ether.begin(sizeof Ethernet::buffer, mymac, 10))
Serial.println( "Failed to access Ethernet controller");
else
Serial.println("Ethernet controller initialized");
if(!ether.staticSetup(myip))
Serial.println("Failed to set IP address");
pinMode(RELAY_PIN, OUTPUT);
digitalWrite(RELAY_PIN, LOW);
relayStatus = false;
relayLabel = off;
linkLabel = on;
}
void loop() {
word len = ether.packetReceive();
word pos = ether.packetLoop(len);
if(pos) {
if(strstr((char *)Ethernet::buffer + pos, "GET /?ON") != 0) {
relayStatus = true;
relayLabel = on;
linkLabel = off;
} else if(strstr((char *)Ethernet::buffer + pos, "GET /?OFF") != 0) {
relayStatus = false;
relayLabel = off;
linkLabel = on;
}
digitalWrite(RELAY_PIN, relayStatus);
BufferFiller bfill = ether.tcpOffset();
bfill.emit_p(PSTR("HTTP/1.0 200 OK\r\n"
"Content-Type: text/html\r\nPragma: no-cache\r\n\r\n"
""
"
"
), relayLabel, linkLabel, linkLabel);
ether.httpServerReply(bfill.position());
}
}
Tapi yg bisa hanya 1 relay ( memang dari om lucasnya untuk relay 1 chanel)
Mohon bantuanya sketch diatas supaya bisa untuk relay 4 chanel..trims....