ESP32, Arduino'ya Karşı
ESP32, düşük güçte çalışabilen 32 bit mikrodenetleyici çipine sahip düşük maliyetli bir mikrodenetleyici kartıdır. ESP32 entegre Wi-Fi ve çift Bluetooth mevcuttur. Espressif sistemi tarafından oluşturulur. ESP32, aynı üretici tarafından oluşturulan ESP8266 kartlarının halefidir. ESP32 maliyetine, boyutuna ve güç tüketimine dayalı olarak, IoT tabanlı bir Kendin Yap projesi için en uygun olanıdır. ESP32 çipi içerir Tensilica Xtensa LX6 Çift çekirdekli ve 240MHz'in üzerinde saat frekansına sahip mikroişlemci.
Diğer tarafta mikrodenetleyici kelimesini duyduğumuzda aklımıza gelen ilk isim ise; Arduino Arduino, 8-bit Uno'dan 32-bit sıfıra kadar bir dizi farklı kartla birlikte mevcut geniş desteği nedeniyle mikrodenetleyici kartlarına çok uzun süredir liderlik ediyor. Arduino panoları dayanmaktadır ATmega AVR mikrodenetleyicileri . Arduino kartları, küçük boyutlu projeler için mükemmel uyum sağlayan nano'dan, 54 dijital giriş/çıkış pini sayesinde birden fazla cihazı idare edebilen Arduino mega'ya kadar başlar.
ESP32 Arduino'dan Daha İyi mi?
Evet , ESP32, Arduino'dan daha iyi ve daha güçlü bir mikrodenetleyici kartıdır. ESP32, dahili çift Wi-Fi ve Bluetooth desteğine sahiptir. Tam yığın internet bağlantısı için tam TCP/IP desteğine sahiptir. Wi-Fi modülü sayesinde, bir Wi-Fi istasyonunun yanı sıra bir erişim noktası görevi görebilir. 32 bit mikrodenetleyicisi ve 240 MHz'e kadar saat frekansı nedeniyle Arduino'dan çok ileridedir.
Aşağıdaki önemli noktalar, ESP32'nin neden Arduino'dan daha iyi olduğuna dair daha iyi bir bakış açısı sunar:
- ESP32, 32 bit mikrodenetleyiciye sahiptir
- Çift Wi-Fi ve Bluetooth desteği
- Düşük voltaj seviyesinde çalışır (3.3V)
- ESP32'de 18 ADC kanalı varken Arduino Uno'da sadece altı tane var
- ESP32 48 GPIO piniyle gelirken Uno'da sadece 14 dijital giriş/çıkış pini ve 6 analog pin bulunur
- ESP32 kartı Arduino Uno'dan daha ucuz
Arduino ve ESP32 arasındaki bir karşılaştırmayı okumak için tıklayın burada .
ESP32, Arduino Uno ve Arduino Mega Hız Karşılaştırması
Mikrodenetleyici kartı ESP32, Arduino Uno ve Mega'nın saat frekansları aşağıdadır.
Arduino Bir: 16MHz dahili saat
Arduino Mega: 16MHz dahili saat
ESP WROOM 32: 80MHz ila 240MHz arasında ayarlanabilir.
Hepimiz mikrodenetleyicilerin saat kaynaklarına güvendiğini biliyoruz. Daha güçlü bir saat, talimatları yürütmek için daha az zaman demektir. Yukarıdaki üç mikrodenetleyici kartının hızları arasındaki farkı görelim.
imzasız uzun Start_Time, Time_Taken ;#define pini 5 /*pin 5 durumunu değiştirmek için tanımlandı*/
geçersiz kurmak ( ) {
Seri. başlamak ( 9600 ) ; /*Seri iletişim için tanımlanmış baud hızı*/
pinModu ( pim, ÇIKIŞ ) ; /*pin 5 çıkış olarak tanımlandı*/
}
geçersiz döngü ( ) {
Başlangıç saati = milis ( ) ; /*başlangıç zamanı Millis sayacına eşittir*/
için ( int i = 0 ; i < 20000 ; i ++ ) { /*for döngüleri 20000 kez çalışır*/
dijitalWrite ( pim, YÜKSEK ) ; /*pin durumu YÜKSEK olarak değişir*/
dijitalWrite ( pim, DÜŞÜK ) ; /*pin durumu DÜŞÜK olarak değişir*/
}
Geçen süre = milis ( ) - Başlangıç saati ; /*Alınan zamanı döndürmek için hesaplanan zaman farkı*/
Seri. Yazdır ( 'PIN 5'teki durumu değiştirmek için geçen süre: ' ) ;
Seri. Yazdır ( Geçen süre ) ; /*Alınan toplam süre yazdırılır*/
Seri. println ( 'Hanım' ) ;
}
İlk olarak, iki değişkeni başlattık Başlangıç saati ve Geçen süre. Biri başlangıç zamanını Millis'te depolarken, ikincisi mikrodenetleyici tarafından YÜKSEK ve DÜŞÜK olan iki durum arasında geçiş yapmak için geçen toplam süreyi saklayacaktır.
Kodun döngü kısmında bundan sonra 20.000 kez dönecek ve pin 5'i alternatif olarak YÜKSEK ve DÜŞÜK yapacak bir for döngüsü kullanılır. Daha sonra, durum YÜKSEK'ten DÜŞÜK'e değiştiğinde, mevcut Millis ile başlama zamanının farkını alırız. Burada, şimdiki Milliler ile önceki Milliler arasındaki zaman farkı, board'un durum değiştirmesi için geçen süreyi tanımlayacaktır.
ESP32 Çıkışı
ESP32, Uno ve Mega'dan daha yüksek saat frekansına sahip olduğundan, durumlar arasında çok hızlı geçiş yapacaktır. Burada çıktı, YÜKSEK durumdan DÜŞÜK duruma geçmenin 5 ms sürdüğünü gösterir.
Arduino Uno Çıkışı
Arduino Uno kartının harici bir 16MHz saati vardır, bu nedenle pin durumunu değiştirmek 172ms alacaktır.
Arduino Mega Çıkışı
Arduino Mega kartının durumlar arasında geçiş yapması 227ms sürecektir.
Yukarıdaki sonuçtan ESP32'nin Arduino Uno ve Mega'dan daha hızlı olduğu sonucuna vardık.
ESP32 ile Arduino Uno ve Arduino Mega'nın Kısa Karşılaştırması
İşte ESP32 kartlarının Arduino rakipleri Uno ve Mega ile kısa bir karşılaştırması.
özellikleri | ESP32 | arduino bir | arduino mega |
---|---|---|---|
Dijital G/Ç Pinleri | 36 | 14 | 54 |
I/O pini başına DC akımı | 40mA | 20mA | 20mA |
Analog Pinler | 18'e kadar | 6, 10-bit ADC | 6, 10-bit ADC |
İşlemci | Xtensa Çift Çekirdekli 32-bit LX6 mikroişlemci | ATmega328P | ATmega2560 |
Flash Bellek | 4 MB | 32 KB | 256 KB |
SRAM | 520 kB | 2 KB | 8 KB |
EEPROM | Hiçbiri | 1 KB | 4 KB |
Saat hızı | 80MHz ila 240Mhz | 16 MHz | 16 MHz |
Voltaj seviyesi | 3.3V | 5V | 5V |
Kablosuz internet | 802.11 b/g/n | Hiçbiri | Hiçbiri |
Bluetooth | v4.2 BR/EDR ve BLE | Hiçbiri | Hiçbiri |
I2C Desteği | Evet (2x) | Evet | Evet |
SPI Desteği | Evet (4x) | Evet | Evet |
Donanım Seri Bağlantı Noktası | 3 | 1 | 1 |
USB Bağlantısı | Mikro USB | USB-B | USB-B |
Çözüm
İlk mikrodenetleyici kartı satın alırken veya birden fazla kart üzerinde çalışırken herkesin aklına gelen bir soru, mikrodenetleyici kartlarından hangisinin en iyi olduğudur. Böylece, uygun fiyatı, düşük güç tüketimi ve WiFi ve Bluetooth destekli süper hızlı harici saati nedeniyle ESP32'nin Arduino kartından daha iyi olduğu sonucuna vardık. ESP32, Arduino kartlarına kıyasla daha fazla işlevsellik sağlar.