5.00 / 1 oy

Arduino ve ESP8266 ile WiFi Üzerinden Farklı Ledleri Yakmak

Arduino ve ESP8266 modüllerinin bağlantısı sağlandığına ve wifi üzerinden led yakıp söndürme komutları gönderilebildiğine göre mantığın anlaşılabilmesi ve arayüzün biraz daha güzelleştirilebilmesi için yakıp söndüreceğimiz led sayısını 2'ye çıkartalım ve 12. pine de bir led ekleyelim. Proje çalıştığında ve ledlerin her ikisi de telefonla ya da bilgisayardan wifi aracılığı ile yakıldığında şöyle görünecek:

arduino wifi led yakmak

HTML ile kodladığımız web arayüzüne önceki örnekte Türkçe karakter desteğini eklemiştik, bu örnekte de bootstrap css ekleyerek butonları biraz daha görsel bir hale getirelim.

arduino wifi led yak söndür

Çok şık sayılmaz ama önceki arayüzle kıyaslandığında çok daha güzel durduğu söylenebilir. Şimdi modemde bağlantı kurulcak ağ ismi ve ağ şifresi xxx yazan yerlere yazılacak şekilde aşağıdaki kodları Arduino'ya yükleyelim.

 

Proje kodları:

#define ag_ismi "xxx"
#define ag_sifresi "xxx"

void setup()
{
  Serial.begin(115200);
  Serial.println("AT");
  pinMode(13,OUTPUT);
  pinMode(12,OUTPUT);
  
  delay(3000);
 
  if(Serial.find("OK")){
     Serial.println("AT+CWMODE=1");
     delay(2000);
     String baglantiKomutu=String("AT+CWJAP=\"")+ag_ismi+"\",\""+ag_sifresi+"\"";
     Serial.println(baglantiKomutu);
     delay(5000);
 }
 
   Serial.print("AT+CIPMUX=1\r\n");
   delay(200);
   Serial.print("AT+CIPSERVER=1,80\r\n");
   delay(1000);
}
void loop(){
   
  if(Serial.available()>0){
    if(Serial.find("+IPD,")){ 
      String metin ="<HTML><head>"
      "<link rel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css'>"
      "<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/>"
      "</head> "
      "<h1>LED1</h1>";   
      metin += "<br><a href=\" ?durum=yak1\" class=\"btn btn-success\">Beyaz Ledi Yak</a>"; 
      metin += "<br><a href=\" ?durum=sondur1\" class=\"btn btn-danger\">Beyaz Ledi Söndür</a>";

      metin += "<br><a href=\" ?durum=yak2\" class=\"btn btn-success\">Kırmızı Ledi Yak</a>"; 
      metin += "<br><a href=\" ?durum=sondur2\" class=\"btn btn-danger\">Kırmızı Ledi Söndür</a>"
      
      "</html>"; 
      String cipsend = "AT+CIPSEND=";
      cipsend +="0";
      cipsend +=",";
      cipsend += metin.length();
      cipsend += "\r\n";
      Serial.print(cipsend);
      delay(500);
      Serial.println(metin);
      ledYak();
      Serial.println("AT+CIPCLOSE=0");
    }
  }
}

void ledYak(){
   String gelen ="";
   char serialdenokunan;
   while(Serial.available()>0)
   {
     serialdenokunan = Serial.read();
     gelen +=serialdenokunan;
   }
   
   Serial.println(gelen);
   if((gelen.indexOf(":GET /?durum=yak1")>1)){
    digitalWrite(13,HIGH);
   }
    if((gelen.indexOf(":GET /?durum=sondur1")>1)){
    digitalWrite(13,LOW);
   }
   
   if((gelen.indexOf(":GET /?durum=yak2")>1)){
    digitalWrite(12,HIGH);
   }
    if((gelen.indexOf(":GET /?durum=sondur2")>1)){
    digitalWrite(12,LOW);
   }
   Serial.println(gelen);
 }

İki ledi farklı butonlarla yakıpp söndürmenin basit bir uygulamasını hazırlamış olduk, daha yapacağımız çok uygulama var :)

mr. faruk

08.06.2020 18:05

Bu soru 2 kez yanıtlandı.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
Arduino ve ESP8266 ile WiFi Üzerinden Farklı Ledleri Yakmak

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.