ESP32 Pinout - Cách Sử Dụng Chân GPIO? | Cơ Điện Tử Việt Nam

ESP32 Pinout - Cách sử dụng chân GPIO?

(Cơ điện tử Việt Nam - Vi điều khiển) Hướng dẫn này là về sơ đồ chân của bảng phát triển ESP32, đặc biệt là đối với bộ phát triển ESP32. Bộ phát triển ESP32 bao gồm mô-đun ESP-WROOM-32. Có nhiều phiên bản chip ESP32 có sẵn trên thị trường, nhưng bộ phát triển ESP32 sử dụng mô-đun ESP-WROOM-32. Nhưng chức năng của tất cả các chân GPIO là giống nhau trên tất cả các bảng phát triển ESP32.

Nhiều người đang đặt câu hỏi về cách sử dụng các chân GPIO của nó? Chân GPIO nào có thể được sử dụng làm chân đầu vào - đầu ra kỹ thuật số? Chân GPIO nào có thể được sử dụng làm chân tương tự? Và không nên dùng chân cắm nào để sử dụng bo mạch này một cách an toàn? Bạn sẽ có câu trả lời cho những câu hỏi này trong bài viết này. Vì vậy, bây giờ chúng ta hãy bắt đầu với việc giới thiệu các chân GPIO của bảng phát triển ESP32.

Giới thiệu chip ESP32

  • ESP32-WROOM-32 là một con chip rất phổ biến được sử dụng cho các ứng dụng IoT. Phần chính của mô-đun này là chip ESP32-D0WDQ6.
  • Nó có 48 chân nhưng tất cả các chân không có sẵn để sử dụng trong devkit. Bạn sẽ thấy thêm thông tin về nó trong phần sau của hướng dẫn này.
  • Nó bao gồm một con chip Mô-đun WiFi, Mô-đun năng lượng thấp Bluetooth và mô-đun Bluetooth. Vì vậy, nếu bạn đang làm việc trong một dự án hệ thống nhúng, nơi bạn cần tất cả các mô-đun này, bạn có thể chỉ cần sử dụng bo mạch này thay vì sử dụng tất cả các thành phần riêng lẻ. Do những tính năng này, nó có thể được sử dụng cho nhiều ứng dụng hệ thống nhúng.
  • Đây là một bảng chi phí rất thấp và có thể được mua với giá khoảng 10-15 đô la.
  • Bao gồm hai lõi và mỗi lõi có thể được điều khiển riêng biệt.
  • Nó có thể hoạt động ở dải tần thay đổi từ 80 MHz đến 240 MHz.
  • Nó có một bộ đồng xử lý công suất cực thấp đặc biệt. Người dùng có thể tắt nguồn bộ xử lý và có thể sử dụng bộ đồng xử lý công suất thấp để giám sát các thiết bị ngoại vi ở mức công suất thấp như chân GPIO.
  • Sơ đồ dưới đây cho thấy sơ đồ hoàn chỉnh của chip D0WDQ6.
ESP32 Pinout - Cách sử dụng chân GPIO?

bạn có thể kiểm tra các bài viết này trên ESP32:

  • Giới thiệu về bảng phát triển ESP32
  • Cách cài đặt ESP32 trong Arduino IDE - hướng dẫn từng bước

bạn có thể kiểm tra thêm thông tin về chip này ở đây.

Các tính năng chính của ESP32

Tiếp theo là các tính năng chính của ESP32:

  • Nó có 18 bộ chuyển đổi ADC từ Analog sang kỹ thuật số trên bo mạch. Mỗi ADC dựa trên công nghệ SAR 12 bit.
  • 2 bộ chuyển đổi kỹ thuật số sang tương tự DAC.
  • Nó tích hợp 9 cảm biến cảm ứng.
  • Đối với giao tiếp, nó có 2 kênh truyền thông UART, 2 giao diện truyền thông I2C, hai kênh I2S và một giao diện truyền thông CÓ THỂ.
  • Nó có 16 kênh điều chế độ rộng xung .
  • Nó cũng có một mô-đun tăng tốc phần cứng mật mã cho các thuật toán mật mã khác nhau như RSA, AES.

