Các chân GPIO của ESP32-CAM-B2


Các chân GPIO của ESP32-CAM

ESP32-CAM là một board mạch phát triển với chip điều khiển ESP32-S, camera OV2640, khe cắm thẻ nhớ microSD và các GPIO để kết nối với thiết bị ngoại vi. Trong bài viết này, chúng ta sẽ tìm hiểu kỹ hơn về chức năng và cách sử dụng các GPIO của ESP32-CAM

Sơ đồ chân

Sơ đồ chân của ESP32-CAM được thể hiện qua hình dưới đây:

Chân nguồn (power pin)

ESP32-CAM có 3 chân GND (màu đen trong sơ đồ chân), 1 chân 3.3V và 1 chân 5V (màu đỏ trong sơ đồ chân).

ESP32-CAM có thể hoạt động ở cả 3.3V và 5V, tuy nhiên với nguồn 3.3V, ESP32-CAM có thể sẽ hoạt động không ổn định, chúng ta nên dùng nguồn 5V để đảm bảo ESP32-CAM hoạt động ổn định.

Trên sơ đồ chân bạn có thể thấy 1 chân màu vàng 3.3/5V, trên ESP32-CAM chân này được kí hiệu là VCC. Chúng ta không nên sử dụng chân này để cấp nguồn cho ESP32-CAM. Đây là chân nguồn output, không sử dụng để cấp nguồn. Điện áp ở chân này có thể là 3.3V hoặc 5V.

Để ý trên board ESP32-CAM, bạn sẽ thấy bên cạnh chân VCC có kí hiệu 2 mức điện áp của chân VCC. Ứng với mỗi mức có 2 pad hàn điện trở 0Ω (đóng vai trò như jumper). Jumper nối ở mức điện áp nào thì điện áp ngõ ra của chân VCC bằng mức đó.

Chân serial

GPIO 1 và GPIO 3 là 2 chân serial của ESP32-CAM (GPIO 1 đóng vai trò là TX, GPIO 3 là RX). ESP32-CAM không được tích hợp sẵn mạch giao tiếp serial với máy tính, cần dùng 2 chân serial giao tiếp với một mạch giao tiếp serial trung gian mới có thể nạp chương trình từ máy tính.

Cách nạp chương trình cho ESP32-CAM sẽ được giới thiệu cụ thể ở bài học sau bằng cách sử dụng FT232RL FTDI.

Bạn vẫn có thể sử dụng GPIO 1 và GPIO 3 để kết nối với các module ngoại vi sau khi nạp chương trình xong. Trong trường hợp đó, bạn sẽ không thể mở Serial Monitor để xem các thông tin mà chương trình in ra hoặc debug qua serial monitor.

GPIO 0

GPIO 0 được nối với một điện trở kéo lên, có chức năng chọn chế độ hoạt động cho ESP32-CAM.

Khi điện áp GPIO 0 ở mức 0, ESP32-CAM sẽ hoạt động ở chế độ flash, chúng ta nạp chương trình cho ESP32-CAM ở chế độ này. Khi điện áp chân này ở mức 1, ESP32-CAM sẽ thoát khỏi chế độ flash.

Khi cần nạp chương trình cho ESP32, ta kết nối GPIO 0 với chân GND, và ngắt kết nối giữa GPIO 0 với GND khi cần ESP32-CAM hoạt động bình thường. Mỗi lần kết nối hoặc ngắt kết nối giữa GPIO 0 và GND cần nhấn nút RST trên board để ESP32-CAM cập nhật lại chế độ hoạt động.

GPIO 16

GPIO 16 mặc định là chân có chức năng UART. Tuy nhiên bạn cũng có thể sử dụng GPIO 16 với chức năng là digital input, GPIO 16 được kết nối với điện trở nội kéo lên nên trạng thái mặc định của chân này là mức 1.

GPIO 16 không được tích hợp bộ chuyển đổi ADC, nên không thể sử dụng cho chức năng analog input, chân này cũng không phải chan RTC, nên không thể sử dụng cho chức năng timer waker up.

Kết nối thẻ nhớ MicroSD

ESP32-S kết nối với thẻ nhớ microSD qua khe cắm thẻ nhớ theo bảng kết nối dưới đây:


Nếu không sử dụng thẻ nhớ, bạn có thể sử các GPIO 2, 4, 12, 13, 14, 15 với chức năng input/output, các chân này đều được tích hợp bộ chuyển đổi ADC và là chân RTC.

Flashlight (GPIO 4)

ESP32-CAM có 1 đèn LED kết nối với GPIO 4, có thể hoạt động như đèn flash khi chụp hình. Tuy nhiên GPIO 4 cũng là chân kết nối với thẻ nhớ nên đèn LED có thể sẽ sáng trong lúc chúng ta sử dụng thẻ nhớ.

GPIO 33

 Ở gần nút RST, có 1 đèn LED đỏ được tích hợp sẵn trên board. LED này được kết nối với GPIO 33. Đèn LED này hoạt động theo logic đảo, khi điều khiển GPIO 33 ở mức LOW, đèn LED này sẽ sáng và ngược lại.
Kết nối Camera

ESP32-S kết nối với camera theo bảng kết nối dưới đây: