Nodemcu #1

Merhaba!

Bugün Nodemcu’ya giriş yapıyoruz. Bugün konu başlıkları şöyle olacak:

  • Nodemcu nedir?
  • Nodemcu ile neler yapılabilir?
  • Nodemcu nasıl programlanır?
  • Nodemcu üzerindeki pinler ne işe yarar?
  • Nodemcu nasıl kullanılır?
  • Nodemcu nedir?

Nodemcu, ESP8266 adlı Wi-Fi modülün kart haline getirilmesiyle oluşmuştur. Bu oluşumda bir çok dijital, pwm, güç ve haberleşme pinleri de bu kart üzerinde bulunmaktadır. Bu kartın Arduino kartından farkı, maliyetinin az olması ve her şeyin tek bir modül halinde toplanarak, tam bir IoT (Internet of Things = Nesnelerin İnterneti) kartı olarak piyasaya sürülmesidir.

  • Nodemcu ile neler yapılabilir?

Nodemcu ile genelde internet tabanlı çalışmalar yapmak daha iyi olacaktır. Tabiki de sadece internet tabanlı şeyler yapmanızı sağlamıyor. Aslında Arduino + ESP8266 olarak düşünebiliriz. Bu sayede örneğin bir buton’a tıkladığımızda sayan ve daha sonra onu LCD ekran üzerinden gösteren bir sistemden tutunda, hava istasyonu vs. yapmanıza olanak sağlıyor.

Ama burada önemli olan bir soru ise projelerde nasıl bir kart seçimi yapmalıyız?

Kart seçimi yaparken ise proje internet tabanlı mı olacak? yoksa internet tabanlı olmayan bir proje mi olacak?

Eğer sorunuzun cevap internet tabanlı ise, Nodemcu işinizi kesinlikle görecektir. Eğer internet tabanlı olmayan bir proje olacak ise Arduino kullanmaya başlayabilirsiniz.

  • Nodemcu nasıl programlanır?

Nodemcu’yu programlarken iki yol vardır:

Lua: İlk baktığımda oldukça karışık bir dili var. Normalde basit bir dile benziyor ama işin içerisine donanımsal bir şeyleri kontrol etmek gelince, haliyle dile bir kaç eklenti girerek daha karışık bir hal almasına sebep oldu.

Arduino IDE: Nodemcu’yu programlayacağım bu dildir. Oldukça sade olup, temel syntax mantığını ve algoritmanızı iyi bildiğinize emin olduğunuz sürece, bu dil size robotik ve IoT alanında altın anahtarınız olacaktır. Bende bu sebeplerden dolayı bu dili seçiyorum.

MicroPython: Lua ve MicroPython editörlerini hiç kullanmadım. MicroPython için bir kaç firmware vs. yüklemeniz gerekiyor. MicroPython ile ilgili internette çokça kaynak olduğu için maalesef, yardımcı bir doküman hazırlayamayacağım.

  • Nodemcu üzerindeki pinler ne işe yarar?

İlk önce şunu söyleyerek işe başlayalım. Ben kartın üzerindeki pinleri size tanıtırken, en çok kullanacağımız pinleri tanıtıyorum. Diğer pinlerden neden bahsetmedin? diye sorarsanız, onları kullanmayacağım için şu anlık bilmemize gerek yok diye düşünüyorum.

D0-D8 ile arasındaki pinler dijital pinlerdir. Toplam 9 adet dijital pin mevcuttur.

Bir adet Analog pin vardır. A0 pini Analog pindir.

Alt resimde görmüş olduğunuz şekillerdeki dalgalı pinler PWM, düz olan pinler ise dijital pinlerdir.

PWM pinler hem dijital hemde PWM olarak kullanılsa da, düz çizgili olan dijital pinler sadece dijital olarak kullanılmaktadır.

Güç pinleri ise toplam sekiz adettir. Toplam üç adet 3.3V pini,  dört adet GND pini, bir adet ise Vin pini vardır.

Vin pinine dışarıdan bağlayacağımız güç kaynağının + kısmını bağlayacağız.

  • Nodemcu nasıl kullanılır?