Sơ đồ chân của ESP32

ESP32 Pinout - Cách sử dụng chân GPIO?

Hình dưới đây giải thích tất cả các chân của bảng này. Như tôi đã đề cập trước đó, chip được sử dụng với bảng có 48 chân GPIO. Nhưng chúng tôi không thể sử dụng tất cả các chân thông qua các bảng phát triển này.

Chân GPIO của ESP32 DEVKIT

ESP32 Pinout - Cách sử dụng chân GPIO?

Chi tiết cấu hình chân ESP32

Như đã đề cập trước đó, chip được sử dụng với bảng này có 48 chân GPIO, nhưng tất cả các chân đều không thể truy cập thông qua bảng phát triển. Bộ phát triển ESP32 có 36 chân và 18 chân trên mỗi mặt của bảng như trong hình trên. Nó có 34 chân GPIO và mỗi chân có nhiều chức năng có thể được cấu hình bằng cách sử dụng các thanh ghi cụ thể. Có nhiều loại GPIO có sẵn như đầu vào kỹ thuật số, đầu ra kỹ thuật số, đầu vào tương tự và đầu ra tương tự, cảm ứng điện dung, giao tiếp UART và nhiều tính năng khác được đề cập ở trên.

Chân GPIO đầu vào kỹ thuật số

Nó có sáu chân GPIO chỉ có thể được sử dụng làm chân đầu vào kỹ thuật số. Chúng không thể được cấu hình như các chân đầu ra kỹ thuật số. Do đó, chúng không có điện trở kéo đẩy được kết nối bên trong. Chúng chỉ có thể được sử dụng làm chân đầu vào kỹ thuật số.

  • GPIO34
  • GPIO35
  • GPIO36
  • GPIO37
  • GPIO38
  • GPIO39

Kiểm tra hướng dẫn này: Cách sử dụng nút nhấn với ESP32

Lưu ý: Dòng hoạt động tối đa mà chân GPIO có thể chìm và nguồn là 40mA theo biểu dữ liệu của chip ESP32. Nhưng nó được khuyến khích để giữ nó dưới 20mA.

Tất cả các chân GPIO khi khởi động hoặc thiết lập lại ban đầu vẫn ở trạng thái hoạt động thấp ngoại trừ các chân sau. Các chân sau sẽ ở trạng thái hoạt động cao theo mặc định trong quá trình khởi động hoặc đặt lại. Do đó, bạn nên khởi tạo các chân này ở trạng thái hoạt động ở mức thấp trong mã trong chức năng thiết lập của mã.

  • GPIO1
  • GPIO3
  • GPIO5
  • GPIO6 đến GPIO11
  • GPIO14
  • GPIO15

Ghim ngắt

Tất cả các chân GPIO nêu trên đều có thể được cấu hình ở chế độ ngắt.

Quai các ghim GPIO

Một số chân GPIO được sử dụng để định cấu hình bộ nạp khởi động hoặc chế độ nhấp nháy của ESP32 trong quá trình cài đặt ứng dụng hoặc tải khởi động.

  • GPIO0
  • GPIO2
  • GPIO4
  • GPIO5 (phải HIGH trong khi khởi động)
  • GPIO12 (phải LOW trong khi khởi động)
  • GPIO15 (phải HIGH trong khi khởi động)

Nhưng nếu bạn đang sử dụng Arduino IDE để lập trình bo mạch ESP32, bạn không cần thiết lập hoặc đặt lại trạng thái của các chân này. Vì Arduino IDE đặt các chân này ở trạng thái bắt buộc để flash mã. Nếu bạn muốn biết thêm về chế độ lựa chọn khởi động ESP32, bạn có thể kiểm tra liên kết này.

  • Chế độ lựa chọn khởi động ESP32

Bộ chuyển đổi analog sang kỹ thuật số hoặc chân GPIO Analog

