NodeMCU Nedir ve Teknik Özellikleri Nelerdir?
Bu yazımızda NodeMcu nedir ve teknik özelliklerinin ne olduğunu öğreneceğiz.NodeMCU, özellikle IoT tabanlı uygulamalar için hedeflenen açık kaynaklı bir Lua tabanlı ürün yazılımı ve geliştirme kartıdır. Espressif Systems’ın ESP8266 Wi-Fi SoC’sinde çalışan bellenimi ve ESP-12 modülüne dayalı donanımı içerir.
NodeMCU V3 Teknik Özellikleri
Mikrodenetleyici | ESP-8266 32-bit |
NodeMCU Boyutu | 58mm x 32mm |
Çalışma Hızı | 80 MHz |
USB TTL Dönüştürücü | CH340G |
Usb Bağlantı | Mikro USB |
Çalışma Voltajı | 3.3V |
Giriş Voltajı | 4.5V-10V |
Flaş Bellek/SRAM | 4 MB / 64 KB |
Giriş/Çıkış(I/O) Pin Sayısı | 11 |
Analog Pin Sayısı | 1 |
ADC Aralığı | 0-3.3V |
UART/SPI/I2C Sayısı | 1 / 1 / 1 |
Dahili Wifi | 802.11 b/g/n |
Çalışma Sıcaklık Aralığı | (-40C) – (125C) |
NodeMCU Pin Diyagramı
Güç Pinleri: Dört adet güç pimi vardır. VIN pini ve üç adet 3.3V pin.
- VIN, NodeMCU/ESP8266 ve çevre birimlerini doğrudan beslemek için kullanılabilir. VIN’de verilen güç, NodeMCU modülündeki yerleşik regülatör aracılığıyla düzenlenir – ayrıca VIN pinine düzenlenmiş 5V besleyebilirsiniz
- 3.3V pinler, yerleşik voltaj regülatörünün çıkışıdır ve harici bileşenlere güç sağlamak için kullanılabilir.
GND: : NodeMCU/ESP8266’nın topraklama pinleridir
I2C Pinleri: I2C sensörlerini ve çevre birimlerini bağlamak için kullanılır. Hem I2C Master hem de I2C Slave desteklenir. I2C arayüz işlevselliği programlı olarak gerçekleştirilebilir ve saat frekansı maksimum 100 kHz’dir. I2C saat frekansının, bağımlı cihazın en yavaş saat frekansından daha yüksek olması gerektiğine dikkat edilmelidir.
GPIO Pinleri: NodeMCU/ESP8266, I2C, I2S, UART, PWM, IR Uzaktan Kumanda, LED Işık ve Buton gibi fonksiyonlara programlı olarak atanabilen 17 GPIO pinine sahiptir. Dijital olarak etkinleştirilmiş her GPIO, dahili Pull Up veya Pull Down için yapılandırılabilir veya yüksek empedansa ayarlanabilir. Giriş olarak yapılandırıldığında, CPU kesintileri oluşturmak için kenar tetikleyici veya seviye tetikleyici olarak da ayarlanabilir.
ADC Kanalı: NodeMCU, 10 bit hassas SAR ADC ile gömülüdür. İki işlev ADC kullanılarak gerçekleştirilebilir. VDD3P3 pininin güç kaynağı voltajının test edilmesi ve TOUT pininin giriş voltajının test edilmesi. Ancak aynı anda uygulanamazlar.
UART Pinleri: NodeMCU/ESP8266, asenkron iletişim (RS232 ve RS485) sağlayan ve 4,5 Mbps’ye kadar iletişim kurabilen 2 UART arayüzüne (UART0 ve UART1) sahiptir. UART0 (TXD0, RXD0, RST0 & CTS0 pinleri) iletişim için kullanılabilir. Ancak, UART1 (TXD1 pini) yalnızca veri iletim sinyaline sahiptir, bu nedenle genellikle günlük yazdırmak için kullanılır.
SPI Pinleri: NodeMCU/ESP8266, bağımlı ve ana modlarda iki SPI (SPI ve HSPI) içerir. Bu SPI’ler ayrıca aşağıdaki genel amaçlı SPI özelliklerini de destekler:
- SPI format transferinin 4 zamanlama modu
- 80 MHz’e kadar ve 80 MHz’lik bölünmüş işlemciler.
- 64-Byte’a kadar FIFO
SDIO Pinleri: NodeMCU/ESP8266, SD kartlarına doğrudan arayüz sağlamak için kullanılan Güvenli Dijital Giriş/Çıkış Arayüzüne (SDIO) sahiptir. 4-bit 25 MHz SDIO v1.1 ve 4-bit 50 MHz SDIO v2.0 desteklenir.
PWM Pinleri: Kartta 4 kanal Darbe Genişlik Modülasyonu (PWM) vardır. PWM çıkışı programlı olarak uygulanabilir ve dijital motorları ve LED’leri sürmek için kullanılabilir. PWM frekans aralığı 1000 μs ile 10000 μs (100 Hz ve 1 kHz) arasında ayarlanabilir.
Kontrol Pinleri: NodeMCU/ESP8266’yı kontrol etmek için kullanılır. Bu pinler Chip Enable pini (EN), Reset pini (RST) ve WAKE pinini içerir.
- EN: EN pini YÜKSEK çekildiğinde ESP8266 yongası etkinleştirilir. DÜŞÜK çekildiğinde çip minimum güçte çalışır.
- RST: RST pini, ESP8266 çipini sıfırlamak için kullanılır.
- WAKE: Uyandırma pimi, çipi derin uykudan uyandırmak için kullanılır.
NodeMCU İle Led Yakma
Gerekli Malzemeler:
- 220 Ohm direnç
- 1 adet led
- NodeMCU
- Breadbord
Aşağıdaki gibi devremizin elemanlarını birbirine bağlayalım.
LED’in iki ayağından kısa olanını NodeMCU’nun GND’sine (220 Ohm’luk bir direnç aracılığıyla) ve uzun ayağını D7 pinine NodeMCU’muzu ve LED’imizi yukarıdaki gibi breadboard’a bağlayalım.
Direnç, bir devreden geçen akımı sınırlamak için kullanılan elektronik bir bileşendir. Bizim durumumuzda, LED’i yanma veya stresten korumak için kullanıyoruz.
Pin D7 (Dijital pin 7) Arduino IDE’deki Pin 13’e karşılık gelir. Bu yüzden aşağıdaki kodu Arduino IDE kod düzenleyicisine kopyalıyoruz:
void setup() {
//13. pini led için çıkış olarak ayarlıyoruz
pinMode(13, OUTPUT);
}
void loop() {
//ledi yakıyoruz
digitalWrite(13, HIGH);
//1sn bekliyoruz
delay(1000);
//ledi söndürüyoruz
digitalWrite(13, LOW);
//1sn bekliyoruz
delay(1000);
}
ve kodumuzu yüklüyoruz. Ardından ilk Blink(yanıp sönme) programımızın keyfini çıkarıyoruz.