ปรึกษา IoT
Internet of Things 4123412 • Chapter 02

บทที่ 2 แนะนำอุปกรณ์ IoT

เรียนรู้อุปกรณ์พื้นฐานสำหรับสร้างระบบ IoT และการใช้งานโปรแกรม Arduino IDE ตั้งแต่ Arduino, Shield, Breadboard, Jumper Wire, LED, Resistor ไปจนถึงการเลือก Board/Port, Verify, Upload และโครงสร้างโปรแกรม Arduino

Arduino Arduino IDE Breadboard LED Shield if / loop

สาระสำคัญจากสไลด์

  • แนะนำอุปกรณ์พื้นฐานเกี่ยวกับ IoT
  • การเขียนโปรแกรมภาษา C ของ Arduino
  • การใช้งาน Arduino IDE และการเชื่อมต่อ Board/Port
  • คำสั่ง if else, loop และตัวอย่างโปรแกรม
อ้างอิงสไลด์บทที่ 2
เน้น Arduino UNO R3
มีตัวอย่างโค้ด
สอน Verify / Upload

ภาพรวมบทเรียน

บทที่ 2 แนะนำอุปกรณ์ IoT เป็นบทเรียนต่อจากพื้นฐาน IoT โดยเน้นการรู้จักอุปกรณ์จริงที่ใช้ในการทดลองและพัฒนาระบบ IoT โดยเฉพาะบอร์ด Arduino และการใช้งานโปรแกรม Arduino IDE สำหรับเขียน ตรวจสอบ และอัปโหลดโปรแกรมเข้าสู่บอร์ด

สไลด์บทนี้วางหัวข้อหลักไว้ 5 ส่วน ได้แก่ การแนะนำอุปกรณ์พื้นฐาน IoT, การเขียนโปรแกรมภาษา C ของ Arduino, การใช้คำสั่ง if else, การใช้คำสั่งทำซ้ำ และตัวอย่างโปรแกรม

Learning Objectives

หลังเรียนบทนี้ ผู้เรียนควรรู้จักอุปกรณ์พื้นฐาน IoT และสามารถเริ่มต้นเขียนโปรแกรม Arduino อย่างง่ายได้

ระบุอุปกรณ์พื้นฐาน เช่น Arduino, Shield, Breadboard, Jumper Wire, LED และ Resistor ได้
อธิบายบทบาทของ Arduino IDE, Board และ COM Port ได้
เข้าใจขั้นตอน Verify และ Upload โปรแกรมเข้าสู่บอร์ด Arduino
เขียนโปรแกรมพื้นฐานด้วย setup(), loop(), if else และคำสั่งทำซ้ำได้

ภาพรวมการเรียนรู้บทที่ 2

DevicesArduino / Sensor Arduino IDEWrite Code VerifyCompile UploadRun on Board เตรียมอุปกรณ์ → เขียนโปรแกรม → ตรวจสอบโค้ด → อัปโหลดเข้าสู่ Arduino

2.1 อุปกรณ์พื้นฐานเกี่ยวกับ Internet of Things

การเริ่มต้นทำ IoT ควรรู้จักอุปกรณ์พื้นฐานที่ใช้ต่อวงจร อ่านค่า ควบคุมอุปกรณ์ และทดลองโปรแกรม อุปกรณ์ที่สไลด์แนะนำประกอบด้วยบอร์ด Arduino, Shield, Breadboard, Jumper Wire, หัวแร้ง, Resistor และ LED

Arduino Board

บอร์ดไมโครคอนโทรลเลอร์สำหรับอ่านค่า Sensor และควบคุมอุปกรณ์ เช่น LED, Relay, Motor หรือ Buzzer

Shield

บอร์ดเสริมที่ติดตั้งบน Arduino เพื่อเพิ่มความสามารถ เช่น Ethernet, Motor, Relay, GPS หรือ XBee

Breadboard

แผงทดลองวงจรแบบไม่ต้องบัดกรี เหมาะกับผู้เริ่มต้นและการสร้างต้นแบบ

