Arduino
OKUDUĞUNUZ KONU
Arduino Ethernet Modülü ile IP üzerinden Röle Kontrolü
1

Arduino Ethernet Modülü ile IP üzerinden Röle Kontrolü

Yazar : Eren Doğan6 Haziran 2017

Merhaba arkadaşlar, yine işle ilgili bir projeyle karşınızdayım 🙂 bu proje de arduino uno muza ethernet modülü bağlayıp tarayıcımıza ip girerek rölemizi açıp kapacağız

Malzeme listesi

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

Proje Resimleri

devre şeması

şema kafanızı karıştırmasın arkadaşlar

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

}
}
}
}
}

kolay gelsin , umarım faydalı olur.

SİZCE NASIL OLMUŞ?
Beğendim
87%
İlginç
0%
Eh İşte
13%
Anlamadım
0%
Kötü
0%
Berbat
0%
YAZAR HAKKINDA
Eren Doğan
Eren Doğan
Elektrik-Elektronik Mühendisi
1 YORUMLAR
  • Omer
    21 Temmuz 2017 at 18:06

    Merhaba,
    Çalısmanız ve yardımlarınız için teşekkürler. 1 adet Ardiuno Uno ve Ethernetsheet aldım. Ethernetsheet uno üzerine taktım.Programı başarılı bir şekilde kart üzerine yükledim. Program içinde ip adresini evdedeki ipye göre ayarladım.
    Ping atamıyorum.Dolayısı ile browser üzerinden ulaşamıyorum.Uno ve mega üzerindede bunu başaramadım. Ethernet w5100 shield arızalı olabilir diye 1 tane daha aldım. Ama sonuç aynı. Ne yapabilirim.
    Syg

YORUM YAP