Kıyaslama: NodeMCU ESP8266 vs Arduino Kartları

Bu yazıda NodeMCU ESP8266 ve Arduino UNO arasındaki farklara bakacağız.

ESP8266, Wi-Fi özelliğine sahip bir mikroişlemcidir. Bu sistemle birlikte farklı modüller ve geliştirme kartları bulunmaktadır. Bazı geliştirme kartları temel esp8266 modüllerini kullanır ve bazıları çip flash belleği ve anteni PCB’ye entegre eder.

NodeMCU, ESP8266’ya sahip bir geliştirme kartı ve aynı ada sahip bir geliştirme ortamıdır.

Benzer şekilde Arduino Uno, 8 bit ATmega328P mikro denetleyiciye dayalı bir geliştirme kartıdır. ATmega328P’nin yanı sıra mikrodenetleyiciyi desteklemek için kristal osilatör seri haberleşme voltaj regülatörü vb. gibi diğer unsurları içerir. Arduino Uno, 6’sı PWM çıkışı olarak kullanılabilen 14 dijital giriş çıkış (I/O) pinine sahiptir, 6 analog giriş pini, bir USB bağlantısı, güç jakı, bir ICSP başlığı ve bir sıfırlama düğmesine sahiptir.

Çalışma Voltajları

ESP mikroişlemcilerinin çalışma voltajı, 5v’luk Arduino çalışma voltajına kıyasla 3,3 V’dur. Kesintisiz ve sabit bir güç kaynağına bağlıyken kullanılan geliştirme kartlarında, güç tüketiminde hiçbir fark olmayacaktır, çünkü akım aynı miktarda güç toplamak için azaltılacaktır, ancak pille çalışan bir durumda, fark çok daha büyük olacaktır, çünkü pil boşaltma eğrisi çalışma voltajının altına düşerse mikroişlemci kapanacaktır.

Bu nedenle, ESP tabanlı kartlar daha uzun bir çalışma süresine sahip olacaktır, çünkü bu kartlar 4 V’ta çalışabilir fakat Arduino kartları 4V’a düştüğü an çalışmayı durduracaktır bunun başlıca sebebi, LM7805 voltaj regülatörüdür(Minimum çalışma voltajı 5V’tur).

ESP8266 kartlarından gerekli olan güç kaynağı aralığı, farklı kartlara bağlı olarak 2.5 V ila 12 V arasındadır ve Arduino kartlarının 7V ile 12V arasında daha yüksek bir güç kaynağına ihtiyacı vardır. Gerçekte farkın büyük bir etkisi olmayacaktır.

Güç Tüketimi

Pil bazlı projelerde, projenin ömrünü uzatmak için akım tüketiminin önemli olduğunu biliyoruz. Ortak olarak NodeMCU, ESP8266 mikroişlemcisine dayalıdır ve 15 µA ile 400 mA arasında çok düşük bir akım tüketimine sahiptir ve bu, 0,5 µA’ya etkinleştirilen derin uyku modu ile daha da düşürülebilir. 35 mA ile Arduino Uno için derin uyku modunda mevcut tüketim 70000 faktör daha yüksektir. Bir pil güç kaynağı olduğunda her zaman ESP tabanlı bir geliştirme kartı tercih sebebi olabilir.

Dijital G/Ç(I/O), Analog G/Ç(I/O), PWM Pinleri

Dijital G/Ç Pinleri

Dijital I/O pinleri ile ilgili tüm kartlar arasındaki fark neredeyse sıfırdır, ESP8266, 17 GPIO pine sahiptir, Arduino UNO ise, 14 dijital pine sahiptir. Tek değişken, NodeMCU ESP32 gibi büyük kartlar ve en büyük kart olan Arduino MEGA R3 (54) çok sayıda dijital I/O pinine sahip olmasıdır.

Analog G/Ç Pinleri

NodeMCU için en büyük dezavantaj, sadece 1 veya 2 analog pinine sahip olmasıdır. Tabii ki bir multiplexer entegre(çoklayıcı) kullanabilirsiniz, ancak doğrudan kartın kendisinde doğru miktarda analog pininiz varsa kullanmanın daha kolay olduğunu düşünüyoruz. Arduino UNO kartları 6 analog pinine sahiptir.

PWM Pinleri

ESP tabanlı kartlarda dijital I/O pinleri ile PWM pinleri arasında daha iyi bir orana sahip çünkü PWM dijital pin tarafından kullanılıyor bu yüzden Arduino UNO’da NodeMCU’da yeterli PWM pinine sahiptir, Arduino 6 adet PWM pinine, NodeMCU tüm dijital I/O pinlerinde PWM’ye sahiptir.

SPI

İki geliştirme kartıda bu haberleşme protokolüne sahiptir. Haberleşme protokolleri hakkında daha fazla bilgi için bu yazımızı okuyabilirsiniz.

I2C

İki geliştirme kartıda bu haberleşme protokolüne sahiptir.

UART

SPI ve I2C gibi bir iletişim protokolü değildir, mikrodenetleyicideki fiziksel bir devredir. Temel amaç seri veri iletmek ve almaktır. Genellikle ESP tabanlı kartların ve Arduino kartlarının bu veri aktarım bağlantıları için en az bir pimi vardır, ancak ESP modüllerinin bu tür iletişim için çoğunlukla 2. bir pimi vardır.

