Giới thiệu về bo mạch phát triển ESP32

Giới thiệu về bo mạch phát triển ESP32

Giới thiệu Ban phát triển ESP32

ESP32 là một bộ vi điều khiển thuộc danh mục vi điều khiển trên chip công suất thấp và tiết kiệm chi phí. Hầu hết tất cả các biến thể ESP32 đều tích hợp Bluetooth và Wi-Fi chế độ kép, làm cho nó có tính linh hoạt cao, mạnh mẽ và đáng tin cậy cho nhiều ứng dụng.

Nó là sự kế thừa của vi điều khiển NodeMCU ESP8266 phổ biến và cung cấp hiệu suất và tính năng tốt hơn. Bộ vi điều khiển ESP32 được sản xuất bởi Espressif Systems và được sử dụng rộng rãi trong nhiều ứng dụng khác nhau như IoT, robot và tự động hóa.

ESP32 cũng được thiết kế để tiêu thụ điện năng thấp, lý tưởng cho các ứng dụng chạy bằng pin. Nó có hệ thống quản lý năng lượng cho phép nó hoạt động ở chế độ ngủ và chỉ thức dậy khi cần thiết, điều này có thể kéo dài tuổi thọ pin rất nhiều.

Sơ đồ chân cảm biến cảm ứng ESP32 với Devkit DOIT

Các biến thể ESP32 khác nhau

Bảng sau đây cung cấp so sánh các biến thể khác nhau của vi điều khiển ESP32. Nó bao gồm thông tin về kiến trúc, lõi, RAM, tốc độ, GPIO, Wi-Fi, Thread và các tính năng đặc biệt của từng biến thể.

Phiên bản

Có sẵn

Kiến trúc

Lõi

Cừu đực

Tốc độ (tối đa)

GPIO ·

Wi-Fi (802.11)

Chủ đề (802.15)

Tính năng

ESP32 ·

Xtensa ·

2

±320 KiB ·

240 MHz

34

2,4 g

Không

 

ESP32-S2 ·

Xtensa ·

1

320 KiB ·

240 MHz

43

2,4 g

Không

USB OTG

ESP32-S3 ·

Xtensa ·

2

512 KiB ·

240 MHz

44

2,4 g

Không

Bộ hướng dẫn AI / USB OTG

ESP32-C3 ·

RISC-V ·

1

400 KiB ·

160 MHz

22

2,4 g

Không

 

ESP32-C5 ·

Không

RISC-V ·

1

400 KiB ·

240 MHz

20

2,4 g / 5G

Không

5G

ESP32-C6 ·

RISC-V ·

2

512 KiB ·

160 MHz / 20 MHz

30/22

2.4 G (Wi-Fi 6)

Chủ đề và Wi-Fi

ESP32-H2 ·

Không

RISC-V ·

1

256 KiB ·

96 MHz

26

Không

 

ESP32-P4 ·

Không

RISC-V ·

3

768 KiB ·

2 x 400 MHz / 40 MHz

50+

Không

Không

Mã hóa phần cứng cho phương tiện

Lưu ý: "Có" có nghĩa là mẫu mã có tính năng này và "Không" có nghĩa là mẫu mã không có tính năng này.

Cột đầu tiên cho biết liệu một biến thể cụ thể có sẵn trên thị trường hay không. Cột thứ hai chỉ định kiến trúc được sử dụng trong vi điều khiển, đó là Xtensa cho ESP32, ESP32-S2 và ESP32-S3 và RISC-V cho ESP32-C3, ESP32-C5, ESP32-C6, ESP32-H2 và ESP32-P4. Số lượng lõi có sẵn trong mỗi biến thể cũng được đề cập, từ một đến ba. Cột thứ ba chỉ định dung lượng RAM có sẵn trong mỗi biến thể, dao động từ 256 KiB đến 768 KiB.

Tốc độ tối đa mà mỗi biến thể có thể đạt được được chỉ định trong cột thứ tư. Nó dao động từ 96 MHz đến 400 MHz, tùy thuộc vào biến thể. Số lượng GPIO có sẵn trong mỗi biến thể được liệt kê trong cột thứ năm, dao động từ 20 đến 50+. Cột thứ sáu cho biết liệu biến thể có hỗ trợ Wi-Fi hay không và tiêu chuẩn Wi-Fi tối đa (2,4 G, 5G hoặc Wi-Fi 6) được hỗ trợ. Cột thứ bảy cho biết liệu biến thể có hỗ trợ Thread hay không, là một giao thức không dây công suất thấp được sử dụng cho các thiết bị IoT. Cuối cùng, cột cuối cùng liệt kê các tính năng đặc biệt của từng biến thể, chẳng hạn như USB OTG, tập lệnh AI, mã hóa phần cứng cho phương tiện, v.v.

Nhìn chung, bảng cung cấp một so sánh toàn diện về các biến thể ESP32 khác nhau, cho phép các nhà phát triển chọn biến thể phù hợp nhất với nhu cầu của họ dựa trên số lượng lõi, RAM, tốc độ, GPIO, Wi-Fi, Thread và các tính năng đặc biệt cần thiết cho ứng dụng cụ thể của họ.

