ESP32 có tốt hơn Arduino không

Esp32 Co Tot Hon Arduino Khong



Cả Arduino và ESP32 đều là bo mạch dựa trên vi điều khiển có thể nhận đầu vào và tạo đầu ra tương ứng. Cả hai bảng này đều nổi tiếng trong giới sinh viên và nhà nghiên cứu vì chúng không cần bất kỳ phần cứng bổ sung nào như CPU ​​để xử lý thông tin, người ta chỉ cần một bảng nhỏ có thể vừa trong túi của bạn và thực hiện các tác vụ một cách dễ dàng. Nhưng một câu hỏi xuất hiện trong đầu mọi người là ESP32 tốt hơn Arduino.

ESP32 vs Arduino

ESP32 là một bo mạch vi điều khiển giá rẻ có chip vi điều khiển 32-bit có thể chạy với công suất thấp. ESP32 đã tích hợp Wi-Fi và Bluetooth kép. Nó được tạo ra bởi hệ thống Espressif. ESP32 là sự kế thừa của bo mạch ESP8266 được tạo ra bởi cùng một nhà sản xuất. Dựa trên chi phí, kích thước và mức tiêu thụ điện năng của ESP32, đây là thiết bị phù hợp nhất cho dự án DIY dựa trên IoT. Chip ESP32 chứa Tensilica Xtensa LX6 bộ vi xử lý lõi kép và tốc độ xung nhịp trên 240MHz.







Trong khi ở phía bên kia, khi chúng ta nghe từ vi điều khiển, cái tên đầu tiên xuất hiện trong đầu chúng ta là Arduino , vì Arduino đang dẫn đầu các bảng vi điều khiển trong một thời gian dài vì sự hỗ trợ rộng rãi của nó cùng với một loạt các bảng khác nhau bắt đầu từ 8-bit Uno đến 32-bit 0. Bảng Arduino dựa trên Bộ vi điều khiển ATmega AVR . Bo mạch Arduino bắt đầu từ nano phù hợp hoàn hảo cho các dự án quy mô nhỏ đến Arduino mega có thể xử lý nhiều thiết bị nhờ 54 chân đầu vào / đầu ra kỹ thuật số của nó.



ESP32 có tốt hơn Arduino không

Đúng , ESP32 là một bo mạch vi điều khiển tốt hơn và mạnh hơn Arduino. ESP32 có hỗ trợ Wi-Fi và Bluetooth kép sẵn có. Nó có hỗ trợ đầy đủ TCP / IP cho kết nối internet đầy đủ. Nhờ mô-đun Wi-Fi, nó có thể hoạt động như một điểm truy cập cũng như một trạm Wi-Fi. Vì vi điều khiển 32-bit và tần số xung nhịp lên đến 240MHz, nó vượt xa Arduino.



Những điểm nổi bật sau đây cung cấp một góc nhìn rõ hơn về lý do tại sao ESP32 tốt hơn Arduino:





  • ESP32 có vi điều khiển 32 bit
  • Hỗ trợ Wi-Fi kép và Bluetooth
  • Hoạt động ở mức điện áp thấp (3.3V)
  • ESP32 có 18 kênh ADC trong khi Arduino Uno chỉ có sáu
  • ESP32 đi kèm với 48 chân GPIO trong khi Uno chỉ có 14 chân đầu vào / đầu ra kỹ thuật số và 6 chân tương tự
  • Bo mạch ESP32 rẻ hơn Arduino Uno

Để đọc so sánh giữa Arduino và ESP32, hãy nhấp vào nơi đây .

So sánh tốc độ của ESP32, Arduino Uno và Arduino Mega

Sau đây là tần số xung nhịp của bo mạch vi điều khiển ESP32, Arduino Uno và Mega.



Arduino One: Xung nhịp bên trong 16MHz

Arduino Mega: Xung nhịp bên trong 16MHz

ESP WROOM 32: Có thể điều chỉnh trong khoảng 80MHz đến 240MHz.

Chúng ta đều biết vi điều khiển dựa vào nguồn xung nhịp của chúng. Đồng hồ mạnh hơn có nghĩa là ít thời gian hơn để thực hiện các lệnh. Hãy xem sự khác biệt giữa tốc độ của tất cả ba bảng vi điều khiển trên.