Flash Memory(Bellek) ve SRAM

Program alanını anlatan Flash bellek, Arduino taslağının saklandığı yerdir.
SRAM (statik rasgele erişim belleği), program kodlarının çalıştığında değişkenleri oluşturduğu ve yönettiği yerdir.
EEPROM, programcıların uzun vadeli bilgileri depolamak için kullanabilecekleri bellek alanıdır.

Flash bellek ve EEPROM bellek kalıcıdır, güç kapatıldıktan sonra bilgilerin kalması devam eder. SRAM uçucudur ve güç kapatıldığında veriler kaybolacaktır.

Detaylı kıyaslama tabloda.

Clock Speed(Saat Hızı)

Arduino kartlarının tümü 16 MHz ile çalıştığından, mikroişlemcinin saniyede 16 milyona kadar komut çalıştırabileceği anlamına gelir ki bu kulağa çok gelebilir ancak basit bir dijital pinin yüksek olarak ayarlanmasının 50 saat döngüsünün üzerine çıkabileceğini düşündüğünüzde oldukça az bir hız olarak kalıyor.

ESP tabanlı kartlar, ESP32 için 52 MHz’den 160 MHz’e kadar saat hızıyla çok daha hızlıdır. Bu saat hızı Arduino UNO’dan 10 kat daha hızlıdır. Bu nedenle, çok sayıda işlem içeren büyük bir proje planlıyorsanız, ESP tabanlı geliştirme kartlarını tercih etmelisiniz.

WiFi

Arduino hayranları için kötü bir haber ve ESP kullanıcıları için iyi bir haber. Arduino Uno iki versiyonda mevcuttur. Biri Wi-Fi’siz ve biri Wi-Fi geliştirme kartına dahildir. Ancak endişelenmeyin, çünkü varsayılan olarak Wi-Fi entegresi olmamasına rağmen Wi-Fi kullanmak için birçok olasılık vardır. Bir Arduino Wi-Fi modülü kullanabilir veya Arduino kartını bir ESP-01 ile Wi-Fi dahil olarak bağlayabilirsiniz.

Boyut

Bu mikrodenetleyici karşılaştırmasında, toplam pin sayısı üzerinde büyük bir etki faktörü olan farklı boyutlardaki geliştirme kartlarına bakıyoruz. Geliştirme kartı ne kadar fazla pinine sahipse, kart o kadar büyük olur, genellikle NodeMCU gibi ESP tabanlı kartlar bu Arduino kartlarından daha küçüktür ve proje boyutunuza bağlı olarak bir breadboard’a sığar, fakat Arduino Nano, Arduino Pro Mini gibi Arduino ailesine ait diğer geliştirme kartları, NodeMCU V3’ten daha bile küçüktür.

esp8266 vs arduino

Kıyaslama Tablosu

ESP8266 NODEMCU V2NODEMCU V3Arduino NANO 3Arduino UNO R3Arduino MEGA R3
MikroişlemciESP8266ESP8266ATmega328pATmega328pATmega2560
Çalışma Voltajı3.3V3.3V5V5V5V
Giriş Voltaj Aralığı7V – 12V7V – 12V7V – 12V7V – 12V7V – 12V
Akım Tüketimi15 µA – 400 mA15 µA – 400 mA19 mA – 180 mA45 mA – 80 mA50 mA – 200 mA
DeepSleep Akım Tüketimi0.5 µA0.5 µA23 µA35 mA500 µA
Dijital I/O Pinleri11 or 1316141454
Dijital I/O PWM Pinleri11 or 13166615
Analog Giriş Pinleri118616
SPI/I2C/I2S/UART2/1/2/22/1/2/21/1/1/11/1/1/11/1/1/4
I/O Pin başına Maks. DC Akım12 mA12 mA40 mA40 mA20 mA
3.3V Pin için Maks. DC Akım50 mA150 mA150 mA
Flash Bellek4 MB4 MB32 KB32 KB256 KB
SRAMn.A64 KB2 KB2 KB8 KB
EEPROM512 bytes512 bytes1024 bytes1024 bytes4096 bytes
Saat Hızı52 MHz80 MHz16 MHz16 MHz16 MHz
Uzunluk48 mm58 mm45 mm69 mm102 mm
Genişlik26 mm31 mm18 mm53 mm53 mm
WIFIvarvaryokyokyok
Bluetoothyokyokyokyokyok
CANyokyokyokyokyok
Ethernet MAC Arayüzüyokyokyokyokyok
Jack Güç Girişiyokyokyokvarvar
USB Bağlantısıvarvarvarvarvar

Uygulama Alanları

Arduino Uygulamaları

Elektronik Ürün ve Sistemlerin Prototiplenmesi
Çoklu Kendin Yap Projelerinde.
Başlangıç seviyesindeki kendin yapçılar için kullanımı kolaydır.
Çoklu I/O arabirimleri ve iletişim gerektiren projeler.

NodeMCU Uygulamaları

IoT cihazlarının prototiplenmesi
Düşük güç pille çalışan uygulamalara sahiptir
Ağ projelerinde kullanılır.
Wi-Fi ve Bluetooth işlevlerine sahip birden fazla I/O arabirimi gerektiren projeler.