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 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.
Yorum yapma özelliği, forum tarafından gelen istek sebebiyle kapatılmıştır. Lütfen tartışmalar ve sorularınız için topluluk forumumuza katılın.