Arduino เป็นบอร์ดไมโครคอนโทรลเลอร์แบบ open-source ที่ออกแบบมาให้เริ่มต้นง่าย แม้จะไม่เคยเขียนโค้ดหรือต่อวงจรมาก่อนก็เรียนรู้ได้เร็ว เพราะภาษาที่ใช้คล้าย C/C++ ที่ถูกทำให้ง่ายขึ้น และมี community ขนาดใหญ่คอยช่วยเหลือ
บทความนี้จะพาเริ่มจากศูนย์จริง ๆ ตั้งแต่ทำความรู้จักบอร์ด ติดตั้ง IDE แล้วก็เขียนโปรแกรมกระพริบ LED ตัวแรก ซึ่งเป็น "Hello World" ของโลก Embedded ถ้าทำตรงนี้ได้แล้ว จะต่อยอดไปเซ็นเซอร์ มอเตอร์ หรือ IoT ก็ไม่ยากเลย
1. เตรียมอุปกรณ์ก่อนเริ่ม
ก่อนลงมือทำ เช็คก่อนว่ามีอุปกรณ์พร้อมหรือยัง ถ้าซื้อเป็น starter kit มักจะมีครบอยู่แล้ว แต่ถ้าซื้อแยก ให้เตรียมตามรายการด้านล่าง
| อุปกรณ์ | ราคาโดยประมาณ | หมายเหตุ |
|---|---|---|
| Arduino Uno R3 (แท้/Clone) | 150–650 บาท | Clone ใช้ได้เหมือนกัน แค่ต้องลง driver CH340 |
| สาย USB-B | 30–80 บาท | สำหรับต่อ Uno กับคอมพิวเตอร์ |
| Breadboard | 35–80 บาท | ขนาด 830 จุด (full-size) แนะนำสำหรับมือใหม่ |
| LED + ตัวต้านทาน 220Ω | 5–15 บาท | ตัวต้านทานป้องกัน LED ไหม้ |
| สายจัมเปอร์ M-M | 20–60 บาท | ใช้เชื่อมต่อบน breadboard |
2. ติดตั้ง Arduino IDE
ดาวน์โหลด Arduino IDE จากเว็บ arduino.cc เลือก version ที่ตรงกับ OS ของเรา (Windows / macOS / Linux) แล้วติดตั้งตามขั้นตอนปกติ
ดาวน์โหลด Arduino IDE 2.x จากเว็บทางการ
ติดตั้งและเปิดโปรแกรม → เลือก Board: Arduino Uno
เสียบสาย USB เข้าบอร์ด → เลือก Port ที่ตรง (เช่น COM3 หรือ /dev/ttyACM0)
ถ้าใช้บอร์ด Clone ที่มีชิป CH340 ต้องลง driver เพิ่ม (ดาวน์โหลดจาก wch-ic.com)
ลองเปลี่ยนสาย USB (สายบางเส้นเป็นสาย charge-only ไม่มี data) หรือลองเสียบ port USB อื่น ถ้าใช้ Windows ให้เช็ค Device Manager ว่ามี driver ครบหรือไม่
3. โปรเจกต์แรก: Blink (LED บนบอร์ด)
เปิด Arduino IDE แล้วเข้าเมนู File → Examples → 01.Basics → Blink จะได้โค้ดสำเร็จรูปที่กระพริบ LED ที่อยู่บนบอร์ด (ขา 13) เป็นจังหวะ โค้ดนี้เป็นพื้นฐานที่จะทำให้เข้าใจโครงสร้างโปรแกรม Arduino ทั้งหมด
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // เปิด LED
delay(1000); // รอ 1 วินาที
digitalWrite(LED_BUILTIN, LOW); // ปิด LED
delay(1000); // รอ 1 วินาที
} กดปุ่ม Upload (ลูกศรไปทางขวา) แล้วรอจน IDE แสดง "Done uploading" เท่านี้ LED สีส้มบนบอร์ดจะกระพริบเป็นจังหวะ 1 วินาทีติด 1 วินาทีดับ
ทำความเข้าใจโครงสร้าง
| ฟังก์ชัน | หน้าที่ | ทำงานกี่ครั้ง |
|---|---|---|
setup() | ตั้งค่าเริ่มต้น เช่น กำหนดขาเป็น input / output | 1 ครั้ง (ตอนเปิดเครื่อง) |
loop() | โค้ดที่ทำงานวนซ้ำตลอดเวลา | วนไม่รู้จบ |
pinMode() | กำหนดว่าขานั้นเป็น INPUT หรือ OUTPUT | เรียกใน setup() |
digitalWrite() | สั่ง HIGH (5V) หรือ LOW (0V) ไปที่ขา digital | เรียกได้เรื่อย ๆ |
4. ต่อ LED ภายนอกบน Breadboard
หลังจากกระพริบ LED บนบอร์ดได้แล้ว มาลองต่อ LED ภายนอกบน breadboard เพื่อฝึกต่อวงจรจริง สิ่งที่ต้องทำคือต่อ LED ผ่านตัวต้านทาน 220Ω จากขา digital ไปยัง GND ของบอร์ด
เสียบ LED ลง breadboard — ขายาว (anode/+) อยู่ฝั่งที่จะต่อกับ Arduino
ต่อตัวต้านทาน 220Ω จากขายาวของ LED ไปยังขา D8 ของ Arduino
ต่อขาสั้นของ LED (cathode/−) ไปยังราง GND ของ breadboard
ต่อสายจัมเปอร์จาก GND ของ Arduino ไปยังราง GND ของ breadboard
const int ledPin = 8; // ใช้ขา D8
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
digitalWrite(ledPin, HIGH);
delay(500); // กระพริบเร็วขึ้น 0.5 วินาที
digitalWrite(ledPin, LOW);
delay(500);
} LED ทนกระแสได้ประมาณ 20mA แต่ขา Arduino จ่ายกระแสสูงสุดถึง 40mA ถ้าไม่มีตัวต้านทาน กระแสจะไหลเกินจน LED ไหม้ ใช้สูตร R = (5V − 2V) / 20mA = 150Ω แต่เราใช้ 220Ω เพื่อความปลอดภัย
5. ก้าวต่อไปหลังจาก Blink
เมื่อกระพริบ LED ได้แล้ว แสดงว่าเราเข้าใจพื้นฐานของ Arduino ทั้ง IDE, การต่อวงจร และการเขียนโค้ดแล้ว ขั้นตอนต่อไปที่แนะนำคือ
อ่าน Analog Input — ใช้ analogRead() กับ Potentiometer (ตัวต้านทานปรับค่าได้) เพื่อควบคุมความสว่าง LED
ใช้เซ็นเซอร์ — ต่อเซ็นเซอร์อุณหภูมิ (DHT11) หรือ ultrasonic (HC-SR04) แล้วส่งค่าผ่าน Serial Monitor
ควบคุมมอเตอร์ — ใช้ Servo หรือ DC Motor ผ่าน Motor Driver (L298N) เพื่อสร้างหุ่นยนต์ตัวแรก
เชื่อมต่อ IoT — ย้ายไปใช้ ESP32 แล้วส่งข้อมูลเซ็นเซอร์ขึ้น Internet ผ่าน WiFi / MQTT
แหล่งอ้างอิงหลัก
บทความนี้อิงจากเอกสารทางการของ Arduino และ Arduino IDE 2.x documentation รวมถึง Getting Started Guide จาก Arduino Foundation