ESP32 และ Arduino เบื้องต้น สำหรับงาน CNC หุ่นยนต์ และ IoT

ไมโครคอนโทรลเลอร์ (Microcontroller) คือสมองขนาดจิ๋วที่ใช้ควบคุมอุปกรณ์อิเล็กทรอนิกส์ เป็นหัวใจของงาน CNC หุ่นยนต์ และระบบ IoT ในบทความนี้จะปูพื้นฐาน ESP32 และ Arduino ซึ่งเป็นสองแพลตฟอร์มยอดนิยมสำหรับผู้เริ่มต้นจนถึงมืออาชีพ

Arduino กับ ESP32 ต่างกันอย่างไร?

คุณสมบัติArduino (Uno/Mega)ESP32
ซีพียูATmega328 (8-bit, 16MHz)Tensilica Xtensa LX6 (32-bit, dual-core 240MHz)
WiFi / Bluetoothไม่มี (ต้องเพิ่มโมดูล)มีในตัวทั้ง WiFi + BT
ราคาถูกมาก ตลาดเก่าแก่ถูกมาก คุ้มค่ามาก
การเขียนโปรแกรมArduino IDE (ง่ายสุดสำหรับมือใหม่)Arduino IDE, MicroPython, ESP-IDF
เหมาะกับงานควบคุมง่าย เรียนพื้นฐานงานเชื่อมต่อ IoT งาน CNC ควบคุมผ่าน WiFi

ทำไม ESP32 จึงเป็นตัวเลือกยอดนิยมสำหรับ Mini CNC?

เพราะ ESP32 มีกำลังประมวลผลสูง รองรับ WiFi ในตัว ทำให้สามารถ:

  • รันเฟิร์มแวร์ ESP32-GRBL / FluidNC เพื่อควบคุมเครื่อง CNC ผ่านเว็บเบราว์เซอร์หรือมือถือได้ทันที ไม่ต้องต่อสาย USB
  • ส่งงาน G-Code ผ่านเครือข่าย (WiFi) จากคอมพิวเตอร์หรือมือถือ
  • ติดตามสถานะเครื่อง (อุณหภูมิ, ตำแหน่งหัวกัด) แบบเรียลไทม์ผ่าน IoT
  • ทำงานร่วมกับ MQTT เพื่อเชื่อมต่อเข้าระบบอัตโนมัติของโรงงาน

เริ่มต้นเขียนโปรแกรม Microcontroller

1. ภาษา Arduino (C/C++ สไตล์ง่าย)

ตัวอย่างโปรแกรมกระพริบ LED — "Hello World" ของทุกงาน MCU:

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);   // ตั้ง GPIO เป็นขา output
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH); // เปิดไฟ
  delay(1000);                     // รอ 1 วินาที
  digitalWrite(LED_BUILTIN, LOW);  // ปิดไฟ
  delay(1000);                     // รอ 1 วินาที
}

2. MicroPython (เขียนง่าย อ่านง่าย)

ESP32 รองรับ MicroPython ทำให้เขียนโค้ดควบคุมฮาร์ดแวร์ได้กระชับ เหมาะกับผู้เริ่มต้น:

from machine import Pin
import time

led = Pin(2, Pin.OUT)      # GPIO2 บน ESP32

while True:
    led.on()
    time.sleep(1)
    led.off()
    time.sleep(1)

การใช้งาน ESP32 ควบคุม Stepper Motor สำหรับ CNC

การขับสเต็ปเปอร์มอเตอร์ในงาน CNC มี 2 วิธีหลัก:

  • แบบ Step/Direction (ผ่าน Driver เช่น A4988, DRV8825) — ESP32 ส่งสัญญาณพัลส์ควบคุมทิศทางและจำนวนก้าว
  • แบบใช้เฟิร์มแวร์ GRBL สำเร็จรูป — ติดตั้ง ESP32-GRBL แล้วต่อ Driver กับมอเตอร์ได้เลย ไม่ต้องเขียนโค้ดเอง

การเชื่อมต่อเซนเซอร์และอุปกรณ์ IoT

ESP32 รองรับการสื่อสารหลายรูปแบบสำหรับงาน IoT:

  • GPIO — อ่านสวิตช์ เซนเซอร์ดิจิทัล ควบคุมรีเลย์ มอเตอร์
  • ADC (Analog) — อ่านค่าเซนเซอร์แบบอนาล็อก เช่น อุณหภูมิ แรงดัน
  • I2C / SPI — เชื่อมจอแสดงผล เซนเซอร์ความเร่ง เซนเซอร์อุณหภูมิ
  • UART — สื่อสารกับ GPS, โมดูลอื่น ๆ
  • WiFi / MQTT — ส่งข้อมูลขึ้นคลาวด์ ควบคุมระยะไกล

สรุป

ESP32 และ Arduino คือพื้นฐานสำคัญของงาน CNC หุ่นยนต์ และ IoT สมัยใหม่ ESP32 โดดเด่นเรื่องกำลัง + WiFi ในตัว เหมาะกับงาน CNC ควบคุมผ่านเครือข่ายและงาน IoT ส่วน Arduino เหมาะสำหรับเรียนรู้พื้นฐาน หากต้องการเริ่มต้นกับ ESP32 หรืออยากได้บอร์ดพร้อมใช้สำหรับงาน CNC PanmaneeCNC มีอุปกรณ์และคำแนะนำพร้อมให้คำปรึกษาครับ