Nội dung bài học:
- Sự ra đời của ESP32
- Các thông số kỹ thuật cơ bản ESP32
- Các bo mạch ESP32.
- Bo mạch ESP32 DEVKITV1
1. Sự ra đời của Esp32.
– Hiện nay, khi nói đến việc học lập trình vi điều khiển cho những người mới bắt đầu, Arduino có lẽ là dòng vi điều khiển phổ biến và dễ làm quen nhất do tài liệu hướng dẫn phong phú cùng cộng đồng đông đảo người dùng trên toàn thế giới.
– Dự án Arduino xuất phát từ 2005 [1] ở Italy, mục đích để tạo ra công cụ đơn giản, chi phí thấp cho những người không có chuyên môn sâu nhưng có sở thích sáng tạo các dự án kỹ thuật số.

Hình 1: Bo mạch Arduino UNO R3
– Năm 2014, ESP8266 xuất hiện như một lựa chọn mạnh hơn, rẻ hơn Arduino, với khả năng kết nối Wifi phù hợp cho dự án IoT. Đến 2016, ESP32 ra mắt với nhiều cải tiến như hỗ trợ Bluetooth, vi xử lý 32 bit lõi kép và camera, giúp người dùng dễ dàng nâng cấp và sáng tạo dự án hơn. Những cải tiến phần cứng này ở ESP32 giúp mở toang cánh cửa để người dùng có thể thỏa sức nâng cấp, sáng tạo các dự án của mình lên một tầm cao mới.
2. Các thông số kỹ thuật cơ bản ESP32
– Vi xử lý (Microprocessor): Chip tiết kiệm năng lượng, lõi đơn/kép Etenxa 32-bit LX6, hoạt động ở tần số 160 hoặc 240 MHz và tốc độ thực thi lên tới 600 DMIPS
– Bộ nhớ (Memory): 320KB RAM và 448 KB ROM
– Kết nối không dây (Wireless connectivity): Hỗ trợ cả Wifi và Bluetooth
- Wifi: 802.11 b/g/n
- Bluetooth: v4.2 BR/EDR và BLE (Chia sẻ sóng với Wifi)
– Giao tiếp với thiết bị ngoại vi (Peripheral interfaces):
- Lên tới 34 chân lập trình đa mục đích GPIO (General-Purpose Input/Output): Chân vào/ra tín hiệu, điều chế độ rộng xung PWM, cảm ứng chạm,…
- Lên tới 18 kênh chuyển đổi tín hiệu tương tự -số ADC (Analog Digital Converter)
- 2 giao tiếp truyền thông mạch tích hợp I2C (Inter-Integrated Circuit)
- Lên tới 4 giao tiếp thiết bị ngoại vi nối tiếp SPI (Serial Peripheral Interfaces)
- Hỗ trợ kết nối CAN bus 2.0
- Lên tới 8 kênh điều khiển hồng ngoại từ xa
– Tính bảo mật
– Quản lý năng lượng tiêu thụ
-……………………
3. Các bo mạch ESP32.
– Hiện nay trên thị trường, có rất nhiều nhà cung cấp các bo mạch phát triển khác nhau dựa trên vi điều khiển ESP32 với các tên gọi, giá thành, số lượng chân lập trình và tính năng khác nhau ít nhiều như trên hình 2.

Hình 2: Một số bo mạch sử dụng ESP32
Chú ý: con chip ESP32 do hãng Espressif sản xuất và các bo mạch phát triển dựa trên con chip ESP32 là hai đối tượng khác nhau, hay cụ thể hơn con chip ESP32 chỉ là “nhân vật chính” trên một bo mạch phát triển của một nhà cung cấp.
– Ở thị trường Việt Nam, bo mạch ESP32 DEVKIT V1 khá phổ biến và dễ dàng tìm mua trên các trang thương mại điện tử hay các cửa hàng linh kiện điện tử, và cũng là bo mạch sẽ được sử dụng để thực hành lập trình cho các bài học được giới thiệu trong tài liệu này.

Hình 3: Doit DEVKIT V1
4. Bo mạch ESP32 DEVKITV1
– Tiếp theo chúng ta sẽ tìm hiểu chi tiết về các thành phần và sơ đồ chân của bo mạch ESP32 DEVKITV1 mà chúng ta sẽ sử dụng [10].
Sức mạnh xử lý
– Bo mạch này được trang bị mô đun (module) ESP-WROOM-32 có chứa con chip lõi kép 32 bít Tensilica Xtensa LX6, hoạt động ở tần số điều chỉnh được trong dải từ 80 tới 240 MHz và có sức mạnh thực thi lên tới 600 DMIPS như trên hình 4. Nó cũng có 448 KB bộ nhớ ROM và 520 KB SRAM, đồng thời 4MB bộ nhớ Flash cho lập trình và lưu trữ dữ liệu đủ để tạo ra các trang Web, dữ liệu JSON/XML cùng mọi ứng dụng cho các thiết bị IoT
– ESP32 này tích hợp Wifi truyền phát 802.11b/g/n HT40, để không nhưng vừa kết nối và tương tác với Internet đồng thời có thể tự thiết lập mạng của chính nó và cho phép các thiết bị khác kết nối vào.
– Hơn nữa, nó cũng hỗ trợ Wifi Direct để cho chúng kết nối trực tiếp với nhau mà không cần đến một điểm truy cập nào. Wifi Direct này dễ dàng thiết lập và tốc độ truyền dữ liệu tốt hơn nhiều so với kết nối Bluetoooth mặc dù bo mạch này cũng hỗ trợ cả 2 chế độ Bluetooth 4.0 (BLE/Bluetooth Smart) và Bluetooth Classic.


Hình 4: Thông số cơ bản của bo mạch DEVKITV1
Năng lượng hoạt động
– ESP32 hoạt động ở điện áp từ 2.2 tới 3.6V, và trên bo mạch có sẵn chip LDO cố định điện áp ở mức 3.3V. Con chip này có thể cấp dòng điện tới 600mA thoải mái cho ESP32 hoạt động vì nó chỉ tiêu thụ tối đa khoảng 250 mA, do đó chân 3V3 trên bo mạch có thể sử dụng để cấp nguồn cho các thiết bị công suất nhỏ khác như màn hình OLED, cảm biến,… Nguồn cấp cho bo mạch ESP32 hoạt động có thể thông qua cổng Micro USB 5V hoặc cấp nguồn điện áp 5V trực tiếp vào chân VIN pin như trên hình 1.3. Chú ý rằng, ở chế độ ngủ ESP32 chỉ tiêu thụ ít hơn 5uA, rất phù hợp cho việc sử dụng Pin để cấp nguồn và làm các thiết bị di động.


Hình 5: Năng lượng hoạt động trên ESP32
Chú ý: Do điện áp trên ESP32 là 3.3V, đó cũng là điện áp ở mức logic cao trên các chân của nó nên cần chú ý khi lập trình, bởi vì nó sẽ khác với các vi điều khiển thông thường ví dụ như Arduino Uno, Mega 2560, PIC,… sử dụng điện áp 5V.
Nút nhấn và đèn LED hiển thị
– Bo mạch ESP32 có 2 nút nhấn, ấn EN để khởi động lại ESP32 còn nút BOOT để sử dụng khi nạp chương trình vào ESP32. Ngoài ra, bo mạch còn có 2 đèn LED xanh và đỏ, đèn màu đỏ để biểu thị đã có nguồn cấp cho ESP32 còn đèn màu xanh để người dùng có thể sử dụng để lập trình và nó đã được nối sẵn tới chân D2 của bo mạch như trên hình 6.


Hình 6. Nút nhấn và đèn LED
Truyền thông nối tiếp (Serial Communication)
– Bo mạch có chứa chip CP2102 hoặc CH340 hoặc CH9102X,..USB-to-UART để chuyển đổi tín hiệu từ USB sang serial để cho phép máy tính có thể lập trình và kết nối tới ESP32 (hình 7). Tuy nhiên, chúng ta cần phải tải và cài đặt driver CP2102 cho máy tính thì kết nối mới được thực hiện.


Hình 7. Chip CP2012
Sơ đồ và chức năng các chân trên bo mạch

Hình 8. Sơ đồ các chân trên bo mạch ESP32
– Bo mạch ESP32 DEVKITV1 là phiên bản có 30 chân với sơ đồ như trên hình 8. Ta có thể sắp xếp các chân có tính năng tương tự nhau vào các nhóm sau:
– Power Pins: Chân VIN cấp nguồn điện áp 5V cho ESP32 hoạt động, còn chân 3V3 có thể sử
dụng để cấp nguồn cho các thiết bị công suất nhỏ như cảm biến, màn hình OLED,…
– GND: Đây là chân nối đất, có điện thế 0V.
– Arduino Pins: là các chân phục vụ cho các giao tiếp I2C và SPI để kết nối với các cảm biến, thiết bị ngoại vi,…
– GPIO Pins: Bo mạch có 25 chân GPIO để phục vụ cho việc lập trình đa chức năng. Mỗi chân GPIO này có thể được thiết lập thành điện trở nối kéo lên, kéo xuống hoặc trở kháng cao. Khi được thiết lập là chân ngõ vào, nó cũng có thể dùng để tạo ra các trình phục vụ ngắt.
– ADC Channels: Bo mạch có tới 15 kênh ADC 12-bit SAR.
– DAC Channels: Nó có 2 kênh ADC 8 bit để chuyển đổi tín hiệu số sang tín hiệu tương tự.
– Touch Pads: Có tới 9 chân GPIO cảm ứng diện dung để phát hiện ra sự thay đổi điện dung khi ngón tay chạm vào trực tiếp hoặc ở khoảng cách gần.
– UART Pins: Có 2 bộ giao thức UART UART0 và UART2 để hỗ trợ giao tiếp không đồng bộ (RS232 và RS485) với tốc độ truyền 5MBps.
– SPI Pins: Có 3 bộ SPI (SPI, HSPI và VSPI) ở chế độ chủ và tớ. Các bộ SPI này cũng hỗ trợ các tính năng chung của giao thức SPI như: 4 chế độ thời gian khi trao đổi, tốc độ lên tới 80 MHz và lên tới 64 Byte FIFO. Các bộ SPI này cũng có thể dùng để kết nối tới bộ nhớ Flash/SRAM bên ngoài và màn hình LCD.
– ~PWM Pins: Bo mạch có 25 kên hỗ trợ chế độ PWM, sử dụng để điều khiển động cơ hay đèn LED.
– EN Pin: Sử dụng chân này để kích hoạt ESP32 khi nó ở mức cao, còn khi kéo chân này xuống mức thấp thì ESP32 sẽ hoạt động ở chế độ năng lượng tiêu thụ tối thiểu.
Kết luận
ESP32 là một vi điều khiển mạnh mẽ và linh hoạt, lý tưởng cho các ứng dụng IoT với khả năng kết nối Wi-Fi và Bluetooth. Việc lập trình ESP32 bằng Arduino IDE giúp cả người mới lẫn lập trình viên có kinh nghiệm dễ dàng phát triển các dự án sáng tạo. Hãy bắt đầu khám phá và thử nghiệm để biến những ý tưởng của bạn thành hiện thực!
By: Lương Hưu Nhật Minh
Good https://shorturl.at/2breu
Good https://lc.cx/xjXBQT
Awesome https://lc.cx/xjXBQT
Awesome https://urlr.me/zH3wE5
Awesome https://rb.gy/4gq2o4
Very good https://is.gd/N1ikS2
Good https://is.gd/N1ikS2
Awesome https://is.gd/N1ikS2
https://shorturl.fm/6539m
https://shorturl.fm/A5ni8
https://shorturl.fm/FIJkD
https://shorturl.fm/MVjF1
Monetize your traffic instantly—enroll in our affiliate network! https://shorturl.fm/AACKe
Partner with us for generous payouts—sign up today! https://shorturl.fm/fUMrx
Share our products, earn up to 40% per sale—apply today! https://shorturl.fm/rAjUH
Join our affiliate program and start earning commissions today—sign up now! https://shorturl.fm/9KfTe
https://shorturl.fm/VFtP2
https://shorturl.fm/VFtP2
https://shorturl.fm/UIufB
https://shorturl.fm/p7dTe
https://shorturl.fm/cCRdL
https://shorturl.fm/XSrn8
https://shorturl.fm/3Eiyy
https://shorturl.fm/m5m2K
https://shorturl.fm/E0Wdd
https://shorturl.fm/CTBNB
https://shorturl.fm/lgPwC
https://shorturl.fm/7rpyU
https://shorturl.fm/UEAIV
https://shorturl.fm/qWUYN
https://shorturl.fm/t7s9Q