Czy ESP32 jest lepszy niż Arduino?

Czy Esp32 Jest Lepszy Niz Arduino



Zarówno Arduino, jak i ESP32 to płytki oparte na mikrokontrolerze, które mogą odpowiednio pobierać dane wejściowe i generować dane wyjściowe. Obie te tablice są znane studentom i badaczom, ponieważ nie potrzebują żadnego dodatkowego sprzętu, takiego jak procesor, do przetwarzania informacji, wystarczy niewielka tablica, która zmieści się w kieszeni i z łatwością wykonuje zadania. Ale każdemu nasuwa się pytanie, czy ESP32 jest lepszy niż Arduino.

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.