Jumper Wire

สายไฟสำหรับเชื่อมต่ออุปกรณ์ระหว่าง Arduino, Breadboard และ Sensor

LED

อุปกรณ์แสดงผลพื้นฐาน ใช้ทดลองเปิด-ปิดไฟหรือแสดงสถานะของระบบ

Resistor

ตัวต้านทาน ใช้จำกัดกระแสไฟ ป้องกัน LED หรืออุปกรณ์เสียหาย

2.2 Arduino คืออะไร?

Arduino อ่านว่า “อาดุ-อี-โน่” หรือ “อาดุยโน่” เป็นบอร์ดไมโครคอนโทรลเลอร์ตระกูล AVR ที่พัฒนาแบบ Open Source ทั้งด้าน Hardware และ Software จุดเด่นคือใช้งานง่าย เหมาะสำหรับผู้เริ่มต้นและผู้ที่ต้องการสร้างต้นแบบระบบ IoT

บอร์ด Arduino สามารถเชื่อมต่อกับอุปกรณ์ภายนอกผ่าน I/O Port และขยายความสามารถด้วย Arduino Shield หลายประเภท เช่น XBee Shield, Music Shield, Relay Shield และ GPRS Shield

2.3 จุดเด่นของ Arduino

  • ง่ายต่อการพัฒนา มีรูปแบบคำสั่งพื้นฐาน ไม่ซับซ้อน เหมาะสำหรับผู้เริ่มต้น
  • มี Arduino Community ขนาดใหญ่ และมีตัวอย่างให้ศึกษาเป็นจำนวนมาก
  • เป็น Open Hardware ทำให้ผู้ใช้สามารถนำบอร์ดไปต่อยอดได้หลายด้าน
  • ราคาไม่แพง เหมาะกับการเรียนการสอนและงานต้นแบบ
  • รองรับหลายระบบปฏิบัติการ สามารถพัฒนาโปรแกรมได้บนหลาย OS

2.4 รูปแบบการเขียนโปรแกรมบน Arduino IDE

Arduino IDE เป็นโปรแกรมสำหรับเขียนโค้ด ตรวจสอบโค้ด และอัปโหลดโค้ดเข้าสู่บอร์ด Arduino โดยเชื่อมต่อบอร์ดกับคอมพิวเตอร์ผ่านสาย USB

ติดตั้ง Arduino IDE

ดาวน์โหลดและติดตั้งโปรแกรม Arduino IDE จากเว็บไซต์ Arduino แล้วเปิดโปรแกรมเพื่อเริ่มเขียนโค้ด

เชื่อมต่อบอร์ดกับคอมพิวเตอร์

ใช้สาย USB เชื่อมต่อ Arduino กับคอมพิวเตอร์ โปรแกรมจะเห็นบอร์ดผ่าน COM Port

เลือก Board และ Port

เลือกชนิดบอร์ด เช่น Arduino UNO และเลือก Serial Port ให้ตรงกับบอร์ดที่เชื่อมต่อ

Verify และ Upload

กด Verify เพื่อตรวจสอบและ Compile จากนั้นกด Upload เพื่อโหลดโปรแกรมเข้าสู่บอร์ด

2.5 การเลือก Board และ Port

ก่อนอัปโหลดโปรแกรม ต้องเลือกบอร์ดและพอร์ตให้ถูกต้องใน Arduino IDE โดยไปที่เมนู Tools → Board เพื่อเลือกชนิดบอร์ด และ Tools → Port เพื่อเลือก COM Port ที่บอร์ดเชื่อมต่ออยู่ เช่น COM3 หรือ COM อื่น ๆ

ข้อควรระวัง: หากเลือก Board หรือ Port ผิด โปรแกรมอาจ Upload ไม่สำเร็จ หรือแสดง Error เช่น ไม่พบพอร์ต ไม่สามารถเชื่อมต่อบอร์ด หรือบอร์ดไม่ตอบสนอง

