1. Bu site çerez kullanmaktadır. Siteyi kullanmaya devam etmeniz halinde çerez kullanımı ile ilgili site koşullarını kabul etmiş sayılırsınız. Daha Fazlasını Öğren.
  2. Forum İllegal Uyarısı Forum kuralları gereği forumda video ve illagal paylaşım yapmak yasaktır.Program Arşivimizde ise kısıtlanmış sürüm yada dağıtımı serbest olan (trial - freeware) yazılımlar yayınlayınız..Aksi takdirde mesajlarınız silinecektir..

Arduino ile İnternet Üzerinden Led Kontrolü

Konusu 'Pic Uygulama Ve Devreleri' forumundadır ve guclusat tarafından 15 Mart 2016 başlatılmıştır.

  1. guclusat
    Offline

    guclusat Tanınmış Üye Süper Moderatör

    Katılım:
    14 Haziran 2009
    Mesajlar:
    9.754
    Ödül Puanları:
    48
    Bu çalışmamızda hem sayfaya veri yazdıracağız hemde sayfadaki komuta göre arduino üzerine takdığımız ledi kontrol edeceğiz. Yani ethernet led uygulamasını yaparak artık ethernet shield ile herşeyi yapabileceğimizi göstermiş olacağız.


    Eğer projemizde Şekil 1′ deki gibi ethernet shieldı kullanıyorsak bağlantı için kabloya vs. ihtiyaç duymuyoruz. Sadece arduino kartımızın üzerine yerleştirmemiz yeterli oluyor.

    [​IMG]

    Şekil 1​

    Ancak Şekil 2’deki gibi sadece ethernet modülünü yani ENC28J60 devre kartını kullanıyorsak ilgili pinleri arduino üzerine jumperlar kullanarak takmalıyız. ENC28J60 modülü ve arduino bağlantıları şu tabloda gösterilmiştir.

    [​IMG]

    Şekil 2​

    ardi.jpg



    Kod:
    #include <SPI.h>
    #include <Ethernet.h>
    byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
    IPAddress ip(192, 168, 1, 177); // yerel ağ bağlantısına göre değiştirilmesi gereken ip adresi
    EthernetServer server(80);
    String HTTP_req;
    boolean led_durum = 0; // ledin ON yada OFF olduğunu tutan değişken
    int led=8; // ledin bağlanacağı arduino pini
    void setup()
    {
        Ethernet.begin(mac, ip);
        server.begin();
        Serial.begin(9600);       
        pinMode(led,OUTPUT);
    }
    void loop()
    {
        EthernetClient net_alc = server.available(); 
        if (net_alc) {
            boolean satir_kontrol = true;
            while (net_alc.connected()) {
                if (net_alc.available()) {
                    char c = net_alc.read();
                    HTTP_req += c; 
                    if (c == '\n' && satir_kontrol) {
                      // Alttaki satrlar HTML programlama ile ilgilidir.
                      // HTML kaynak kodlarına bakmanızda fayda var.
                        net_alc.println("HTTP/1.1 200 OK");
                        net_alc.println("Content-Type: text/html");
                        net_alc.println("Connection: close");
                        net_alc.println();
                        net_alc.println("<!DOCTYPE html>");
                        net_alc.println("<html>");
                        net_alc.println("<head>");
                        net_alc.println("<title>Arduino Internet Led Kontrol</title>");
                        net_alc.println("</head>");
                        net_alc.println("<body>");
                        net_alc.println("<h1>ADUINO ILE INTERNET UZERINDEN LED YAKIP SONDURME</h1>");
                        net_alc.println("<p>Ledi acip kapatmak icin kutucuga tiklayiniz.</p>");
                        net_alc.println("<form method=\"get\">");
                        LedKontrol(net_alc);
                        net_alc.println("<p>Blogu ziyaret ediniz:</p>");
                        net_alc.println("<div style=\"font-size:25px;\">golmuhendis.blogspot.com.tr</div>");
                        net_alc.println("</form>");
                        net_alc.println("</body>");
                        net_alc.println("</html>");
                        Serial.print(HTTP_req);
                        HTTP_req = "";
                        break;
                    }
                    if (c == '\n') {
                        satir_kontrol = true;
                    }
                    else if (c != '\r') {
                        satir_kontrol = false;
                    }
                }
            }
            delay(1);
            net_alc.stop();
        }
    }
    void LedKontrol(EthernetClient deger)
    {
        if (HTTP_req.indexOf("LED=1") > -1) { 
            if (led_durum) {
                led_durum = 0;
            }
            else {
                led_durum = 1;
            }
        }
        if (led_durum) {
            digitalWrite(led, HIGH);
            deger.println("<input type=\"radio\" name=\"LED\" value=\"1\" \
            onclick=\"submit();\" checked>LED");
        }
        else {
            digitalWrite(led, LOW);
            deger.println("<input type=\"radio\" name=\"LED\" value=\"1\" \
            onclick=\"submit();\">LED");
        }
    }
     
Yüklüyor...
Benzer Konular - Arduino İnternet Üzerinden
  1. guclusat
    Mesaj:
    0
    Görüntüleme:
    153
  2. guclusat
    Mesaj:
    0
    Görüntüleme:
    109
  3. guclusat
    Mesaj:
    0
    Görüntüleme:
    91
  4. guclusat
    Mesaj:
    5
    Görüntüleme:
    242
  5. guclusat
    Mesaj:
    7
    Görüntüleme:
    154

Sayfayı Paylaş