TechPartner

← Quay lại Blog
Khóa lập trình Arduino ESP32 cơ bản — IoT từ Blink đến SmartNode · Phần 1 / 8

Lập trình ESP32 (1/8): Giới thiệu board, cài Arduino IDE & Blink LED

Khóa Arduino ESP32 miễn phí — phần 1: chọn board ESP32-WROOM, cài core esp32 trên Arduino IDE 2.x, nạp Blink, hiểu Serial Monitor. Lộ trình: /blog/hoc-lap-trinh-arduino-esp32-tu-dau

· 3 min read

Khóa lập trình Arduino ESP32 cơ bản — IoT từ Blink đến SmartNode · Phần 1/8▼
  1. 1Cài đặt & Blink
  2. 2GPIO digital
  3. 3PWM & servo
  4. 4ADC & cảm biến
  5. 5WiFi Station
  6. 6HTTP client
  7. 7Web server
  8. 8Capstone SmartNode
Mục lục▼
  1. Mục lục
  2. ESP32 là gì?
  3. Linh kiện tối thiểu
  4. Cài Arduino IDE 2.x + core esp32
  5. Blink LED — code đầu tiên
  6. Serial Monitor
  7. Bài tập

Khóa lập trình Arduino ESP32 cơ bản — Phần 1/8 (~25 phút)
Case study xuyên suốt: SmartNode — node IoT điều khiển đèn/cảm biến qua WiFi.
Bản đồ: Học Arduino ESP32 từ đâu · Hub: Khóa 8 phần
Tiếp theo: Phần 2 — GPIO & nút bấm

Bạn không cần biết lập trình nhúng. Biết copy-paste và kiên nhẫn nối dây breadboard là đủ để bắt đầu.


Mục lục

  1. ESP32 là gì?
  2. Linh kiện tối thiểu
  3. Cài Arduino IDE 2.x + core esp32
  4. Blink LED — code đầu tiên
  5. Serial Monitor
  6. Bài tập

ESP32 là gì?

ESP32 là vi điều khiển của Espressif: CPU dual-core, WiFi 802.11 b/g/n, Bluetooth, nhiều GPIO, ADC 12-bit, PWM, I2C/SPI/UART. Framework Arduino cho ESP32 giúp bạn dùng digitalWrite, WiFi.begin, WebServer quen thuộc như Arduino Uno — nhưng mạnh hơn nhiều cho IoT.

Board Ưu điểm Ghi chú
ESP32-WROOM DevKit Rẻ, ổn định, nhiều tutorial Khóa dùng board này
ESP32-S3 USB native, AI accel Hơi khác pinout — học sau
ESP8266 Rẻ hơn, ít GPIO Không Bluetooth, yếu hơn

SmartNode trong khóa sẽ: đọc cảm biến → gửi HTTP → phục vụ trang web điều khiển relay.


Linh kiện tối thiểu

  • Board ESP32 DevKit + cáp USB
  • LED + điện trở 220Ω–330Ω
  • Breadboard + dây jumper
  • (Từ phần 2) Nút bấm 6×6 mm

Cài Arduino IDE 2.x + core esp32

  1. Tải Arduino IDE 2 (Windows/macOS/Linux).
  2. File → Preferences → Additional boards manager URLs — thêm:
https://espressif.github.io/arduino-esp32/package_esp32_index.json
  1. Tools → Board → Boards Manager → tìm esp32 by Espressif → Install (bản 3.x ổn định).
  2. Tools → Board → esp32 → ESP32 Dev Module (hoặc DevKit tương ứng).
  3. Tools → Port → chọn COM/tty của board.

PlatformIO cũng được nếu bạn quen VS Code — chọn board esp32dev, framework arduino.


Nối cathode LED (chân ngắn) → GND qua điện trở; anode → GPIO 2 (nhiều DevKit gắn LED onboard ở GPIO2).

#define LED_PIN 2

void setup() {
  pinMode(LED_PIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_PIN, HIGH);
  delay(500);
  digitalWrite(LED_PIN, LOW);
  delay(500);
}

Upload (mũi tên →). LED nhấp nháy 1 Hz = môi trường OK.


Serial Monitor

void setup() {
  Serial.begin(115200);
  pinMode(2, OUTPUT);
  Serial.println("SmartNode boot");
}

void loop() {
  Serial.println("tick");
  digitalWrite(2, !digitalRead(2));
  delay(1000);
}

Tools → Serial Monitor, baud 115200. Dùng Serial để debug suốt khóa — đừng Serial.print trong vòng lặp quá dày khi đã bật WiFi (sẽ học ở phần 5).


Bài tập

  1. Đổi chu kỳ Blink thành 200 ms ON / 800 ms OFF.
  2. In ra Serial số lần nhấp nháy (biến unsigned long).
  3. Thử LED nối GPIO 4 thay vì 2 — sửa LED_PIN và kiểm tra sơ đồ board (tránh strapping pins: 0, 2, 12, 15 tùy board).

Điều hướng seri: Phần 2 →

Câu hỏi thường gặp

Board ESP32 nào nên mua cho người mới?

ESP32 DevKit V1 (30 chân) hoặc DevKitC với chip ESP32-WROOM-32 — giá rẻ, tài liệu nhiều. Tránh board quá nhỏ (S2/S3 mini) cho đến khi bạn quen GPIO.

Lỗi 'Failed to connect' khi nạp code?

Giữ nút BOOT (hoặc IO0) khi bắt đầu upload, chọn đúng COM port, cài driver CP210x/CH340, thử cáp USB data (không phải cáp sạc-only).

Startup của bạn cần tech partner?

Trao đổi miễn phí về MVP, timeline và mô hình chia lợi nhuận phù hợp.