Ban phát triển này hỗ trợ 18 kênh ADC. Và mỗi kênh là 12 bit. Vì vậy, nó có một độ phân giải tốt. Nó có thể được sử dụng để đo điện áp tương tự, dòng điện và bất kỳ cảm biến tương tự nào cung cấp đầu ra ở dạng điện áp tương tự. Các ADC này cũng có thể được sử dụng ở chế độ nghỉ để tiêu thụ điện năng thấp hơn. Mỗi kênh ADC có độ phân giải 12 bit bằng 3,3 / 4095 trong đó 3,3 volt là điện áp tham chiếu và 4095 là bước tối thiểu theo ADC

Vì vậy, điện áp tối thiểu, chúng ta có thể đo được với các kênh ADC này là khoảng 80 microvolt. Bất cứ điều gì ít hơn mức này sẽ là một lỗi. Tôi sẽ nói nhiều hơn về nó trong các bài hướng dẫn sắp tới. Hạn chế chính của ESP32 ADC là nó có một hành vi phi tuyến tính. bạn có thể kiểm tra sơ đồ dưới đây:

ESP32 Pinout - Cách sử dụng chân GPIO?

Ánh xạ các chân Analog với các chân GPIO được hiển thị bên dưới:

  • ADC1_CH0 - GPIO36
  • ADC1_CH1 - GPIO37
  • ADC1_CH2 - GPIO38
  • ADC1_CH3 - GPIO39
  • ADC1_CH4 - GPIO32
  • ADC1_CH5- GPIO33
  • ADC1_CH6 - GPIO34
  • ADC1_CH7 - GPIO35
  • ADC2_CH0 - GPIO4
  • ADC2_CH1 - GPIO0
  • ADC2_CH2 - GPIO2
  • ADC2_CH3 - GPIO15
  • ADC2_CH4 - GPIO13
  • ADC2_CH5 - GPIO12
  • ADC2_CH6 - GPIO14
  • ADC2_CH7 - GPIO27
  • ADC2_CH8 - GPIO25
  • ADC2_CH9 - GPIO26

Kiểm tra hướng dẫn này: Cách sử dụng ADC của ESP32.

Chân chuyển đổi Digital sang Analog

Bảng phát triển này có hai tích hợp trên bo mạch DAC 8-bit. DAC được sử dụng để chuyển đổi tín hiệu kỹ thuật số thành tín hiệu tương tự. DAC có nhiều ứng dụng như điều khiển điện áp và điều khiển PWM.

  • DAC_1 - GPIO25
  • DAC_2 - GPIO26

Chân cảm ứng của Devkit

ESP-WROOM-32 cung cấp trên tàu 10 cảm biến cảm ứng điện dung. Vì vậy, bạn không cần phải sử dụng các cảm biến cảm ứng riêng biệt trong dự án của mình khi bạn đang sử dụng bảng phát triển này. Các cảm biến cảm ứng điện dung này có thể được sử dụng để phát hiện bất kỳ sóng điện và từ trường xung quanh như phát hiện từ trường. Bạn có thể sử dụng một mảng nhỏ các miếng đệm thay vì các nút nhấn với các cảm biến cảm ứng này.

  • TOUCH0 - GPIO4
  • TOUCH1 - GPIO0
  • TOUCH2 - GPIO2
  • TOUCH3 - GPIO15
  • TOUCH4 - GPIO13
  • TOUCH5 - GPIO12
  • TOUCH6 - GPIO14
  • TOUCH7 - GPIO27
  • TOUCH8 - GPIO33
  • TOUCH9 - GPIO32

Cách sử dụng chân cảm ứng và cách sử dụng chân cảm ứng như một nút kỹ thuật số?

Chân giao diện thẻ nhớ

Nó cũng hỗ trợ giao tiếp thẻ nhớ thông qua các chân này.

  • HS2_CLK - MTMS
  • HS2_CMD - MTDO
  • HS2_DATA0 - GPIO2
  • HS2_DATA1 - GPIO4
  • HS2_DATA2 - MTDI
  • HS2_DATA3 - MTCK

Chân ngắt bên ngoài

Tất cả các chân đầu ra đầu vào mục đích chung đều có thể được sử dụng làm ngắt bên ngoài. Ngắt bên ngoài rất hữu ích. Khi bạn muốn theo dõi sự thay đổi trên bất kỳ chân nào, bạn có thể sử dụng chân này làm ngắt thay vì theo dõi liên tục trạng thái của chân này.

