ESP8266 Mikrokontrolcü Nedir Ve Nasıl Programlanır?

In Video, Video İncelemeler by Çağan Çelik2 Comments

Madeni para büyüklüğündeki mikrokontrol ünitesi ESP8266’yı nasıl programlayıp kullanabileceğinizi anlatıyoruz.

Bu makalemizin hobi elektroniği, programlama ve nesnelerin interneti konularında temel bilgiye sahip kişilere yönelik olduğunun altını çizelim. Eğer bu terimleri ilk defa duyuyorsanız, Arduino konulu makalemize buradan ulaşabilirsiniz.

Çin’in Şangay kentindeki Espressif Systems tarafından üretilen ESP8266 geliştirme kartı oldukça yetenekli. En sık tercih edilen mikro kontrolcü Arduino’nun Uno modeline göre avantajları ve dezavantajları var.

Az alan kaplamasını istediğiniz projeler için ideal olsa da, boyutları prototiplemeyi zorlaştırıyor. Ancak Arduino Uno’ya göre daha hızlı işlemcisi, çok daha büyük kod saklama alanı ve daha büyük belleği var.

Ancak bu model sadece 3.3 Volt uyumlu. Bu da 5 Volt logic ile çalışan devre bileşenlerini bu mikro kontrolcü ile kullanamayacağınız anlamına geliyor.

Eğer dezavantajları sizin için önemli değilse ESP8266, Arduino’nun yerini alabilecek kapasitede bir kart. Bu kartın en büyük avantajı, onu kolaylıkla internete bağlayabilmeniz. Wi-fi ağlarını kolaylıkla görebiliyor, yani internet tabanlı projeler geliştirebilirsiniz.

Bu kartın farklı markalar tarafından üretilen modelleri de var. En sık karşılaştığımız iki versiyon ise ESP-01 ve ESP-12 olarak bilinen modeller.

ESP-01 modelinin 4 adet giriş çıkış pini var ve basit projeler için ideal. Üzerinde USB yuvası içermiyor ve bilgisayara bağlayıp programlamak için ek adaptöre ihtiyacınız var. ESP-12 ise daha büyük ve daha çok giriş/çıkış pinine sahip. Ayrıca ESP-12 modeli, dahili USB haberleşme portu barındıran kartlara yerleştirilmiş olarak satılıyor.

Bu videomuzu ESP-01 üzerine çektik. ESP 8266 mikro kontrolcüler varsayılan olarak Arduino IDE yazılımı ile uyumlu gelmiyor. Bunun için ESP-01 üzerine NodeMCU modelinin firmware’ini flaşlayabiliyoruz.

Flaşlama işlemi için FTDI adaptörü denilen bir parçaya ihtiyacınız olacak.

Bu parça, seri portu kullanarak bilgisayarınızın ESP8266 ile haberleşmesini sağlıyor. Bir ucuna mini USB bağladığınız adaptörün diğer pin çıkışlarını resimde gördüğünüz şekilde ESP8266’ya bağlamanız gerekiyor.

Ardından aşağıdaki linklerden indirebileceğiniz NodeMCU flasher uygulamasını kullanarak NodeMCU 0.9.5 sürüm firmware’ını ESP 8266 kartımıza yüklüyoruz.

NodeMCU Firmware Flasher uygulaması

NodeMCU Firmware sürüm 0.9.5

NodeMCU ve Win64 klasörlerini sırasıyla açıp, buradaki “ESP8266Flasher.exe” dosyasını çalıştırıyorsunuz. Uygulama çalıştığında ESP8266’nın hangi COM portunda takılı olduğunu otomatik tespit edip burada gösterecektir. Eğer göstermiyorsa FTDI adaptörünüzün sürücüleri doğru yüklenmemiş demektir. Aşağıdaki linkten FTDI sürücülerini yükleyebilirsiniz.

FTDI VCP sürücüsü

NodeMCU Flasher uygulamasında COM portu yanında bir sayı görüyorsanız, sürücüler sorunsuz yüklenmiş demektir. Bir sonraki adıma geçebilirsiniz. Config sekmesine gelip oradan da indirdiğiniz .bin uzantılı firmware dosyasını seçiyorsunuz. Başka herhangi bir ayarı değiştirmenize gerek yok, Flash butona basın. “AP MAC” ve “STA MAC” altında ESP 8266’nın MAC adreslerini ve bu mavi yükleme çubuğunun yavaş yavaş dolduğunu görmeniz gerekiyor.

Yükleme işlemi bittiğinde USB kablosunu çıkarın ve ESP8266’ya giden gücü kesin. Şimdi ESP8266’yı flaş modundan kullanıcı moduna almamız gerekiyor.