chưa ký Dài Start_Time, Time_Taken ;
#define ghim 5 / * pin 5 được xác định để thay đổi trạng thái của nó * /
vô hiệu thành lập ( ) {
Nối tiếp. bắt đầu ( 9600 ) ; / * Tốc độ truyền được xác định cho giao tiếp nối tiếp * /
PinMode ( ghim, OUTPUT ) ; / * chân 5 được định nghĩa là đầu ra * /
}
vô hiệu vòng ( ) {
Thời gian bắt đầu = mili ( ) ; / * thời gian bắt đầu bằng với bộ đếm Millis * /
( int tôi = 0 ; tôi < 20000 ; tôi ++ ) { / * cho các vòng chạy trong 20000 thời gian * /
    digitalWrite ( ghim, CAO ) ; / * trạng thái pin thay đổi thành CAO * /
    digitalWrite ( ghim, THẤP ) ; / * trạng thái pin thay đổi thành LOW * /
}
Mất thời gian = mili ( ) - Thời gian bắt đầu ; / * Chênh lệch thời gian được tính cho thời gian quay lại đã thực hiện * /
Nối tiếp. in ( 'Thời gian cần thiết để thay đổi trạng thái ở mã PIN 5:' ) ;
Nối tiếp. in ( Mất thời gian ) ; / * Tổng thời gian thực hiện được in * /
Nối tiếp. println ( 'bệnh đa xơ cứng' ) ;
}

Đầu tiên, chúng tôi đã khởi tạo hai biến Thời gian bắt đầu Mất thời gian. Một sẽ lưu thời gian bắt đầu bằng Millis trong khi cái thứ hai sẽ lưu tổng thời gian mà vi điều khiển thực hiện để chuyển đổi giữa hai trạng thái là CAO và THẤP.

Tiếp theo trong phần vòng lặp của mã, một vòng lặp for được sử dụng sẽ xoay 20.000 lần và làm cho chân 5 là CAO và THẤP. Tiếp theo, chúng tôi lấy sự khác biệt của thời gian bắt đầu với Millis hiện tại khi trạng thái thay đổi từ CAO thành THẤP. Ở đây sự khác biệt về thời gian giữa Millis hiện tại và Millis trước đó sẽ xác định thời gian mà bảng chuyển đổi trạng thái thực hiện.

Đầu ra ESP32

Vì ESP32 có tần số xung nhịp lớn hơn Uno và Mega nên nó sẽ chuyển đổi giữa các trạng thái rất nhanh. Ở đây đầu ra biểu thị nó mất 5ms để chuyển từ trạng thái CAO sang THẤP.

Đầu ra Arduino Uno

Bo mạch Arduino Uno có xung nhịp bên ngoài là 16MHz nên sẽ mất 172ms để chuyển trạng thái pin.

Đầu ra Arduino Mega

Bo mạch Arduino Mega sẽ mất 227ms để chuyển đổi giữa các trạng thái.

Từ kết quả trên, chúng tôi kết luận rằng ESP32 nhanh hơn Arduino Uno và Mega.

So sánh ngắn gọn ESP32 vs Arduino Uno vs Arduino Mega

Dưới đây là một so sánh ngắn gọn của các bo mạch ESP32 với các đối thủ cạnh tranh Arduino là Uno và Mega.

Đặc điểm ESP32 arduino một Arduino Mega
Ghim I / O kỹ thuật số 36 14 54
Dòng điện DC trên mỗi chân I / O 40mA 20mA 20mA
Ghim tương tự Lên đến 18 6, 10-bit ADC 6, 10-bit ADC
Bộ xử lý Bộ vi xử lý Xtensa Dual Core 32-bit LX6 ATmega328P ATmega2560
Bộ nhớ flash 4 MB 32 KB 256 KB
SRAM 520 kB 2 KB 8 KB
EEPROM Không có 1 KB 4 KB
Tốc độ đồng hồ 80MHz đến 240Mhz 16 MHz 16 MHz
Cấp điện áp 3,3V 5V 5V
Wifi 802.11 b / g / n Không có Không có
Bluetooth v4.2 BR / EDR và ​​BLE Không có Không có
Hỗ trợ I2C Có (2x) Đúng Đúng
Hỗ trợ SPI Có (4x) Đúng Đúng
Cổng nối tiếp phần cứng 3 1 1
Kết nối USB Micro USB USB-B USB-B

Sự kết luận

Trong khi mua một bo mạch vi điều khiển đầu tiên hoặc làm việc trên nhiều bo mạch, một câu hỏi xuất hiện trong đầu mọi người là bo mạch vi điều khiển nào là tốt nhất. Vì vậy, chúng tôi kết luận rằng ESP32 tốt hơn bảng Arduino vì giá cả phải chăng, tiêu thụ điện năng thấp và đồng hồ bên ngoài siêu nhanh với hỗ trợ WiFi và Bluetooth. ESP32 cung cấp nhiều chức năng hơn so với bảng Arduino.