Chân GPIO PWM

Tất cả các chân đầu ra đầu vào mục đích chung đều có thể được sử dụng để tạo PWM ngoại trừ các chân đầu vào kỹ thuật số từ Chân GPIO 34-39. Vì các chân này không thể được sử dụng làm chân đầu ra kỹ thuật số. Tín hiệu PWM là tín hiệu đầu ra kỹ thuật số. Tần số tối đa của các chân PWM này là 80 MHz. bạn có thể định cấu hình bất kỳ chân nào khác làm chân PWM bằng cách làm theo các bước sau:

  • Chọn một tần số để điều chế độ rộng xung.
  • Đặt chu kỳ nhiệm vụ hoặc độ rộng xung.
  • Chọn kênh PWM. ESP32 cung cấp 16 kênh PWM.
  • Gán một chân kỹ thuật số để chọn kênh PWM.

Hoàn thành hướng dẫn từng bước về ESP32 PWM với các ví dụ

Tính năng điều khiển động cơ PWM

Nó cũng hỗ trợ các tính năng điều khiển động cơ thông qua các thanh ghi bên trong của chip ESP32. ESP32 hỗ trợ hai đơn vị MCPWM. Các đơn vị MCPWM này có thể được sử dụng để điều khiển động cơ trực tiếp. Mỗi MCPWM có ba cặp đầu ra được đề cập bên dưới. bạn chỉ cần cấu hình các thanh ghi này với bất kỳ chân GPIO nào. bạn có thể tìm thêm thông tin về các thanh ghi này trong biểu dữ liệu. Tên đăng ký được cung cấp dưới đây:

  • PWM1_OUT_IN0 ~ 2
  • PWM0_FLT_IN0 ~ 2
  • PWM1_FLT_IN0 ~ 2
  • PWM0_CAP_IN0 ~ 2
  • PWM1_CAP_IN0 ~ 2
  • PWM0_SYNC_IN0 ~ 2
  • PWM1_SYNC_IN0 ~ 2

Bạn có thể gắn các tín hiệu PWM vào các chân GPIO để nhận đầu ra.

Chân giao tiếp I2C

Nó có sẵn các chân dành riêng cho giao tiếp I2C hai dây. Một chân được sử dụng để truyền dữ liệu và một chân khác được sử dụng để đồng bộ hóa đồng hồ.

  • GPIO21 là chân SDA.
  • GPIO22 là chân SCL.

Chúng tôi đã đăng một bài báo về giao tiếp LCD I2C với ESP32. Bài đăng này giải thích cách cắm các chân I2C. bạn có thể đọc toàn bộ bài viết:

  • Giao diện LCD I2C với ESP32

SPI Pins

Theo mặc định, ESP32 có hai kênh giao tiếp SPI VSPI và HSPI và bảng sau cung cấp các chân SPI mặc định cho cả hai kênh. Nhưng nếu chúng ta cũng có thể ánh xạ các chân này tới các chân GPIO khác cũng trong Arduino hoặc esp-idf.

Kênh SPIMOSIMISOSCK / CLKCS / SS

VSPIGPIO23 GPIO19GPIO18GPIO15

HSPIGPIO13GPIO12GPIO14GPIO15

Các chân RTC của bộ phát triển ESP32

Ban này cũng cung cấp Chân RTC có thể được sử dụng để kích hoạt ESP32 từ chế độ ngủ.

  • RTC_GPIO0 - GPIO36
  • RTC_GPIO3 -GPIO39
  • RTC_GPIO4 - GPIO34
  • RTC_GPIO5 - GPIO35
  • RTC_GPIO6 - GPIO25
  • RTC_GPIO7 -GPIO26
  • RTC_GPIO8 - GPIO33
  • RTC_GPIO9 - GPIO32
  • RTC_GPIO10 -GPIO4
  • RTC_GPIO11 - GPIO0
  • RTC_GPIO12 - GPIO2
  • RTC_GPIO13 - GPIO15
  • RTC_GPIO14 - GPIO13
  • RTC_GPIO15 - GPIO12
  • RTC_GPIO16 - GPIO14
  • RTC_GPIO17 - GPIO27

