ESP32 kontra Arduino
ESP32 to tania płytka mikrokontrolera z 32-bitowym układem mikrokontrolera, który może działać przy niskim poborze mocy. ESP32 ma zintegrowane Wi-Fi i podwójny Bluetooth. Tworzy go system Espressif. ESP32 to następca płytek ESP8266 stworzonych przez tego samego producenta. W oparciu o koszt, rozmiar i zużycie energii ESP32 najlepiej pasuje do projektu DIY opartego na IoT. Układ ESP32 zawiera Tensilica Xtensa LX6 mikroprocesor posiadający dwurdzeniowy procesor i częstotliwość taktowania powyżej 240 MHz.
Natomiast po drugiej stronie, gdy słyszymy słowo mikrokontroler, pierwsze imię, które przychodzi nam do głowy, to Arduino , ponieważ Arduino jest liderem płyt mikrokontrolerów od tak dawna ze względu na szerokie wsparcie dostępne wraz z serią różnych płyt, począwszy od 8-bitowego Uno do 32-bitowego zera. Płyty Arduino są oparte na Mikrokontrolery ATmega AVR . Płyty Arduino zaczynają się od nano, które idealnie pasują do projektów o niewielkich rozmiarach, do Arduino mega, które mogą obsługiwać wiele urządzeń dzięki 54 cyfrowym pinom wejścia/wyjścia.
Czy ESP32 jest lepszy niż Arduino?
TAk , ESP32 to lepsza i wydajniejsza płytka mikrokontrolera niż Arduino. ESP32 ma wbudowaną podwójną obsługę Wi-Fi i Bluetooth. Posiada pełną obsługę TCP/IP dla pełnego połączenia internetowego stosu. Dzięki modułowi Wi-Fi może pełnić funkcję punktu dostępowego, a także stacji Wi-Fi. Dzięki 32-bitowemu mikrokontrolerowi i częstotliwości taktowania do 240 MHz wyprzedza Arduino.
Poniższe najważniejsze informacje dają lepszą perspektywę, dlaczego ESP32 jest lepszy niż Arduino:
- ESP32 ma 32-bitowy mikrokontroler
- Obsługa dwóch Wi-Fi i Bluetooth
- Działa na niskim poziomie napięcia (3,3V)
- ESP32 ma 18 kanałów ADC, podczas gdy Arduino Uno ma tylko sześć
- ESP32 jest wyposażony w 48 pinów GPIO, podczas gdy Uno ma tylko 14 cyfrowych pinów wejścia/wyjścia i 6 pinów analogowych
- Płytka ESP32 jest tańsza niż Arduino Uno
Aby przeczytać porównanie Arduino i ESP32, kliknij tutaj .
Porównanie szybkości ESP32, Arduino Uno i Arduino Mega
Poniżej znajdują się częstotliwości taktowania płytki mikrokontrolera ESP32, Arduino Uno i Mega.
Arduino jeden: Wewnętrzny zegar 16 MHz
Mega Arduino: Wewnętrzny zegar 16 MHz
ESP POKÓJ 32: Regulowany od 80 MHz do 240 MHz.
Wszyscy wiemy, że mikrokontrolery polegają na swoim źródle zegara. Mocniejszy zegar oznacza mniej czasu na wykonanie instrukcji. Zobaczmy różnicę między szybkością wszystkich powyższych trzech płytek mikrokontrolerów.
bez znaku długie Czas_rozpoczęcia, Czas_zajęty ;#zdefiniuj pin 5 /*pin 5 zdefiniowany do zmiany stanu*/
próżnia organizować coś ( ) {
Seryjny. zaczynać ( 9600 ) ; /*Szybkość transmisji zdefiniowana dla komunikacji szeregowej*/
Tryb pinów ( pin, WYJŚCIE ) ; /*pin 5 zdefiniowany jako wyjście*/
}
próżnia pętla ( ) {
Czas rozpoczęcia = milis ( ) ; /*czas rozpoczęcia jest równy licznikowi Millis*/
dla ( int i = 0 ; i < 20000 ; i ++ ) { /*pętle for działają 20000 razy*/
digitalWrite ( szpilka, WYSOKA ) ; /*zmiana stanu pinu na WYSOKI*/
digitalWrite ( szpilka, NISKA ) ; /*zmiana stanu pinów na LOW*/
}
Zajęty czas = milis ( ) - Czas rozpoczęcia ; /*Różnica czasu liczona do zajętego czasu zwrotu*/
Seryjny. wydrukować ( „Czas potrzebny na zmianę stanu przy PIN 5:” ) ;
Seryjny. wydrukować ( Zajęty czas ) ; /*Całkowity czas pracy jest drukowany*/
Seryjny. drukuj ( 'SM' ) ;
}
Najpierw zainicjalizowaliśmy dwie zmienne Czas rozpoczęcia oraz Zajęty czas. Jeden zapisze czas rozpoczęcia w milisekundach, a drugi całkowity czas potrzebny mikrokontrolerowi na przełączenie między dwoma stanami, które są WYSOKI i NISKI.
Następnie w części pętli kodu używana jest pętla for, która obróci się 20 000 razy i sprawi, że pin 5 stanie się na przemian WYSOKI i NISKI. Następnie bierzemy różnicę czasu rozpoczęcia z bieżącym Millisem, gdy stan zmieni się z WYSOKI na NISKI. Tutaj różnica czasu między obecnym Millisem a poprzednim Millisem określa czas potrzebny na przełączenie stanów przez kartę.
Wyjście ESP32
Ponieważ ESP32 ma większą częstotliwość taktowania niż Uno i Mega, bardzo szybko przełącza się między stanami. Tutaj wyjście oznacza, że przełączenie ze stanu WYSOKIEGO na NISKI zajmuje 5 ms.
Wyjście Arduino Uno
Płytka Arduino Uno ma zewnętrzny zegar 16 MHz, więc przełączenie stanu pinów zajmie 172 ms.
Mega wyjście Arduino
Przełączanie między stanami płyty Arduino Mega zajmie 227 ms.
Z powyższego wyniku wywnioskowaliśmy, że ESP32 jest szybszy niż Arduino Uno i Mega.
Krótkie porównanie ESP32 vs Arduino Uno vs Arduino Mega
Oto krótkie porównanie płyt ESP32 z konkurentami Arduino Uno i Mega.
Charakterystyka | ESP32 | arduino jeden | Arduino Mega |
---|---|---|---|
Cyfrowe piny we/wy | 36 | 14 | 54 |
Prąd stały na pin we/wy | 40mA | 20mA | 20mA |
Piny analogowe | Do 18 | 6, 10-bitowy przetwornik ADC | 6, 10-bitowy przetwornik ADC |
Edytor | Dwurdzeniowy 32-bitowy mikroprocesor Xtensa LX6 | ATmega328P | ATmega2560 |
Pamięć flash | 4 MB | 32 KB | 256 KB |
SRAM | 520 KB | 2 KB | 8 KB |
EEPROM | Nic | 1 KB | 4 KB |
Szybkośc zegara | 80 MHz do 240 MHz | 16 MHz | 16 MHz |
Poziom napięcia | 3,3V | 5V | 5V |
Wi-Fi | 802.11b/g/n | Nic | Nic |
Bluetooth | v4.2 BR/EDR i BLE | Nic | Nic |
Wsparcie I2C | Tak (2x) | TAk | TAk |
Obsługa SPI | Tak (4x) | TAk | TAk |
Sprzętowy port szeregowy | 3 | 1 | 1 |
Łączność USB | Micro USB | USB-B | USB-B |
Wniosek
Kupując pierwszą płytkę z mikrokontrolerem lub pracując na wielu płytkach, każdemu przychodzi do głowy pytanie, która z płyt z mikrokontrolerem jest najlepsza. Doszliśmy więc do wniosku, że ESP32 jest lepszy niż płyta Arduino ze względu na przystępną cenę, niskie zużycie energii i superszybki zegar zewnętrzny z obsługą WiFi i Bluetooth. ESP32 zapewnia większą funkcjonalność w porównaniu do płyt Arduino.