กลับไปหน้ารวมไฟล์
led-roulette-circuit-eb9ce2.md

สร้างวงจร LED Roulette สุดท้าทายด้วย Arduino UNO

โปรเจค LED Roulette หรือวงจรไฟวิ่งลุ้นโชค เป็นโปรเจคเริ่มต้นที่ยอดเยี่ยมสำหรับผู้ที่สนใจด้านระบบฝังตัว (Embedded Systems) เพราะมันรวมเอาพื้นฐานการควบคุม Output แบบ Digital, การจัดการกระแสไฟฟ้า และการเขียนโปรแกรมควบคุมลำดับเวลา (Timing Control) เข้าไว้ด้วยกันอย่างลงตัว

วิดีโอนี้จะช่วยให้คุณเข้าใจภาพรวมและขั้นตอนการประกอบวงจรได้ง่ายขึ้น


รายละเอียดอุปกรณ์และหลักการทำงานในเชิงวิศวกรรม

ในการสร้างโปรเจคนี้ เราไม่ได้เพียงแค่ทำให้ไฟติด แต่เรากำลังจัดการกับสัญญาณไฟฟ้าผ่านอุปกรณ์ต่างๆ ดังนี้:

  1. Arduino UNO: บอร์ดไมโครคอนโทรลเลอร์ที่เป็นหัวใจหลัก ทำหน้าที่ประมวลผลลอจิกและจ่ายแรงดันไฟฟ้า 5V ผ่านขา Digital I/O
  2. LED (Light Emitting Diode): อุปกรณ์สารกึ่งตัวนำที่เปลี่ยนพลังงานไฟฟ้าเป็นแสง ในโปรเจคนี้เราใช้ 9 ดวง เพื่อสร้างเอฟเฟกต์การวิ่งของไฟ
  3. Resistor (220 Ohms): ตัวต้านทานทำหน้าที่ "จำกัดกระแส" (Current Limiting) เพื่อป้องกันไม่ให้กระแสไฟฟ้าไหลผ่าน LED และขาของ Arduino มากเกินไป ซึ่งอาจทำให้อุปกรณ์เสียหายได้ตามกฎของ Ohm ($V = IR$)
  4. Breadboard & Jumper Wires: อุปกรณ์เชื่อมต่อวงจรโดยไม่ต้องบัดกรี
แผนผังการต่อวงจร LED Roulette

ขั้นตอนการประกอบวงจร (Step-by-Step)

ขั้นตอนที่ 1: การจัดวาง LED

นำ LED ทั้ง 9 ดวงเสียบลงบน Breadboard โดยแนะนำให้เรียงเป็นแนวเส้นตรงหรือวงกลมเพื่อให้เห็นเอฟเฟกต์ "Roulette" ได้ชัดเจน ข้อควรระวัง: ตรวจสอบขาของ LED ให้ดี ขาที่ยาวกว่าคือขั้วบวก (Anode) และขาที่สั้นกว่าคือขั้วลบ (Cathode)

ขั้นตอนที่ 2: การจัดการระบบ Ground (GND)

ในทางวิศวกรรม การจัดการสายกราวด์ที่ดีจะช่วยลดความซับซ้อนของวงจร ให้เชื่อมต่อตัวต้านทาน 220 โอห์ม จากแถวขั้วลบ (Negative Rail) ของ Breadboard ไปยังขา GND ของ Arduino เพื่อใช้เป็นจุดอ้างอิงแรงดันร่วมกัน

ขั้นตอนที่ 3: เชื่อมต่อวงจรลบ

ใช้สาย Jumper สีดำ (หรือสีที่ต้องการ) เชื่อมต่อขา Cathode (ขา過สั้น) ของ LED ทุกดวงลงไปยังแถวขั้วลบที่เราเตรียมไว้ในขั้นตอนที่ 2

ขั้นตอนที่ 4: เชื่อมต่อสัญญาณควบคุม (Digital I/O)

เชื่อมต่อขา Anode (ขาสั้นยาว) ของ LED แต่ละดวงเข้ากับพอร์ต Digital ของ Arduino ตามลำดับดังนี้ เพื่อให้การเขียนโปรแกรมควบคุมลอจิกทำได้ง่าย:

  • LED 1 → Digital Pin 13
  • LED 2 → Digital Pin 12
  • LED 3 → Digital Pin 11
  • LED 4 → Digital Pin 10
  • LED 5 → Digital Pin 9
  • LED 6 → Digital Pin 8
  • LED 7 → Digital Pin 7
  • LED 8 → Digital Pin 6
  • LED 9 → Digital Pin 5

