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ở; anodeGPIO 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.