เนื้อหาในบทความ
ทำไมต้อง Arduino Nano ESP32?
Arduino Nano ESP32 เป็นบอร์ดใหม่ล่าสุดจาก Arduino ที่นำเสนอประสบการณ์ที่ดีที่สุดของสองโลก: ความคุ้นเคยของ Arduino และพลังของ ESP32-S3 จาก Espressif
✅ ข้อดี
- • รูปแบบเดียวกับ Nano คุ้นเคย
- • ใช้งานง่ายด้วย Arduino IDE
- • WiFi + Bluetooth 5.0 ในตัว
- • ทันสมัยและอนาคต
⚠️ สิ่งที่ควรรู้
- • ราคาสูงกว่า Nano ดั้งเดิม
- • ใช้ไฟฟ้ามากกว่า 3.3V เท่านั้น
- • ต้องติดตั้ง USB Driver
- • ไม่รองรับ 5V GPIO
บอร์ดนี้เหมาะสำหรับผู้เริ่มต้นที่ต้องการเรียนรู้ IoT และผู้ที่มีประสบการณ์ Arduino ที่ต้องการอัปเกรดโปรเจกต์ให้มีความสามารถด้านการเชื่อมต่อไร้สาย
สเปคทางเทคนิค
| ส่วนประกอบ | รายละเอียด |
|---|---|
| Microcontroller | ESP32-S3 (dual-core Xtensa LX7) |
| ความเร็ว | 240 MHz |
| หน่วยความจำ | 512 KB SRAM, 384 KB ROM |
| Flash | 16 MB (on-board) |
| Wireless | WiFi (802.11 b/g/n), Bluetooth 5.0 |
| GPIO | 14 digital I/O, 8 analog inputs |
| แรงดันไฟ | 7-21V (DC), 3.3V logic |
| ขนาด | 45 x 18 mm (เหมือน Nano ดั้งเดิม) |
ข้อกำหนดเบื้องต้น
🛠️ Hardware
- ✓ Arduino Nano ESP32
- ✓ USB Cable (Micro-USB หรือ USB-C)
- ✓ คอมพิวเตอร์ (Windows, Mac หรือ Linux)
- ✓ Breadboard และ jumper wires (สำหรับโปรเจกต์)
💻 Software
- ✓ Arduino IDE 2.x (แนะนำ)
- ✓ USB Drivers (CH340 หรือ CP210x)
- ✓ บัญชี CynoIoT (ฟรี) - สำหรับ IoT
การติดตั้งและตั้งค่า
ขั้นตอนที่ 1: ติดตั้ง Arduino IDE
ดาวน์โหลดและติดตั้ง Arduino IDE เวอร์ชันล่าสุดจาก arduino.cc/en/software
ขั้นตอนที่ 2: ติดตั้ง USB Drivers
Arduino Nano ESP32 ใช้ USB-to-Serial chip สองแบบหลักๆ:
CH340 Driver (ถ้าใช้ CH340 chip)
- • Windows: ดาวน์โหลดจาก GitHub
- • macOS: ติดตั้งผ่าน Homebrew:
brew install --cask ch340 - • Linux: โดยทั่วไปมี driver ในตัว kernel แล้ว
CP210x Driver (ถ้าใช้ CP2102/CP2104 chip)
- • Windows/Mac/Linux: ดาวน์โหลดจาก Silicon Labs
ขั้นตอนที่ 3: เพิ่ม Board Support ใน Arduino IDE
- 1
เปิด Arduino IDE และไปที่ File → Preferences (Windows/Linux) หรือ Arduino → Preferences (Mac)
- 2
ในช่อง "Additional Boards Manager URLs" ใส่ URL นี้:
https://espressif.github.io/arduino-esp32/package_esp32_index.json - 3
คลิก OK เพื่อบันทึก
- 4
ไปที่ Tools → Board → Boards Manager
- 5
ค้นหา "esp32" และติดตั้ง "esp32 by Espressif Systems"
- 6
เลือกบอร์ด: Tools → Board → esp32 → Arduino Nano ESP32
ขั้นตอนที่ 4: เลือก Port และทดสอบ
เชื่อมต่อ Arduino Nano ESP32 เข้ากับคอมพิวเตอร์ด้วยสาย USB และ:
- 1
ไปที่ Tools → Port และเลือก port ที่บอร์ดเชื่อมต่ออยู่
ตัวอย่าง: COM3 (Windows), /dev/cu.usbserial-xxx (Mac), /dev/ttyUSB0 (Linux)
- 2
ตรวจสอบว่าบอร์ดถูกต้อง: Tools → Board → Arduino Nano ESP32
โปรเจกต์แรก: Blink LED
มาเริ่มต้นด้วยโปรเจกต์คลาสสิก: ทำให้ LED กระพริบ บน Arduino Nano ESP32 มี LED ในตัวที่ขา D2 (GPIO 2)
// Arduino Nano ESP32 - Blink LED Example
// ทำให้ LED ในตัว (GPIO 2) กระพริบ
// กำหนดขา LED
const int ledPin = 2; // LED ในตัวอยู่ที่ GPIO 2
// ฟังก์ชันตั้งค่าเริ่มต้น (รันครั้งเดียวเมื่อเปิดเครื่อง)
void setup() {
// ตั้งค่าขา LED เป็น Output
pinMode(ledPin, OUTPUT);
// เปิด Serial Monitor สำหรับการ Debug
Serial.begin(115200);
Serial.println("Arduino Nano ESP32 - Blink LED Started!");
}
// ฟังก์ชันหลัก (รันวนรอบไม่สิ้นสุด)
void loop() {
digitalWrite(ledPin, HIGH); // เปิด LED (HIGH = 3.3V)
Serial.println("LED ON");
delay(1000); // รอ 1000 มิลลิวินาที (1 วินาที)
digitalWrite(ledPin, LOW); // ปิด LED (LOW = 0V)
Serial.println("LED OFF");
delay(1000); // รอ 1 วินาที
}📝 คำอธิบายโค้ด:
- •
pinMode(ledPin, OUTPUT)- ตั้งค่าขาให้เป็น Output (ส่งสัญญาณออก) - •
digitalWrite(HIGH)- ส่ง 3.3V ออกที่ขา (เปิด LED) - •
digitalWrite(LOW)- ส่ง 0V ออกที่ขา (ปิด LED) - •
delay(1000)- หยุดโปรแกรม 1000 มิลลิวินาที - •
Serial.println()- แสดงข้อความใน Serial Monitor (กด Ctrl+Shift+M)
วิธีอัปโหลดโค้ด:
- 1
คัดลอกโค้ดด้านบนไปวางใน Arduino IDE
- 2
กดปุ่ม Upload (ไอคอนลูกศร →) หรือกด Ctrl+U
- 3
รอสักครู่... จะเห็นข้อความ "Done uploading" เมื่อสำเร็จ
- 4
ดู LED บนบอร์ดกระพริบทุกๆ 1 วินาที!
⚠️ เคล็ดลับ: การ Debug ด้วย Serial Monitor
หากต้องการดูข้อความจาก Serial.println():
- 1. เปิด Serial Monitor: Tools → Serial Monitor หรือกด Ctrl+Shift+M
- 2. ตั้งค่า baud rate เป็น 115200 baud (มุมขวาล่าง)
- 3. ดูข้อความ "LED ON" และ "LED OFF" ปรากฏทุกๆ 1 วินาที
การเชื่อมต่อ WiFi
หนึ่งในคุณสมบัติที่ทรงพลังที่สุดของ Arduino Nano ESP32 คือ WiFi ในตัว มาเรียนรู้วิธีเชื่อมต่อกับเครือข่าย WiFi กัน
// Arduino Nano ESP32 - WiFi Connection Example
// ทดสอบการเชื่อมต่อ WiFi
#include <WiFi.h> // นำเข้าไลบรารี WiFi
// ตั้งค่า WiFi (แก้ไขให้ตรงกับเครือข่ายของคุณ)
const char* ssid = "YOUR_WIFI_SSID"; // ชื่อ WiFi
const char* password = "YOUR_WIFI_PASSWORD"; // รหัสผ่าน WiFi
// ฟังก์ชันตั้งค่าเริ่มต้น
void setup() {
Serial.begin(115200);
delay(1000);
Serial.println();
Serial.print("กำลังเชื่อมต่อกับ: ");
Serial.println(ssid);
// เริ่มการเชื่อมต่อ WiFi
WiFi.begin(ssid, password);
// รอจนกว่าจะเชื่อมต่อสำเร็จ
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print("."); // แสดงจุดเพื่อบอกสถานะ
}
// เชื่อมต่อสำเร็จ!
Serial.println();
Serial.println("✅ WiFi เชื่อมต่อสำเร็จ!");
Serial.print("📡 IP Address: ");
Serial.println(WiFi.localIP()); // แสดง IP ที่ได้รับ
Serial.print("📶 Signal Strength: ");
Serial.print(WiFi.RSSI());
Serial.println(" dBm");
}
void loop() {
// ไม่ต้องทำอะไรใน loop
delay(1000);
}📋 คำอธิบาย:
- •
#include <WiFi.h>- นำเข้าไลบรารี WiFi (มีในตัวแล้ว) - •
WiFi.begin(ssid, password)- เริ่มเชื่อมต่อ WiFi - •
WiFi.status()- ตรวจสอบสถานะการเชื่อมต่อ - •
WiFi.localIP()- แสดง IP Address ที่ได้รับ - •
WiFi.RSSI()- แสดงความแรงสัญญาณ WiFi
วิธีใช้งาน:
- 1
แก้ไข
ssidและpasswordให้ตรงกับเครือข่าย WiFi ของคุณ - 2
อัปโหลดโค้ดไปยังบอร์ด
- 3
เปิด Serial Monitor (115200 baud) และดูผลลัพธ์
🌐 ต่อไปนี้คืออะไร?
เมื่อเชื่อมต่อ WiFi สำเร็จแล้ว คุณสามารถ:
- • สร้าง Web Server เพื่อควบคุมอุปกรณ์ผ่านเบราว์เซอร์
- • ส่งข้อมูลเซ็นเซอร์ไปยัง CynoIoT Platform
- • รับคำสั่งผ่าน MQTT, HTTP หรือ WebSocket
- • ทำโปรเจกต์ IoT อัจฉริยะต่างๆ
ปัญหาที่พบบ่อยและวิธีแก้ไข
ปัญหา 1: ไม่พบ Port (Port not found)
อาการ: ใน Tools → Port ไม่มี port ให้เลือก
สาเหตุ: ยังไม่ได้ติดตั้ง USB Driver หรือสาย USB เสีย
วิธีแก้ไข:
- • ติดตั้ง USB Driver (CH340 หรือ CP210x)
- • ลองเปลี่ยนสาย USB
- • ลองเปลี่ยน USB port ในคอมพิวเตอร์
- • รีสตาร์ท Arduino IDE
ปัญหา 2: Failed to connect
อาการ: ขึ้น error "Failed to connect" ตอนอัปโหลด
สาเหตุ: บอร์ดอยู่ในโหมดอื่น หรือ port ผิด
วิธีแก้ไข:
- • กดปุ่ม BOOT หรือ RESET บนบอร์ดก่อนอัปโหลด
- • ตรวจสอบว่าเลือก port ถูกต้อง
- • ถอดและเสียบสาย USB ใหม่
ปัญหา 3: WiFi เชื่อมต่อไม่ได้
อาการ: โปรแกรมค้างที่ while loop หรือไม่ได้ IP
สาเหตุ: ชื่อ/รหัสผ่านผิด, ระยะห่างไกลเกินไป
วิธีแก้ไข:
- • ตรวจสอบชื่อและรหัสผ่าน WiFi (ตัวพิมพ์ใหญ่-เล็กสำคัญ)
- • ใกล้ Router หรือใช้ WiFi hotspot จากมือถือ
- • ลองเปลี่ยนเป็น WiFi 2.4GHz (ESP32 รองรับ 2.4GHz เท่านั้น)
ปัญหา 4: Board เสียหลังจากต่อ 5V
อาการ: บอร์ดร้อน, ไม่ทำงาน
สาเหตุ: ESP32 ใช้ 3.3V logic ไม่ใช่ 5V
วิธีแก้ไข:
- • ใช้แหล่งจ่าย 7-21V เข้า VIN pin (มี regulator ในตัว)
- • อย่าต่อ 5V เข้า GPIO โดยตรง
- • ใช้ voltage divider หรือ level shifter ถ้าต่อกับ 5V sensor
🎉 สรุป
ยินดีด้วย! คุณได้เรียนรู้พื้นฐานการใช้งาน Arduino Nano ESP32 แล้ว:
- ✅ รู้จักสเปคและความสามารถของบอร์ด
- ✅ ติดตั้งและตั้งค่า Arduino IDE ได้
- ✅ อัปโหลดโค้ดแรกและทำให้ LED กระพริบ
- ✅ เชื่อมต่อ WiFi และแสดง IP Address
- ✅ รู้จักปัญหาที่พบบ่อยและวิธีแก้ไข
📚 บทความที่เกี่ยวข้อง:
ESP32-S3 พื้นฐานเบื้องต้น
เรียนรู้ ESP32-S3 ที่ใช้ใน Nano ESP32
โปรเจกต์ IoT น่าสนใจ
ดูไอเดียโปรเจกต์ที่ทำได้จริง
🚀 ถัดไป:
คุณพร้อมที่จะสร้างโปรเจกต์ IoT แรกของคุณแล้ว! ลองทำตามบทความเหล่านี้: