Arduino
OKUDUĞUNUZ KONU
NodeMCU ESP8266 Modül ile Led Kontrolü
2

NodeMCU ESP8266 Modül ile Led Kontrolü

Yazar : Erol Çelik7 Ağustos 2017

Bu yazımda nodemcu esp8266 modülü ile led kontrolünün nasıl yapılacağını anlatmaya çalışacağım. Peki nedir bu Nodemcu modül?

Resimde görülen modül bildiğimiz arduino ile çalışan esp8266 modülünü içerisinde barındıran ve bir arduino ya ihtiyaç duymadan cihaz kontrolü yapmamızı sağlayan bir elektronik karttır. Bu modülü aynen bir arduino programlıyormuş gibi arduino ide arayüzüyle programlayabiliyoruz. Bir örnekle açıklarsak sanırım daha iyi anlaşılır olacaktır. Gelin birlikte Nodemcu modülü ile nasıl bir led kontrolü yapılır, yapmaya çalışalım.

Neler Gerekli?

  • Nodemcu modül
  • 1 adet led
  • Yeteri kadar jumper kablo (dişi-dişi)
  • Arduino ide arayüzü kurulu bir bilgisayar

Nasıl yapılır? adımları sıralayalım;

1. Önce donanım bağlantısından bahsedelim;

yukarıdaki pin map (pin dağılımı) program yazarken kullanacağımız bazı bilgileri içeriyor. Programı arduino ide ile yazacağımız için Nodemcu unun pinlerini bu arayüzde nasıl kullanacağımızı bilmemiz gerekiyor. örneğimizde kullanacağımız gibi; mesela GPIO13 pini==D7 pinine karşılık geliyor. yani biz programda 13. pini kullandığımızda donanım tablosundan da bakacak olursak Nodemcu modülün de D7 pinini kullanmış oluyoruz. Daha da somutlaştıracak olursak; digitalWrite(13,HIGH); komutunu kullandığımız zaman Nodemcu modülündeki D7 pinine lojik 1 bilgisini göndermiş oluruz. Buradan hareketle donanımsal bağlantımızı yapacağız. Ben ledimi D7 pinine bağladım.

2. Şimdi geldik programlamaya hazırlık aşamasına; bunun için arayüzümüz de bazı ayarlamalar yapmamız gerekiyor. Arduino arayüzünde varsayılan olarak Nodemcu modülü bulunmuyor. modülü entegre etmek için ;
öncelikle dosya==tercihler(preferences) kısmına giriyoruz.

karşımıza gelen ekran bu şekilde olacak. Buradaki Ek devre kartları (additional boards) kısmına şu linki yapıştıralım. http://arduino.esp8266.com/stable/package_esp8266com_index.json
ve tamam diyelim.

daha sonra araçlar menüsünden kart yöneticisi (boards manager) yazan yere tıklayalım.

karşımıza bu şekilde bir pencere gelecektir. Buradan esp8266 yı bulup yükle (install) butonuna tıklıyoruz.

Nodemcu modül ayarlarımız yükleniyor…

ve yüklendi…

şimdi kart(board) kısmından Nodemcu 1.0 (ESP-12E module) seçebiliriz. Bu ayarlamaları yaptıktan sonra artık kartımıza program yükleyebiliriz.

Evet şimdi ledimizi bağlamış olduğumuz Nodemcu ESP modülümüzü bilgisayarımıza bağlıyoruz. bağladıktan sonra bağlı olan portu seçiyoruz. Note: kartın driverini unutmayınız. eğer klon ise Ch340g driveri kurmamız gerekli.

Daha sonra ledimizi bağlantı şemasındaki gibi yerleştiriyoruz.3. Şimdi ise artık programı yazabiliriz.


#include <ESP8266WiFi.h>

const char* ssid = "wifi ag adınız";
const char* password = "wifi sifreniz";

int ledPin = 13; // GPIO13 ucu D7 ye karsılık gelir bahsettigimiz gibi
WiFiServer server(80);

void setup() {
Serial.begin(115200);
delay(10);

pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);

// Wifi bağlantısı
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");

// server baslatılıyor
server.begin();
Serial.println("Server started");

// baglantı saglandıktan sonra serial monitorde bize ip adresini gösterecek
Serial.print("Use this URL to connect: ");
Serial.print("http://");
Serial.print(WiFi.localIP());
Serial.println("/");

}

void loop() {
// bir clien istemci baglı olup olmadığını kontrol ediyoruz
WiFiClient client = server.available();
if (!client) {
return;
}

// client ın bir data gondermesini bekliyoruz
Serial.println("new client");
while(!client.available()){
delay(1);
}

// gelen istekleri okuyoruz
String request = client.readStringUntil('\r');
Serial.println(request);
client.flush();

int value = LOW;
if (request.indexOf("/LED-ACIK") != -1) {
digitalWrite(ledPin, HIGH);
value = HIGH;
}
if (request.indexOf("/LED-KAPALI") != -1) {
digitalWrite(ledPin, LOW);
value = LOW;
}

// bu kısımda html kodlarını internet arayüzüne yazıdırıyoruz.

client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println(""); 
client.println("<!DOCTYPE HTML>");
client.println("<html>");

client.print("Led suanda: ");

if(value == HIGH) {
client.print("ACIK");
} else {
client.print("KAPALI");
}
client.println("

");
client.println("<a href=\"/LED-ACIK\"\"><button>ledi yak </button></a>");
client.println("<a href=\"/LED-KAPALI\"\"><button>ledi sondur </button></a>
"); 
client.println("</html>");

delay(1);
Serial.println("Client disonnected");
Serial.println("");

}

Bu programı artık Nodemcu modülümüze yükeleyebiliriz.

Not: espwifi.h kütüphanemiz ekli olması gerekir. eğer daha önceden eklemediyseniz kütüphaneyi ekleyiniz.
Evet programı kartımıza yükledikten sonra serial monitorden takip edelim. Evet gorüldüğü gibi kartımız wifi bağlantısı kuruldu ve aldığı IP numarasını bize verdi

Bu ip numarasını internet tarayıcımıza yazıyoruz. Karsımıza gelen ekran bu şekilde ledi yak ve ledi söndür butonlarımızla ledimizi kontrol edebiliriz.

Bu yazımda yerel ağ üzerinden Nodemcu modülü ile bir ledi nasıl kontrol ederiz onu anlatmaya çalıştım. umarım faydalı olmuştur. Nasipse bir sonraki yazım da genel ağ üzerinde yani internet üzerinden bir ledi nasıl kontrol ederiz onu anlatmaya çalısacağım. Herkese başarılar dilerim…

SİZCE NASIL OLMUŞ?
Beğendim
100%
İlginç
0%
Eh İşte
0%
Anlamadım
0%
Kötü
0%
Berbat
0%
YAZAR HAKKINDA
Erol Çelik
2 YORUMLAR

YORUM YAP