İlk önce Nodemcu’yu kılıfından ya da o değerli antistatik poşetinden çıkarıp bir kenara koyalım. Bilgisayarınıza güncel Arduino IDE sürümünü indirerek işe başlayalım. Arduino IDE programını indirdikten sonra maalesef kart bölümünde Nodemcu bulunmayacaktır.

İlk önce Nodemcu’yu Arduino IDE’ye dahil etmeliyiz. Dahil etmek için sırasıyla şunu yapalım:

1)  İlk önce Dosya (File) / Tercihler (Preferences) / Ek Devre Kartları Yöneticisi URL’leri kısmına bir sonraki adımdaki URL’yi kopyalayıp ve yapıştırıp daha sonra tamam butonuna tıklayalım.

2) http://arduino.esp8266.com/versions/2.4.0/package_esp8266com_index.json

3) Şimdi ise Araçlar (Tools) / Kart (Board) / Kart Yöneticisi (Boards Manager) kısmını açtıktan sonra alttaki yüklenme çubuğunun dolmasını biraz bekleyelim.

4) Alttaki yüklenme çubuğu bittikten sonra yukarıda bulunan arama kısmına ESP yazalım ve kısa süre bekleyelim.

5) Sonuçlarda çıkan kart yönetim bilgilerinden “esp8266 by ESP8266 Community” kısmındaki kartın, sağ alt köşesinde bulunan versiyon numarası kısmındaki versiyonlardan en son versiyonu seçtikten sonra “Kur(Install)” butonuna basalım ve alttaki yüklenme çubuğunun dolmasını bekleyelim. Bu işlem oldukça uzun sürecek.

Malum internet hızımız ne kadar ilham verici değil mi ?

6) Alttaki yüklenme çubuğu bittiğine göre, artık ayarları şöyle yapabiliriz:

Araçlar (Tools) / Kart (Board): NodeMCU 1.0 (ESP-12E) kartını,

Araçlar (Tools) / CPU Frekansı (CPU Frequency): 80 Mhz frekansını,

Araçlar (Tools) / Flash Boyutu (Flash Size): 4M (3M SPIFFS) boyutunu,

Araçlar (Tools) / Yükleme Hızı (Upload Speed): 115200 hızını,

Araçlar (Tools) / Port kısmında ise kartı bağladığınız USB bağlantısını seçmeliyiz.

7) Artık her şey hazır. Bir sonraki blog’da Nodemcu ile led kontrolü yapacağız.

Bir sonraki blog’da görüşmek üzere.

Sevgilerimle ♥

You May Also Like

Comments

Erdal

Merhaba
Öncelikle değerli yazınız için teşekkürler. Size bir sorum olacak.led açık durımda iken nodemcu güç kesilip gelince tekrar led in yanmasını nasıl sağlarız.

    Resul Tüzen

    Led’in en son ki durumunu bir değişkene kayıt etmelisiniz. Daha sonra bu değişkeni belirli bir zamanda EEPROM’a kayıt edebilirsiniz. Elektrik gidip geldiğinde ise yine en son ki değişkeni kendine referans alıp, buna göre hareket edebilir.

Ebubekir

Merhaba nodemcu ile bir proje geliştiriyorum ve 3 adet analog pin girişi gerekli ama kartta 1 adet analog pin var bu pinleri nasıl çoğaltabilirim?

    Resul Tüzen

    Merhaba, shift register tarzında bir şey kullanmanız gerekiyor. Şöyle bir şey buldum: https://www.instructables.com/id/How-to-Use-Multiple-Analog-Sensors-on-Your-ESP8266/

Serhat

Merhabalar,

Açıklayıcı ve bilgilendirici yazınız için teşekkürler. 3D Printer ile bağlantılı olarak yazdırma işlemi bittiğinde mesaj olarak gelmesini ya da mail olarak gelmesini istiyorum. Bunu nasıl yapabileceğim hakkında bilginiz var mı acaba ?

    Resul Tüzen

    Selamlar,

    OctoPi kullanarak bunu kolaylıkla yapabilirsiniz. Eğer NodeMCU kullanarak yapmak istiyorsanız Marlin veya Repetier dosyasına müdahale etmeniz gerekecek.

Leave a Comment

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>