Arduino Ethernet Modülü Röle Kontrolü

Please log in or Kaldol to like posts.
Yazı

Merhaba arkadaşlar bu projemizde Arduino ile web ara yüzünden röle aç kapa işlemi yapacağız.

Malzeme listesi

  • Arduino Uno
  • Arduino Ethernet Shield (Modül)
  • Röle Modülü
  • Ethernet Kablosu

rölenin besleme Vcc ucuna 5V eksi ucuna arduino dan GND bağlantısı yapıp çıkış pinimizde sinyal girişine bağlıyoruz

devre kodu:

#include <Ethernet.h>
 
int role = 4;
 
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };   //ethernet modülün mac adresi
byte ip[] = { 10, 0, 0, 194 };                      // yerel ağ içerisinde kullanabileceğiniz ip adresi örneğin ("192.168.1.178")
byte gateway[] = { 10, 0, 0, 1 };                   // vereceğiniz ip nin ilk değerinden sonra iki tane 0 ve sona 1 vermeniz yeterli
byte subnet[] = { 255, 0, 0, 0 };                  // bu ayarları ip4 üzerinden manuel yapmanız gerektiğine dikkat edin
EthernetServer server(80);                             //haberleşeceğimiz port adresi
String readString;                                // tarayıcı üzerinden göndereceğimiz string (dizi) tanımlaması
 
void setup() {
Serial.begin(9600);
while (!Serial) {
;
}
pinMode(role, OUTPUT); // röle çıkışı tanımlandı
Ethernet.begin(mac, ip, gateway, subnet); // ethernet başlatıldı
server.begin(); // sunucu başlatıldı
}
 
void loop() {
EthernetClient client = server.available(); // sunucu mevcutken ethernet kullanıcısı tanımlandı
if (client) {
while (client.connected()) { // kullanıcı bağlıyken
if (client.available()) { // ve de mevcutken
char c = client.read();  // kullanıcı isteğini okuyup karakter c ye eşitleme
 
if (readString.length() < 100) { // tarayıcıdan gelecek olan istek karakter olarak okunup
readString += c; // string (diziye) kaydediliyor
//Serial.print(c); // isterseniz serial monitörden çift // kaldırarak görüntüleyebilirsiniz
}
if (c == '\n') { // http isteği sonlanması
 
client.println("HTTP/1.1 200 OK"); //send new page
client.println("Content-Type: text/html");
client.println();
client.println("<HTML>");
client.println("<HEAD>");
client.println("<meta name='apple-mobile-web-app-capable' content='yes' />");
client.println("<meta name='apple-mobile-web-app-status-bar-style' content='black-translucent' />");
client.println("</HEAD>");
client.println("<BODY>");
client.println("<a href=\"/?roleoff\"\">ROLE KAPAT</a>");
client.println("<a href=\"/?roleon\"\">ROLE AC</a><br />");
client.println("</BODY>");
client.println("</HTML>");
 
delay(1);
 
client.stop(); // kullanıcı sonlandırma
 
if (readString.indexOf("?roleon") > 0) {
digitalWrite(role, HIGH);
}
if (readString.indexOf("?roleoff") > 0) {
digitalWrite(role, LOW);
}
 
readString = ""; // bi sonra ki okuma için temizleme işlemi
 
}
}
}
}
}

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir