Bài viết này giới thiệu bo mạch AI thinker ESP32-CAM. Chúng ta tìm hiểu về sơ đồ chân, tính năng, thông số kỹ thuật và cách sử dụng bo mạch ESP32- CAM.
Giới thiệu ESP32-CAM AI-Thinker
Thế giới đã phát triển công nghệ IoT, tức là Internet of Things trong một thời gian khá dài. Từ những người có đam mê sáng tạo đến các nhà phát triển, tất cả mọi người đều quan tâm đến công nghệ thông minh, thiết kế các mẫu mạch và sản phẩm khác nhau tung ra thị trường.
Các chip trong chuỗi ESP32 là một trong những module thông minh được dùng phổ biến trong IoT. ESP32-CAM AI-Thinker là phiên bản nâng cấp của ESP8266-01 được Espressif tung ra với nhiều tính năng. Module siêu nhỏ, công suất thấp có hai CPU LX6 32bit hiệu suất cao với kiến trúc vi mạch đường dẫn 7 lớp.
Thiết bị ngoại vi
ESP32-CAM đã tích hợp với Wi-Fi, Bluetooth và có thể được sử dụng với máy ảnh OV2640 hoặc OV7670. IC ESP32 có các giao thức ADC, SPI, I2C và UART độ phân giải cao để giao tiếp dữ liệu. Module có cảm biến Hall, cảm biến nhiệt độ và cảm biến cảm ứng, và bộ hẹn giờ wtachdog.
Ngoại vi RTC có thể hoạt động ở các chế độ khác nhau. Module có tần số xung nhịp tối đa là 160 MHz cho khả năng tính toán lên đến 600 DMPIS. Hơn nữa, nó khá bền và độ tin cậy cao khi kết nối internet.
Các ứng dụng
Module ESP32-CAM AI-Thinker có nhiều ứng dụng như tự động hóa trong nhà, thiết bị thông minh, hệ thống định vị, hệ thống an ninh và thích hợp cho các ứng dụng IoT.
Các thành phần AI-Thinker của ESP32-CAM
Bo mạch này là dạng bảng mạch PCB kiểu DIP 27×40,5×4,5. Hình dưới đây cho thấy các thành phần của bo mạch ESP32-CAM ở cả mặt trên và mặt dưới.
Chip ESP32-S: Module này là một con chip chính có hai CPU LX6 hiệu suất cao 32-bit với một kiến trúc vi mạch đường dẫn 7 lớp và sử dụng trong tất cả các quá trình xử lý.
Đầu ra khối IPEX: IPEX được kết nối với ăng-ten GSM để truyền tín hiệu.
Tụ tantal: Tụ tantal chủ yếu được sử dụng trên các module có kích thước nhỏ. Chúng bền và cung cấp khả năng lọc nguồn điện cho ra tín hiệu ổn định.
Nút reset: Khi được nhấn, nút reset sẽ khởi động lại code được thực thi trên module.
Chip điều chỉnh điện áp: Chip điều chỉnh điện áp trên module để duy trì đảm bảo ổn định điện áp đầu ra bất chấp sự thay đổi của nguồn cung cấp đầu vào. Nó điều chỉnh điện áp ở 3,3V.
PSRAM: Bộ nhớ truy cập ngẫu nhiên “giả” công suất thấp 4MB được tích hợp trong module để có tốc độ xử lý nhanh. Nó giúp máy ảnh chạy mượt mà.
Cổng nhận thẻ TF: Dòng ESP32 có một cổng nhận thẻ micro-SD để lưu trữ dữ liệu. Tất cả quá trình truyền dữ liệu đều thông qua giao tiếp ngoại vi nối tiếp.
Đầu nối FPC: Để gắn máy ảnh, module ESP32 có một đầu nối mạch linh hoạt. Chiều cao của đầu nối tỷ lệ với độ tin cậy của tín hiệu.
Đèn flash: Đèn flash tạo ra các xung điện hoạt động như đèn flash cho máy ảnh có thể chụp được hình ảnh rõ nét.
Sơ đồ bên trong
Sơ đồ chân bo mạch ESP32-CAM AI-Thinker
Sơ đồ sau đây cho biết sơ đồ chân của Module AI-Thinker ESP32-CAM:
Phần này mô tả sơ đồ chân của module AI-Thinker ESP32-CAM. Chip ESP32-S có tổng cộng 34 chân nhưng có 16 chân đươc đưa ra các chân header.
Chân nguồn
Module có ba chân nối đất và hai chân cấp nguồn dương như chân 5V và 3,3V. Các chân này được sử dụng để cấp nguồn cho module ESP32-CAM AI-Thinker. Không nên cấp nguồn cho cả bo mạch với chân 3,3V, vì nó cấp nguồn không ổn định cho bo mạch.
Chân đầu ra nguồn
ESP32-CAM cũng cung cấp một chân đầu ra nguồn như hiển thị bằng màu vàng trong sơ đồ chân ở trên. Đây là chân VCC có thể xuất ra 5V hoặc 3.3V. Theo kết nối Jumper trên ESP32-CAM, chân VCC cung cấp đầu ra 3.3V.
GPIO33 – Đèn LED đỏ được tích hợp
Bo mạch AI-Thinker cũng có một đèn LED đỏ. Bạn thấy đèn LED này bên cạnh nút reset. Đèn LED màu đỏ được tích hợp này được kết nối với GPIO 33 ở trạng thái mức logic thấp.
Điều đó có nghĩa là nếu chúng ta muốn bật đèn LED, chúng ta phải kích GPIO 33 xuống mức logic thấp. Tương tự, để tắt đèn LED, chúng ta kích GPIO 33 ở trạng thái mức logic cao.
Chân UART
Hầu như tất cả các chân GPIO của ESP32-CAM đều là chân đa năng (nhiều chức năng). GPIO1 và GPIO3 lần lượt có các chức năng thay thế việc truyền và nhận dữ liệu nối tiếp cho cổng UART. Bo mạch AI-Thinker không tích hợp bộ lập trình. Do đó, các chân UART này được sử dụng để lập trình và giao tiếp với PC để tải code.
Tên chân | Đặc diểm |
GPIO1 | U0TXD (Chân truyền dữ liệu UART) |
GPIO3 | UORXD (Chân nhận dữ liệu UART) |
Chúng ta có thể sử dụng cáp FTDI để flash code ESP32-CAM bằng cách sử dụng các chân UART. Bạn có thể đọc bài viết này để biết cách sử dụng cáp FTDI chuyển đổi kết nối USB sang chuẩn kết nối nối tiếp:
Chân GPIO0 – Chọn chế độ đèn flash
Chân này để chọn chế độ flash hoặc chế độ bình thường. Ở chế độ flash, GPIO0 được kéo xuống mức logic thấp tức là đấu nối với đất. Khi đó ESP32-CAM sẽ chuyển sang chế độ flash và chúng ta có thể lập trình cho led.
Sau khi lập trình nhấp nháy led vào bo mạch, chúng ta nên ngắt đấu nối GPIO0 khỏi đất để module chạy ở chế độ bình thường.
- GPIO0 được đấu nối với đất thì ESP32-CAM hoạt động ở chế độ Flash
- GPIO0 không đấu nối với đất, ESP32-CAM ở chế độ thực thi chương trình bình thường
Chân thẻ SD
Như đã thảo luận trong phần trước, bo mạch ES32-CAM có đầu kết nối thẻ SD tích hợp có thể được sử dụng để kết nối thẻ SD.
Các chân GPIO này sử dụng cho các kết nối với thẻ micro SD, đọc và ghi dữ liệu ở thẻ SD. Các chân GPIO này có thể được sử dụng làm chân I / O nếu không sử dụng thẻ SD.
Tên chân | Mô tả các chân phục vụ giao tiếp thẻ SD |
GPIO2 | Chân Data0 (hỗ trợ RTC & ADC) |
GPIO4 / Đèn flash | Chân Data1 (hỗ trợ RTC & ADC) |
GPIO12 | Chân Data2 (hỗ trợ RTC & ADC) |
GPIO13 | Chân Data3 (hỗ trợ RTC & ADC) |
GPIO14 | CLK (hỗ trợ RTC & ADC) |
GPIO15 | CMD (hỗ trợ RTC & ADC) |
Lưu ý: Nếu bạn không sử dụng thẻ SD trong dự án ESP32-CAM của mình, bạn có thể sử dụng các chân GPIO này cho các chức năng khác như đầu vào tín hiệu digital, đầu ra tín hiệu digital, ADC và RTC.
Bạn có thể tìm thêm các tính năng của các chân này trong bài viết sau:
Chân LED flash
ESP32-CAM cũng được tích hợp đèn flash có độ sáng cao. Flash này có thể được sử dụng hỗ trợ cho máy ảnh khi chụp ảnh trong bóng tối. GPIO4 được kết nối với một đèn flash này (nếu được lập trình), nó sẽ nhấp nháy khi máy ảnh chụp ảnh.
GPIO4 cũng được kết nối với thẻ SD, vì vậy nó có thể gây khó khăn khi truy nhập cả hai cùng một lúc. Điều đó có nghĩa là đèn flash có thể phát sáng không mong muốn khi sử dụng thẻ SD.
Nếu bạn không muốn đèn flash sáng lên khi sử dụng thẻ SD, bạn có thể code chương trình không sử dụng GPIO4 làm đường dữ liệu cho thẻ SD bằng cách sử dụng dòng này:
SD_MMC.begin("/sdcard", true)
Chân kết nối máy ảnh
Bảng sau liệt kê các kết nối chân GPIO với Camera OV2640 và tên biến tương ứng mà chúng ta sẽ sử dụng trong chương trình của mình.
MÁY ẢNH OV2640 | ESP32 | Tên biến trong code |
D0 | GPIO5 | Y2_GPIO_NUM |
D1 | GPIO18 | Y3_GPIO_NUM |
D2 | GPIO19 | Y4_GPIO_NUM |
D3 | GPIO21 | Y5_GPIO_NUM |
D4 | GPIO36 | Y6_GPIO_NUM |
D5 | GPIO39 | Y7_GPIO_NUM |
D6 | GPIO34 | Y8_GPIO_NUM |
D7 | GPIO35 | Y9_GPIO_NUM |
XCLK | GPIO0 | XCLK_GPIO_NUM |
PCLK | GPIO22 | PCLK_GPIO_NUM |
VSYNC | GPIO25 | VSYNC_GPIO_NUM |
HREF | GPIO23 | HREF_GPIO_NUM |
SDA | GPIO 26 | SIOD_GPIO_NUM |
SCL | GPIO 27 | SIOC_GPIO_NUM |
PIN NGUỒN | GPIO 32 | PWDN_GPIO_NUM |
Các tính năng và thông số kỹ thuật của ESP32-CAM
Chi tiết đặc tính và thông số kỹ thuật của module cực kỳ tiện dụng này được liệt kê dưới đây:
Đặc tính | Khả dụng |
Module | ESP32-CAM AI-Thinker |
Bộ xử lý | LX6 32-bit |
Kiến trúc vi mạch | Đường dữ liệu 7 lớp |
SPI Flash | 32-bit |
SRAM | 520 KB |
PSRAM | 4MB |
Dãy Nhiệt độ hoạt động | -20 0 C – 85 0 C |
Điện áp hoạt động | 5V |
UART | 1 |
Tốc độ truyền UART | 115200 bps |
SPI | Có |
I2C | Có |
PWM | Có |
Wifi | 802.11 b / g / n |
Công suất truyền tải | 802.11 b: 17 ± 2 dBm ở tốc độ 11Mbps. 802.11 g: 14 ± 2 dBm ở tốc độ 54Mbps 802.11 n: 13 ± 2 dBm ở MCS7 |
Bluetooth | Bluetooth 4.2 BR / EDR theo tiêu chuẩn BLE |
Hỗ trợ thẻ TF | Hỗ trợ tối đa 4G |
Bảo mật dữ liệu | WPA / WPA2 / WPA2-Enterprise / WPS |
Định dạng hình ảnh đầu ra | BMP, GRAYSCALE, JPEG (chỉ hỗ trợ OV2640) |
Dải quang phổ | 2412 MHz – 2484 MHz |
Độ lợi ăng ten trên bo mạch PCB | 2dBi |
Số cổng đầu vào / đầu ra | 9 |
Độ nhạy | CCK 1 Mb /s: -90dBm.
CCK 11 Mb / s: -85dBm 6 Mb / s (1/2 BPSK): -88dBm 54 Mb / s (3/4 64-QAM): -70dBm MCS7 (65 Mb / s, 72,2 Mb / s): -67dBm |
Công suất tiêu thụ | Khi tắt đèn flash tiêu tốn: 180mA ở 5V. Bật đèn flash với độ sáng tối đa: 310mA ở 5V. Chế độ ngủ sâu (sleep-mode): có mức tiêu thụ điện năng thấp nhất có thể đạt 6mA ở 5V. Modem-sleep mode: <20mA ở 5V, slight-sleep mode: <6.7mA ở 5V |
Tần số xung nhịp | 240 MHz (tối đa) |
Loại package | DIP-16 |
kích cỡ package | 27 x 40,5 x 4,5 (± 0,2) mm |
Các tính năng chi tiết
Một số tính năng nổi bật bổ sung cho module được mô tả như sau:
- Hỗ trợ cấu hình thông minh AirKiss và có các chân điện dung GPIO.
- 18 bộ chuyển đổi tín hiệu analog sang tín hiệu digital với độ phân giải cao.
- 2 bộ chuyển đổi tín hiệu digital sang tín hiệu analog với độ phân giải 8-bit.
- Tiêu thụ công suất lên đến 600 DMIPS ở tần số xung nhịp 160 MHz.
- Module có WiFi tốc độ cao 2,4 GHz.
- Module ESP32 có 2 I2C, 3 SPI và 3 UART để truyền dữ liệu nối tiếp nhanh chóng.
- Nó có 16 kênh PWM để xuất tín hiệu điều chế độ rộng xung.
- Nó có một cổng TF và hỗ trợ tải hình ảnh từ WiFi.
- ESP32 hỗ trợ 4 chế độ hoạt động khác nhau là STA / AP / STA + AP
- Lập trình nhúng Lwip và FreeRTOS.
- RTC hỗ trợ khởi động module từ sleep-mode.
- Một đèn flash tích hợp được cung cấp cho module để tạo ánh sáng chụp ảnh sáng rõ.
- Một vi mạch công nghệ CMOS có bộ khuếch đại công suất đầu ra có thể điều chỉnh
- ESP32 có chu kỳ hoạt động thấp để giảm tiêu thụ điện năng, giúp nó hoạt động hiệu quả.
Lập trình ESP32-CAM AI-Thinker
Không giống như bộ công cụ dành cho họ ESP32 hoặc các bo mạch ESP32 khác, bo mạch ESP32-CAM AI-Thinker không có bất kỳ bộ lập trình tích hợp nào để ghi code vào chip ESP32-S.
Do đó, để tải code lên, chúng ta phải sử dụng Bộ chuyển đổi kết nối USB sang UART bên ngoài hoặc Bộ lập trình FTDI.
Sơ đồ sau đây cho biết kết nối giữa ESP32-CAM và cáp FTDI. Chúng ta sử dụng các chân UART của ESP32-CAM kết nối với cáp FTDI.
ESP32-CAM | Cáp FTDI |
GND | GND |
5V | VCC (5V) |
U0RX / GPIO3 | TX |
U0TX / GPIO1 | RX |
GPIO0 | GND |
Trong hướng dẫn tiếp theo, chúng ta sẽ xem cách cài đặt tiện ích bổ sung ESP32-CAM trong Arduino IDE và cách tải code ví dụ lên bo mạch AI-Thinker bằng cáp FTDI.
Tóm lại, trong hướng dẫn này, chúng ta đã học được những điều sau:
- Giới thiệu ESP32-CAM AI-Thinker, thiết bị ngoại vi và ứng dụng
- Sơ đồ chân
- Chân nguồn và chân đầu ra nguồn
- GPIO33 – Đèn LED đỏ tích hợp
- Chân UART
- Chân GPIO0 – Chọn chế độ đèn flash
- Chân thẻ SD
- Chân đèn LED flash
- Chân kết nối máy ảnh
- Lập trình ESP32-CAM AI-Thinker
Trong hướng dẫn sắp tới, chúng ta sẽ xem cách tạo server web với ESP32-CAM với tính năng phát video trực tiếp.
>>> Mời anh em xem thêm: