Trải nghiệm học Lập trình ESP32 miễn phí

💡 Trong bài học này

🎯 Mục tiêu

Sau bài học này, bạn sẽ:

  • Hiểu ESP32 là gì và một số ứng dụng phổ biến.
  • Chuẩn bị đầy đủ phần cứng để học tập.
  • Cài đặt Arduino IDE.
  • Cài đặt Board ESP32.
  • Kết nối ESP32 với máy tính.
  • Nạp thành công chương trình đầu tiên.

📖 Nội dung bài học

1. ESP32 là gì?

ESP32 là dòng vi điều khiển do Espressif Systems phát triển, tích hợp sẵn WiFi và Bluetooth.

Với hiệu năng cao, giá thành hợp lý và cộng đồng sử dụng rộng lớn, ESP32 là một trong những nền tảng phổ biến nhất để học lập trình nhúng và phát triển các ứng dụng IoT.

ESP32 devkit v1

Trong khóa học này, các bài thực hành chủ yếu sử dụng ESP32 DevKit V1 (ESP32-WROOM-32).

Thông sốThông tin
Vi điều khiểnESP32-WROOM-32
CPU32-bit, tối đa 240 MHz
Flash4 MB
SRAM520 KB
Wi-Fi2.4 GHz, 802.11 b/g/n
BluetoothBluetooth Classic + BLE
GPIO30 chân trên phiên bản DevKit V1 30-pin
ADC12-bit
DAC2 kênh 8-bit
PWMHỗ trợ hầu hết trên các GPIO
Giao tiếpUART, I2C, SPI
Điện áp logic3.3V
Điện áp cấp qua USB5V
Lập trìnhArduino IDE, ESP-IDF, PlatformIO

Một số ứng dụng của ESP32:

Ứng dụng của esp32

2. Thiết bị cần chuẩn bị

Để học tốt khóa học này, bạn cần chuẩn bị các linh kiện sau:
(bạn có thể tham khảo link mua tại đây)

Thiết bịSố lượngChức năng
Board ESP32 DevKit V12Board vi điều khiển chính sử dụng trong khóa học
Cáp Micro USB2Kết nối, cấp nguồn và nạp chương trình
Máy tính Windows 64bit1Cài đặt phần mềm, viết code chương trình
Breadboard (Board cắm mạch)2Dùng đấu nối thiết bị phần cứng mà không cần hàn mạch
Dây cắm breadboard đực – đực (M-M)20Kết nối các linh kiện cắm trên breadboard
LED và điện trở 220 Ohm10Hiển thị trạng thái khi điều khiển thiết bị ở ngõ ra
Nút ấn thường hở5Tạo tín hiệu đầu vào cho ESP32
Biến trở 10 Kohm1Tạo tín hiệu điện áp đưa vào ESP32
Cảm biến nhiệt độ – độ ẩm DHT111Đo nhiệt độ – độ ẩm môi trường
Màn hình oled 0.96 inch1Hiển thị thông tin hoặc giá trị cảm biến
Module relay 5V 2 kênh1Điều khiển các thiết bị điện AC hoặc DC có công suất lớn
Linh kiện cần dùng cho khóa học lập trình esp32 iot căn bản
Bộ linh kiện cần dùng trong khóa học Lập trình ESP32

3. Cài đặt Arduino IDE

Arduino IDE là phần mềm dùng để viết, biên dịch và nạp chương trình cho ESP32.

Truy cập website chính thức của Arduino để tải và cài đặt: https://www.arduino.cc/en/software

WEB ARDUINO
Website download phần mềm Arduino IDE

Khuyến nghị sử dụng Arduino IDE phiên bản 2.x.

ARDUINO IDE
Giao diện phần mềm Arduino IDE

4. Cài đặt Board ESP32

Sau khi cài đặt Arduino IDE, cần cài thêm bộ thư viện (Board Package) để lập trình ESP32.

Thực hiện theo các bước:

   Tools
     ↓
   Board
     ↓
Boards Manager

Nhập từ khóa ESP32, chọn esp32 by Espressif Systems, sau đó nhấn Install.

Cài đặt board esp32
Cài đặt thư viện board ESP32 vào Arduino IDE

5. Chọn loại Board

Vào:

  Tools
    ↓
  Board

Chọn ESP32 Dev Module hoặc DOIT ESP32 DEVKIT V1 để viết code và nạp chương trình.

CHỌN BOARD ESP32
Chọn board ESP32 để lập trình

6. Kết nối Board và chọn cổng COM

Kết nối ESP32 với máy tính bằng cáp Micro USB.

Sau đó nhấp chuột phải vào biểu tượng WINDOW ⊞ mở:

Device Manager
     ↓
Ports (COM & LPT)

Xác định cổng COM của ESP32.

DEVICE MANAGER
Cửa sổ Device Manager trên Window

Trong Arduino IDE, chọn:

Tools
  ↓
 Port
  ↓
 COMx
Chọn cổng COM port
Chọn cổng COMx để kết nối Board ESP32

Nếu máy tính không nhận ESP32, hãy:

  • Kiểm tra lại cáp USB (phải hỗ trợ truyền dữ liệu).
  • Thử đổi cổng USB.
  • Cài Driver CH340 hoặc CP2102.

7. Nạp chương trình đầu tiên

Trong Arduino IDE, bạn hãy tạo một file chương trình mới (File > New) và lưu với tên HELLO.ino bằng cách chọn menu File > Save As… (chọn thư mục để lưu). Sau đó, bạn copy source code bên dưới vào.


Nhấn Upload để biên dịch và nạp chương trình vào ESP32.

UPLOAD CODE
Nạp chương trình vào ESP32

Sau khi Upload thành công, mở Serial Monitor và chọn Baud Rate 115200. Lúc này chúng ta sẽ nhận được chữ “Hello world!” được ESP32 gửi lên máy tính sau mỗi giây.

Mở cổng serial monitor
Mở Serial Monitor trên Arduino IDE

💻 Source Code

void setup()
{
    // put your setup code here, to run once:
    Serial.begin(115200);
}

void loop()
{
    // put your main code here, to run repeatedly:
    Serial.println("Hello World!");
    delay(1000);
}
C++

🔍 Giải thích chương trình

Serial.begin(115200);

Khởi tạo giao tiếp Serial với tốc độ 115200 bps.

Serial.println("Hello World!");

Hiển thị dòng chữ Hello World! lên Serial Monitor.

delay(1000);

Tạm dừng chương trình trong 1000 ms (1 giây) trước khi lặp lại.


⚠ Lỗi thường gặp

LỗiNguyên nhânCách khắc phục
Không xuất hiện cổng COMCáp USB chỉ hỗ trợ sạc hoặc thiếu DriverĐổi cáp, cài Driver CH340/CP2102
Upload thất bạiChọn sai Board hoặc PortKiểm tra lại trong Arduino IDE
Máy tính không nhận ESP32Thiếu DriverCài Driver phù hợp
Upload bị treoMột số board yêu cầu nhấn nút BOOTGiữ nút BOOT khi bắt đầu Upload

📝 Bài tập

Thay đổi nội dung hiển thị từ:

Hello World!

thành:

Xin chao ESP32!

và quan sát kết quả trên Serial Monitor.


📥 Tài liệu tải về