2.6 การ Verify และ Upload โปรแกรม

ขั้นตอนสำคัญในการใช้งาน Arduino IDE คือการกด Verify เพื่อตรวจสอบความถูกต้องและ Compile โค้ด จากนั้นกด Upload เพื่อส่งโปรแกรมผ่านสาย USB ไปยังบอร์ด Arduino เมื่ออัปโหลดสำเร็จ มักแสดงข้อความว่า “Done uploading”

2.7 Layout & Pinout Arduino UNO R3

สไลด์อธิบายส่วนประกอบของ Arduino UNO R3 ซึ่งเป็นบอร์ดที่นิยมใช้มากที่สุดสำหรับการเรียนรู้เบื้องต้น เพราะ Library และ Shield ส่วนใหญ่รองรับรุ่นนี้

ส่วนประกอบหน้าที่
USB Portเชื่อมต่อคอมพิวเตอร์เพื่ออัปโหลดโปรแกรมเข้า MCU และจ่ายไฟให้บอร์ด
Reset Buttonปุ่มรีเซ็ต ใช้เมื่อต้องการให้ MCU เริ่มทำงานใหม่
Digital I/O D0–D13ขาดิจิทัลสำหรับรับส่งสัญญาณ โดยบางขารองรับ Serial หรือ PWM
Analog Input A0–A5รับสัญญาณอนาล็อกจาก Sensor เช่น แสง ความชื้น หรือแรงดันไฟฟ้า
Power Portขาไฟเลี้ยง +3.3V, +5V, GND และ Vin สำหรับวงจรภายนอก
Power Jackรับไฟจาก Adapter โดยแรงดันที่เหมาะสมมักอยู่ช่วง 7–12V
MCU ATmega328หน่วยประมวลผลหลักของบอร์ด Arduino UNO R3

2.8 รุ่นต่าง ๆ ของ Arduino

สไลด์แนะนำ Arduino หลายรุ่น โดยแต่ละรุ่นเหมาะกับงานต่างกัน เช่น งานเริ่มต้น งานที่ต้องใช้ I/O จำนวนมาก งานขนาดเล็ก หรืองานที่ต้องเชื่อมต่อ Network

Arduino UNO R3

รุ่นยอดนิยม เหมาะกับผู้เริ่มต้น มี Library และ Shield รองรับจำนวนมาก

Arduino UNO SMD

ทำงานคล้าย UNO R3 แต่ใช้ MCU แบบ SMD Package แทนแบบ DIP

Arduino Mega 2560 R3

มีจำนวน I/O มากกว่า UNO เหมาะกับงานที่ต่อ Sensor หรือ Servo หลายตัว

Arduino Ethernet / Network

เหมาะกับงานควบคุมผ่านเครือข่ายหรือระบบ IoT ที่ต้องเชื่อมต่อ TCP/IP

ต้องการทำชุดทดลอง IoT สำหรับการเรียนการสอน?

Siam2Dev ช่วยออกแบบชุดอุปกรณ์ Arduino/ESP32, Sensor, Data Logger, Dashboard และคู่มือปฏิบัติการสำหรับรายวิชา IoT หรือ Workshop

2.9 โครงสร้างโปรแกรม Arduino

โปรแกรม Arduino มีโครงสร้างหลัก 2 ฟังก์ชัน คือ setup() และ loop() โดย setup() ทำงานหนึ่งครั้งเมื่อบอร์ดเริ่มทำงาน ส่วน loop() ทำงานซ้ำไปเรื่อย ๆ

void setup() {
  // ทำงานครั้งเดียว เช่น กำหนดโหมดขา
}

void loop() {
  // ทำงานซ้ำ เช่น อ่านค่า Sensor หรือเปิดปิด LED
}

2.10 การใช้งาน Arduino คำสั่ง if else

