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.

Kıyaslama: NodeMCU ESP8266 vs Arduino Kartları esp8266 vs arduino,nodemcu,arduino uno

Kıyaslama Tablosu

ESP8266 NODEMCU V2 NODEMCU V3 Arduino NANO 3 Arduino UNO R3 Arduino MEGA R3
Mikroişlemci ESP8266 ESP8266 ATmega328p ATmega328p ATmega2560
Çalışma Voltajı 3.3V 3.3V 5V 5V 5V
Giriş Voltaj Aralığı 7V – 12V 7V – 12V 7V – 12V 7V – 12V 7V – 12V
Akım Tüketimi 15 µA – 400 mA 15 µA – 400 mA 19 mA – 180 mA 45 mA – 80 mA 50 mA – 200 mA
DeepSleep Akım Tüketimi 0.5 µA 0.5 µA 23 µA 35 mA 500 µA
Dijital I/O Pinleri 11 or 13 16 14 14 54
Dijital I/O PWM Pinleri 11 or 13 16 6 6 15
Analog Giriş Pinleri 1 1 8 6 16
SPI/I2C/I2S/UART 2/1/2/2 2/1/2/2 1/1/1/1 1/1/1/1 1/1/1/4
I/O Pin başına Maks. DC Akım 12 mA 12 mA 40 mA 40 mA 20 mA
3.3V Pin için Maks. DC Akım 50 mA 150 mA 150 mA
Flash Bellek 4 MB 4 MB 32 KB 32 KB 256 KB
SRAM n.A 64 KB 2 KB 2 KB 8 KB
EEPROM 512 bytes 512 bytes 1024 bytes 1024 bytes 4096 bytes
Saat Hızı 52 MHz 80 MHz 16 MHz 16 MHz 16 MHz
Uzunluk 48 mm 58 mm 45 mm 69 mm 102 mm
Genişlik 26 mm 31 mm 18 mm 53 mm 53 mm
WIFI var var yok yok yok
Bluetooth yok yok yok yok yok
CAN yok yok yok yok yok
Ethernet MAC Arayüzü yok yok yok yok yok
Jack Güç Girişi yok yok yok var var
USB Bağlantısı var var var var var

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.