Reset pinini ESP8266’dan sökün ve görmekte olduğunuz GPIO 0 (Giriş/Çıkış 0) pinini ortak toprağa bağlayıp ESP8266’ya güç verin. Bu, ESP8266’yı flaşlama modundan çıkarıp programlama moduna geçirir.

Mikro kontrolcünün 4 giriş çıkış pini var demiştik. Programlama esnasında, yani kart FTDI seri adaptörle bilgisayara bağlıyken, sadece 0 ve 2 numaralı giriş çıkış pinleri boşta. 1 ve 3 numaralı giriş/çıkış pinleri aynı zamanda FTDI seri adaptörü tarafından TX ve RX olarak işlev gördüğü (yani bilgisayarınızla haberleşmekte kullanıldığı için) bilgisayarınıza bağlayıp programlarken 1 ve 3 numaralı pinleri kullanamıyorsunuz. Ancak kodunuzu yükleyip bilgisayarla bağlantısını kestikten sonra bunlar işlevsel hale geliyor.

Şimdi işin programlama kısmına gelelim. Arduino IDE yazılımı kurulu değilse indirip bilgisayarımıza kuruyoruz. Bu yazılım varsayılan olarak Arduino mikrokontrolcüleri programlamak için tasarlandığından bazı değişiklikler yapmamız gerekecek.

Dosya>Tercihler bölümü altında “Ek devre kartları yöneticisi URL’leri” karşısına bu satırı kopyalayıp yapıştırın ve Tamam’a tıklayıp pencereyi kapatın:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

Ardından Araçlar > Kart> Kart yöneticisi menü yolunu takip edip kart yöneticisini açın. Arama kutucuğuna ESP8266’yazıp çıkan paketi kurun.

Artık Araçlar>Kart menüsü altında ESP8266 kartlarının görüntülendiğini fark edeceksiniz. Buradan “Generic ESP8266 Module” seçeneğini seçiyoruz.

Mesela şimdi örnek bir şablon kodunu ESP8266’ya yüklemeyi deneyelim. Dosya>Örnekler menüsü altından ESP8266’ya geliyoruz ve “Blink”i seçiyoruz.

Blink kodu ESP8266 üzerindeki mavi LED’i yakıp söndürecek. Bizdeki ESP-01 versiyonu olduğu için dahili LED bir numaralı giriş çıkış pinine bağlı. Bu yüzden araçlar menüsü altındaki Built-in LED’den 1 seçeneğini seçiyoruz.

Arduino IDE yazılımındaki kod yükleme butonuna bastığınızda hem FTDI adaptörünün, hem de ESP8266’nın ışıklarının hızlı hızlı yanıp sönmesi gerek. Bu da kodun derlenip karta yüklendiğini gösteriyor.

Yükleme bittiğinde GPIO 0 kablosunu toprak hattından söküp, ESP8266’ya giden gücü kesip tekrar veriyoruz. GPIO 0 pinini sadece Arduino IDE ile ESP8266’ya kod yüklerken ortak toprağa takıyoruz. Kodumuzu çalıştırdığımız anda bu kabloyu toprak hattından çıkarmalıyız.

Gördüğünüz gibi mavi LED yanıp sönmeye başladı. Bu, ESP8266’da çalıştırabileceğimiz en basit kodlardan biridir.

Şimdi biraz daha detaylı bir örnek şablonla ESP8266’nın kablosuz yeteneklerine bakalım. Dosya>Örnekler menüsü altında “ESP8266 Wifi” menüsüne gelin, oradan da “Wifi Scan” örneğini seçin. Bu kodun yaptığı iş, civardaki Wi-fi kablosuz ağların taranması ve listelenmesidir. ESP8266 bulduğu WI-FI ağları listeleyip “Serial Monitör” penceresinden bize çıktı verecektir.

Görüldüğü üzere ESP8266 içindeki dahili kablosuz iletişim modülü sayesinde Wi-Fi ağlarla haberleşebiliyor.

ESP8266 üzerine videolar yapmaya devam edeceğiz. Özellikle Nesnelerin İnterneti (IoT) üzerine bazı projelerimiz olacak. Röle modülüne bağlı bir ESP8266’yı elektrikle çalışan herhangi bir ev eşyanızı açıp kapamakta kullanmak gibi projeler yapmayı planlıyoruz. Ayrıca bu kartın daha gelişmiş versiyonu olan ESP-12’yi de yakından inceleyeceğiz. ESP8266 ile yapılabilecek örnek projeler ve fikirler için Technopat‘ı takip etmeye devam edin.