การวิเคราะห์ลอจิกของโปรแกรม (Code Logic)

เพื่อให้วงจรทำงานเป็น Roulette เราจะใช้หลักการ "Scanning" โดยการเปิด-ปิด LED ทีละดวงด้วยความเร็วที่กำหนด

โครงสร้าง Code เบื้องต้น:

void setup() {
  // กำหนด Pin 5 ถึง 13 เป็น OUTPUT โดยใช้ Loop เพื่อความรวดเร็ว
  for (int i = 5; i <= 13; i++) {
    pinMode(i, OUTPUT);
  }
}

void loop() {
  // ลอจิกไฟวิ่ง: วนลูปเปิดไฟจากพิน 13 ลงไปถึง 5
  for (int i = 13; i >= 5; i--) {
    digitalWrite(i, HIGH); // จ่ายไฟ 5V ให้ LED ติด
    delay(100);            // รอ 100 มิลลิวินาที (ปรับความเร็วได้ที่นี่)
    digitalWrite(i, LOW);  // ตัดไฟให้ LED ดับ เพื่อไปดวงถัดไป
  }
}

คำอธิบายการทำงาน:

  1. Setup Phase: โปรแกรมจะสั่งให้ Arduino เตรียมความพร้อมของขา Pin 5-13 ให้ทำหน้าที่เป็น "ทางออกของสัญญาณ" (OUTPUT)
  2. Main Loop:
    • โปรแกรมจะเริ่มสั่งให้ Pin 13 เป็น HIGH (ไฟดวงที่ 1 ติด)
    • หน่วงเวลาด้วยคำสั่ง delay() เพื่อให้ตาของมนุษย์มองเห็นแสงได้ทัน
    • สั่งให้ Pin 13 เป็น LOW (ไฟดวงที่ 1 ดับ) และขยับไปทำแบบเดียวกันกับ Pin 12, 11 ต่อไปเรื่อยๆ จนครบ
    • เมื่อทำงานถึง Pin 5 โปรแกรมจะวนกลับไปเริ่มที่ Pin 13 ใหม่ เกิดเป็นภาพไฟวิ่งต่อเนื่อง

ขั้นตอนสุดท้าย: อัปโหลดและทดสอบ

เชื่อมต่อ Arduino เข้ากับคอมพิวเตอร์ผ่านสาย USB เปิดโปรแกรม Arduino IDE เลือกบอร์ดและพอร์ตให้ถูกต้อง จากนั้นกดปุ่ม Upload หากทุกอย่างถูกต้อง คุณจะเห็นไฟ LED วิ่งวนไปมาเหมือนวงล้อรูเล็ตพร้อมใช้งาน!

การทำโปรเจคนี้เป็นพื้นฐานสำคัญในการต่อยอดไปสู่การสร้างเกม หรือการควบคุมอุปกรณ์หลายๆ ชิ้นพร้อมกันในอนาคต (Multiplexing) ขอให้สนุกกับการสร้างสรรค์ครับ!

ข้อมูล Frontmatter ดั้งเดิม

title: "LED Roulette Circuit"
description: "The light runs and stops with a different LED"
author: "noytonprojects"
category: ""
tags:
  - "lights"
  - "entertainment system"
views: 2693
likes: 0
price: 1120
difficulty: "Intermediate"
components:
  - "1x Breadboard (generic)"
  - "1x LED (generic)"
  - "1x 9V battery (generic)"
  - "1x Resistor 220 ohm"
  - "1x Arduino UNO"
  - "1x 9V to Barrel Jack Connector"
  - "1x Jumper wires (generic)"
tools: []
apps:
  - "1x Arduino IDE"
downloadableFiles:
  - "https://projects.arduinocontent.cc/720cb3c0-b630-4581-b7cf-cd59a0c9be0c.ino"
documentationLinks: []
passwordHash: "c05ae535315a6ce763f91422811377b1402a9ec7c4bbb0695246cdbad0dbee68"
encryptedPayload: "U2FsdGVkX18Rw1OWPZ0h8MloDn2YCMGv2iTThJsKv1plpCLDRO3pVEM7JT+h/G1xJST270soc0NZyzBat/UpppBetu8RFK1/EaSiOoe8fOc="
seoDescription: "Build an LED Roulette Circuit where lights chase and stop at a random LED. A fun beginner project for learning Arduino and electronics."
videoLinks:
  - "https://www.youtube.com/embed/cIqzA3xuW3M"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/led-roulette-circuit-eb9ce2_cover.jpg"
lang: "en"