คำสั่ง if else ใช้ตัดสินใจตามเงื่อนไข เช่น หากค่าจาก Sensor มากกว่าค่าที่กำหนดให้เปิดอุปกรณ์ มิฉะนั้นให้ปิดอุปกรณ์

int sensorValue = 650;
int ledPin = 13;

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

void loop() {
  if (sensorValue > 500) {
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin, LOW);
  }
}

2.11 การใช้งาน Arduino คำสั่งทำซ้ำ

คำสั่งทำซ้ำช่วยให้โปรแกรมทำงานหลายรอบ เช่น กระพริบ LED หลายครั้ง อ่านค่า Sensor ต่อเนื่อง หรือสั่งงานอุปกรณ์เป็นชุด

int ledPin = 13;

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

void loop() {
  for (int i = 0; i < 5; i++) {
    digitalWrite(ledPin, HIGH);
    delay(500);
    digitalWrite(ledPin, LOW);
    delay(500);
  }

  delay(2000);
}

2.12 ตัวอย่างโปรแกรม: LED Blink

ตัวอย่างพื้นฐานที่สุดของ Arduino คือการเปิด-ปิด LED หรือ Blink ซึ่งช่วยให้ผู้เรียนเข้าใจการกำหนดขา Output และการใช้คำสั่ง digitalWrite() กับ delay()

int ledPin = 13;

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

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

สรุปบทเรียน

บทที่ 2 ช่วยให้ผู้เรียนรู้จักอุปกรณ์พื้นฐาน IoT และเริ่มต้นใช้งาน Arduino IDE ได้ ตั้งแต่การเลือก Board/Port การ Verify/Upload โปรแกรม ไปจนถึงการเขียนโค้ดพื้นฐานด้วย setup(), loop(), if else และคำสั่งทำซ้ำ ซึ่งเป็นพื้นฐานสำคัญก่อนพัฒนาโครงงาน IoT จริง

แบบฝึกหัดท้ายบท

  1. อธิบายหน้าที่ของ Arduino, Breadboard, Jumper Wire, LED และ Resistor
  2. Arduino Shield คืออะไร และมีประโยชน์อย่างไร
  3. อธิบายขั้นตอนการเลือก Board และ Port ใน Arduino IDE
  4. Verify และ Upload ต่างกันอย่างไร
  5. ระบุส่วนประกอบสำคัญของ Arduino UNO R3 อย่างน้อย 5 ส่วน
  6. เปรียบเทียบ Arduino UNO R3 กับ Arduino Mega 2560 R3
  7. เขียนโค้ดเปิด LED เมื่อค่าจาก Sensor มากกว่า 500
  8. เขียนโปรแกรมให้ LED กระพริบ 5 ครั้งแล้วหยุดพัก 2 วินาที

คำถามที่พบบ่อยเกี่ยวกับบทที่ 2

เหมาะมาก เพราะใช้งานง่าย มีตัวอย่างเยอะ มี Library และ Shield รองรับจำนวนมาก จึงเหมาะสำหรับเริ่มเรียนวงจร โปรแกรม และแนวคิด IoT

ควรตรวจสอบทุกครั้งเมื่อเสียบบอร์ดใหม่หรือเปลี่ยนช่อง USB เพราะ COM Port อาจเปลี่ยน หากเลือกผิดจะ Upload โปรแกรมไม่สำเร็จ

Verify คือการตรวจสอบโค้ดและ Compile เพื่อดูว่าโปรแกรมเขียนถูกต้องหรือไม่ ก่อนส่งไปยังบอร์ด Arduino

Breadboard ช่วยทดลองวงจรโดยไม่ต้องบัดกรี เหมาะสำหรับการเรียนรู้ การทดสอบ Sensor และการสร้างต้นแบบก่อนนำไปทำวงจรถาวร
อ่านต่อ

ต่อยอดจากบทที่ 2

หลังรู้จักอุปกรณ์และ Arduino IDE แล้ว สามารถต่อยอดสู่การอ่านค่า Sensor การส่งข้อมูล และการทำ Dashboard ได้