ESP32 Vs các bộ vi điều khiển khác

Khi so sánh vi điều khiển ESP32 với các vi điều khiển khác, một trong những lợi thế đáng kể của nó là có các mô-đun Wi-Fi và Bluetooth tích hợp. Mặc dù một số bộ vi điều khiển có thể thêm Wi-Fi thông qua các tấm chắn hoặc bộ điều hợp, nhưng nó không phải là một tính năng gốc của bo mạch, làm tăng giá thành của bo mạch. Ngược lại, ESP32 đi kèm với các mô-đun Wi-Fi và Bluetooth đã được tích hợp, làm cho nó trở thành một lựa chọn tiết kiệm chi phí hơn cho những người quan tâm đến việc sử dụng các tính năng này.

Hơn nữa, bộ điều hợp cho Wi-Fi và Bluetooth thường đắt tiền, đây có thể là một thách thức đối với những người có sở thích hoặc các dự án quy mô nhỏ. Trong khi đó, các mô-đun Wi-Fi và Bluetooth tích hợp của ESP32 mang lại tính linh hoạt, mạnh mẽ và độ tin cậy cao hơn trong một loạt các ứng dụng, chẳng hạn như IoT, Cổng dựa trên MQTT, giải mã MP3, mã hóa giọng nói và phát trực tuyến video. Ngoài ra, ESP32 đi kèm với cổng USB, làm cho nó trở thành một thiết bị cắm và chạy có thể được lập trình như các bộ vi điều khiển khác, với các chi tiết về lập trình sẽ được thảo luận sau.

ES32 Chân đế WROOM-32 Devkit

Bộ vi điều khiển ESP32 cung cấp tính năng ghép kênh chân cho phép chúng tôi chọn thiết bị ngoại vi nào để kết nối từ 28 chân đầu vào / đầu ra. Tính năng này cung cấp cho chúng tôi sự linh hoạt để quyết định chân nào chúng tôi muốn sử dụng cho thiết bị ngoại vi nào như MISO, RX, SCLK, MOSI, TX, SCL, SDA và một số tùy chọn khác. Tuy nhiên, một số chân cho bộ chuyển đổi tương tự sang kỹ thuật số và bộ chuyển đổi kỹ thuật số sang tương tự được dành riêng cho các thiết bị ngoại vi này và không thể được định cấu hình theo yêu cầu của người dùng.

Sơ đồ chân ESP32

  • Các kênh chuyển đổi tương tự sang kỹ thuật số (ADC) là 18

  • Giao diện SPI là 3

  • Giao diện UART là 3

  • Giao diện I2C là 2

  • Đầu ra PWM là 16

  • Bộ chuyển đổi kỹ thuật số sang tương tự (DAC) là 2

  • Giao diện I2S là 2

Cảm biến trên chip ESP32

  • Cảm biến Hall

  • Bộ dao động tinh thể 32 kHz

  • Bộ khuếch đại tương tự tiếng ồn cực thấp

  • 10x giao diện cảm ứng điện dung

Lập trình ESP32

Để bật nguồn bảng phát triển ESP32, chúng tôi có tùy chọn sử dụng cổng USB hoặc pin LiPo. Khi cả hai nguồn điện được kết nối, một số bo mạch phát triển có bộ điều khiển sạc tích hợp để sạc pin LiPo. Hơn nữa, bo mạch có bộ điều chỉnh điện áp 3.3 V có thể cung cấp dòng điện 600 mA. Trong quá trình truyền RF, bo mạch có thể tiêu thụ tới 250 mA. Điều quan trọng cần lưu ý là các chân đầu vào-đầu ra có mục đích chung không thể xử lý 5 V, và do đó, cần phải thay đổi mức độ để giao tiếp với bo mạch với 5 V.

Để lập trình bảng ESP32, chúng ta có thể sử dụng Arduino IDE. Tuy nhiên, một số trình điều khiển và thư viện nhất định phải được cài đặt để làm cho nó tương thích với IDE và sẵn sàng sử dụng. Dưới đây là một lời giải thích ngắn gọn về các trình điều khiển và thư viện cần thiết.

Cài đặt trình điều khiển

Điều đầu tiên và quan trọng nhất để lập trình bo mạch này là cài đặt trình điều khiển USB CP210x - UART. Tùy thuộc vào hệ điều hành của bạn, cài đặt trình điều khiển thích hợp.

Cài đặt Thư viện ESP32 trong Arduino IDE

Bạn có thể cài đặt thư viện cho ESP32 bằng cách sử dụng GitHub. Sau khi cài đặt tất cả các trình điều khiển và thư viện này, bạn đã sẵn sàng để lập trình bảng của mình. Bạn có thể sử dụng Terminal trong MAC hoặc dòng lệnh trong hệ điều hành windows để cài đặt các thư viện này từ GitHub.

Khi bạn đã hoàn tất việc cài đặt các trình điều khiển và thư viện cần thiết, bạn phải khởi động lại Arduino IDE và bạn đã sẵn sàng để đi. Sau khi khởi động lại Arduino IDE của bạn, bạn sẽ thấy một số bảng được thêm vào trong menu công cụ của Arduino IDE. Bây giờ chọn bảng thích hợp của bạn.

Ví dụ về Bắt đầu

Vì vậy, chương trình đầu tiên chúng ta sẽ thảo luận là nhấp nháy đèn LED. Tất cả mã cho đèn LED nhấp nháy sẽ được viết bằng Arduino IDE. Có một đèn led tích hợp trong bộ phát triển ESP32 được kết nối với chân đầu vào / đầu ra đa năng 02. Một điều nữa chúng ta cần kiểm tra trước khi viết mã của mình là đảm bảo rằng bảng phát triển ESP32 dẫn đầu tích hợp của chúng ta được hỗ trợ bởi Arduino IDE. Nếu nó được Arduino IDE nhận ra thì bạn đã sẵn sàng viết mã của mình nếu không, bạn phải làm cho nó dễ nhận biết bằng Arduino IDE bằng cách sử dụng đoạn mã sau

  • int LED_BUILTIN = 2;

Mỗi bo mạch ESP32 có một đèn led bên trong được kết nối nhưng chúng được kết nối với các chân đầu ra đầu vào đa năng khác nhau. Trong trường hợp của chúng tôi, một đèn led màu xanh bên trong được kết nối tại chân đầu ra đầu vào có mục đích chung. Vì vậy, hãy viết đoạn mã của chúng ta.

/*

  ESP 32 Blink

  Turns on an LED on for one second, then off for one second, repeatedly.

  The ESP32 has an internal blue LED at D2 (GPIO 02)

*/

 

int LED_BUILTIN = 2;

 

void setup() 

{

  pinMode(LED_BUILTIN, OUTPUT);

}

 

void loop() 

{

  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)

  delay(1000);                       // wait for a second

  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW

  delay(1000);                       // wait for a second

}

Luồng chương trình của mọi code mà chúng ta viết trong Arduino IDE là đầu tiên chúng ta khởi tạo các biến. Các biến có thể là cục bộ hoặc toàn cục. Chúng tôi sẽ không đi vào chi tiết của các biến cục bộ và toàn cục này. Sau khi khởi tạo biến, hàm setup của chúng ta sẽ được gọi là được sử dụng để gán giá trị của các biến được khởi tạo và sau đó hàm loop của chúng ta được gọi. Chức năng thiết lập sẽ chỉ được gọi một lần trong khi chức năng vòng lặp rõ ràng từ tên sẽ chạy liên tục theo cách có tổ chức. Nếu chúng ta muốn gọi lại chức năng thiết lập thì chúng ta phải chạy lại chương trình của mình hoặc khởi động lại bảng phát triển bằng cách sử dụng nút nghỉ ngơi trên bo mạch hoặc bằng cách ngắt kết nối và kết nối lại bảng của chúng ta.

Vì vậy, nếu chúng ta xem mã của mình bằng cách ghi nhớ các điểm đã nêu ở trên, trước tiên chúng ta đã khởi tạo đèn LED tích hợp của mình tại chân đầu ra đầu vào mục đích chung 2. Sau khi khởi tạo đèn LED tích hợp này, chúng ta có thể thấy rằng việc khởi tạo và mục đích của điều này đã dẫn đến việc nó đóng vai trò là đầu vào hay đầu ra. Sau khi gán nó làm đầu ra, chúng tôi thực hiện chức năng vòng lặp sẽ chạy vô tận trừ khi và cho đến khi chúng tôi ngắt kết nối bảng của mình hoặc ngừng chạy chương trình này. Trong chức năng vòng lặp của chúng tôi, trước tiên chúng tôi bật đèn led bằng chức năng DigitalWrite và gán điện áp cao dẫn của chúng tôi, sau đó chúng tôi đợi độ trễ 1 giây và sau đó tắt đèn led bằng cách gán điện áp thấp cho đèn led của chúng tôi và sau đó đợi một giây nữa và vì vậy vòng lặp tiếp tục, tức là vòng lặp này sẽ bật đèn led trong 1 giây và sau đó tắt nếu tắt trong 1 giây và nó vẫn tiếp tục. 

>>> 100+ Mã Sản Phẩm Dây Rút: https://mecsu.vn/san-pham/day-rut-nhua.5op

>>> 1000+ Mã Sản Phẩm Đầu Cosse: https://mecsu.vn/san-pham/dau-cosse.Q1j

Bài viết cùng chuyên mục

NHANH

NHANH

Vì Đổi mới liên tục nên Nhanh hơn

ĐÚNG

ĐÚNG

Coi trọng và ưu tiên việc làm Đúng

ĐỦ

ĐỦ

Tìm và mua Đủ Đơn hàng hơn

KỊP THỜI

KỊP THỜI

Hiệu suất tối ưu bởi Kịp Thời hơn