Chân cảm biến Hall

  • Hướng dẫn đầy đủ về Cách sử dụng cảm biến hiệu ứng hội trường tích hợp của ESP32

Nó cũng có một cảm biến hội trường được sử dụng để phát hiện từ trường. Bất cứ khi nào bạn làm hài lòng bảng phát triển này trong từ trường, ESP32 tạo ra một điện áp nhỏ có thể được đo bằng bất kỳ chân nào. Tôi sẽ đăng một bài hướng dẫn về nó trong các bài viết tới. Các tính năng khác của bảng phát triển ESP32 và các chân được hiển thị trong hình trên.

I2S (Âm thanh liên IC)

ESP32 chứa hai thiết bị ngoại vi giao tiếp nối tiếp I2S. I2S được sử dụng để truyền và nhận âm thanh giữa hai thiết bị Audino. Mỗi bộ điều khiển I2S hoạt động ở chế độ giao tiếp bán song công. Nhưng chúng ta có thể kết hợp hai bộ điều khiển có sẵn này để đạt được giao tiếp song công.

I2S -> GPIO25 và GPIO26 (I2S có thể được kết nối trực tiếp với các kênh đầu ra DAC (GPIO25 và GPIO26) để có được đầu ra Audio analog trực tiếp.

Mô-đun đếm xung (PCNT)

ESP32 có 8 mô-đun đếm xung (PCNT) được sử dụng để đếm số lượng các cạnh âm hoặc dương của tín hiệu được cấp cho các chân GPIO. Mỗi mô-đun bộ đếm xung bao gồm một thanh ghi bộ đếm 16 bit được đếm từ 0 đến 65536 trên cạnh dương hoặc âm của tín hiệu đầu vào. Hơn nữa, nó cũng có thể được cấu hình thành chế độ đếm lên và đếm ngược dựa trên các cạnh của tín hiệu đầu vào. Quan trọng nhất, nó cung cấp một chân điều khiển để bật hoặc tắt số đếm từ tín hiệu đầu vào.

  • Tất cả các chân GPIO có thể được cấu hình làm tín hiệu đầu vào cho bộ đếm xung.

Mô-đun điều khiển từ xa

Trình điều khiển mô-đun điều khiển từ xa có thể được sử dụng để truyền và nhận tín hiệu điều khiển từ xa IR và bất kỳ chân GPIO nào cũng có thể được cấu hình để nhận và truyền tín hiệu IR.

Tự động đặt lại ESP32

Bo mạch này có một chân cho phép bộ điều chỉnh 3.3V với một điện trở kéo lên. Chân này được kết nối với một nút bấm trên bảng ESP32. Do đó, để tự động khởi động lại bo mạch, hãy kết nối chân này với mặt đất vĩnh viễn.

Nếu bạn thích hướng dẫn này, bạn cũng có thể muốn xem các hướng dẫn và dự án này:

  • Hướng dẫn và dự án ESP32
  • Máy chủ web ESP32 để điều khiển đèn LED từ trang web
  • Giao tiếp DHT11 DHT22 với ESP32 và hiển thị các giá trị trên máy chủ web
  • Hiển thị Hình ảnh trong Máy chủ Web ESP32 và ESP8266
  • Kết nối lại ESP32 với WIFI sau khi Mất kết nối (Đã giải quyết)
  • Sử dụng ESP32 Bluetooth Classic với Arduino IDE
  • Máy chủ web ESP32 / ESP8266 để điều khiển đầu ra với bộ hẹn giờ (Độ rộng xung)
  • Nhận Ngày và Giờ hiện tại với ESP32 bằng NTP Server-Client và Arduino IDE
  • Lưu dữ liệu vào ESP32 Flash vĩnh viễn bằng Thư viện tùy chọn
  • HTTP GET bằng cách sử dụng ESP32 và Arduino IDE (OpenWeatherMap.org và ThingSpeak)
  • ESP32 HTTP POST sử dụng Arduino IDE (ThingSpeak và IFTTT)

Từ khóa » Esp32 Sơ đồ Chân