กลับไปหน้ารวมไฟล์
mini-traffic-light-228cc9.md

โค้ดนี่พี่เขียนเสร็จในวันเดียวแหละ ส่วนวงจรอิเล็กทรอนิกส์ใช้เวลาน้อยกว่านั้นอีก พี่หมดมุกแล้ว เลยเลือกทางง่ายๆ ใช้ไอเดียนี้ มันไม่ได้แปลกใหม่อะไรมากหรอก พี่รู้

พี่ภูมิใจมั้ย?

แน่นอน

ใช่แล้ว พี่อัพคลิปนี้ลงยูทูป

ใช่ นี่คือโปรเจกต์แรกของพี่ ใช่ นั่นคือข้ออ้างที่พี่ทำตัวบ้าบอได้

ใช่ คลิปถ่ายในห้องพี่ ประตูเปิดโล่ง ขณะที่น้องๆ พี่กำลังเล่น Fortnite กันอยู่

แล้วไงต่อ?

พี่เอา Arduino ใส่กล่อง

พี่เอา Arduino ใส่กล่อง

และนั่นแหละคือเรื่องราว มันเป็นอย่างนั้นจริงๆ โอ้ใช่ แล้วปุ่มกดมันไม่ทำงานนะ พี่แค่เอากาวตราช้างติดสายไฟให้มันดูเหมือนทำงานเฉยๆ

มุมมองของโปรเจกต์

ไฟจราจรจิ๋ว ตัวนี้คือการจำลองความปลอดภัยบนท้องถนนขั้นพื้นฐานและสร้างสรรค์เลยนะ เน้นไปที่องค์ประกอบหลักๆ—LED สีสามดวงกับปุ่มกด—น้องจะได้เรียนรู้วิธีตรวจสอบการจราจรโดยใช้ตรรกะซอฟต์แวร์เฉพาะทางและการตั้งค่าฮาร์ดแวร์ที่มั่นคง

การนำไปใช้ทางเทคนิค: จังหวะเวลาและตรรกะ

โปรเจกต์นี้เผยให้เห็นชั้นต่างๆ ที่ซ่อนอยู่ในปฏิสัมพันธ์ง่ายๆ ระหว่างแสงกับดิจิทัล:

  • ชั้นการระบุ: LED 5mm สามดวง (แดง, เหลือง, เขียว) ทำหน้าที่เป็นดวงตาสีสันของไฟจราจร จัดเรียงในแนวตั้ง
  • ชั้นการแปลง: Arduino ใช้พินเอาต์พุตดิจิทัล (เช่น 11, 12, 13) เพื่อวนลำดับมาตรฐานของไฟจราจร: เขียว (ไป), เหลือง (ระวัง), และแดง (หยุด)
  • ชั้นตรรกะการประมวลผล: ปุ่มกด (Push Button) ทำหน้าที่เป็นอินพุตดิจิทัลสำหรับคำขอ "ข้ามถนน"
  • ชั้นตรรกะจังหวะเวลา: โค้ด Arduino ใช้กลยุทธ์ "การถอดรหัสตามลำดับ" เฉพาะทาง: มันจะขอและดำเนินการลำดับ "รอบมาตรฐาน" หรือ "ให้สิทธิ์คนเดินถนน" ตามการตรวจสอบการกดปุ่มในแต่ละครั้ง
  • ชั้นการดำเนินการ: ใช้ฟังก์ชัน delay() และ digitalWrite() Arduino ทำหน้าที่เป็นตัวควบคุมประสิทธิภาพสูงสำหรับแต่ละจุดในการตรวจสอบ "สถานะไฟ"

โครงสร้างพื้นฐานฮาร์ดแวร์

  • Arduino Uno: "สมอง" ของโปรเจกต์ จัดการลูปจับเวลาความเร็วสูงและประสานสัญญาณเอาต์พุต
  • LED สี 5mm: ให้การตอบสนองทางสายตาที่ชัดเจนและสนุกสนานทุกครั้งที่สถานะไฟเปลี่ยน
  • ปุ่มกด (Push Button): ให้อินพุตดิจิทัลสำหรับแต่ละคำขอ "ข้ามถนน"
  • ตัวต้านทาน (Resistor) 220 โอห์ม: สำคัญมากสำหรับการจำกัดกระแสผ่าน LED และปกป้องพินดิจิทัล
  • เบรดบอร์ด (Breadboard): วิธีที่สะดวกสำหรับการสร้างต้นแบบวงจรไฟจราจรและเชื่อมต่อส่วนประกอบทั้งหมดโดยไม่ต้องบัดกรีถาวร
  • สาย Micro-USB: ใช้สำหรับโปรแกรม Arduino และจ่ายไฟสำหรับการจำลอง

Simulation and Interaction Step-by-Step

กระบวนการไฟจราจรนี้ถูกออกแบบมาให้มีประสิทธิภาพขั้นสุด:

  1. Initialize Hardware: จัดวาง LED สีแดง เหลือง เขียว และปุ่มกดบน Breadboard ให้ถูกต้องและแน่นหนา
  2. Setup High-Power Sync: ในฟังก์ชัน setup() กำหนดให้ขาพินของ LED เป็น OUTPUT และขาพินของปุ่มกดเป็น INPUT_PULLUP
  3. Execution Loop: Arduino จะวนลูปทำงานแบบต่อเนื่องและอัพเดทลำดับการสว่างของไฟแบบเรียลไทม์
  4. Visual Feedback Integration: สังเกตว่า LED จะกลายเป็นสัญญาณไฟที่ทำงานเป็นจังหวะ พร้อมกระพริบตามการตั้งค่าที่กำหนดไว้บน Breadboard

Future Expansion

  • OLED Identity Dashboard Integration: เพิ่มจอแสดงผล OLED ขนาดเล็กเพื่อแสดง "ตัวนับเวลาถอยหลัง" และ "สถานะคนข้ามถนน"
  • Multi-sensor Climate Sync Synchronization: เชื่อมต่อเซ็นเซอร์เสียง (ไมโครโฟน) เพื่อให้ไฟเปลี่ยนเป็นสีแดงทันทีหากตรวจจับได้เสียง "ไซเรนฉุกเฉิน" หรือ "เสียงตบมือ"
  • Cloud Interface Registration Support Synchronization: เพิ่มแดชบอร์ดบนคลาวด์สำหรับควบคุมและติดตามประวัติการทำงานของไฟจราจรจากสมาร์ทโฟนผ่าน WiFi
  • Advanced Velocity Profile Customization Support: เพิ่มสไลด์หรือโพเทนชิออมิเตอร์สำหรับปรับ "ระยะเวลาไฟเขียว" หรือ "ระยะเวลาไฟเหลือง" (หน่วยวินาที) ในแต่ละรอบด้วยมือ

โปรเจค Mini Traffic Light นี้เหมาะสุดๆ สำหรับวัยรุ่นสายช่างที่อยากได้ของเล่นชิ้นโปรดที่ทั้ง Interactive และน่าสนใจ เอาไปลองทำกันดูนะน้อง! สู้งาน

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

title: "ไฟจราจรจิ๋ว แต่ตึงๆ งานง่ายแต่หล่อ!"
description: "ใช่แล้วว่ะ ไฟจราจรเป๊ะๆ แต่แบบมินิ! มาแน่นอนด้วยประสบการณ์รอแบบเต็มอัตรา เตรียมตัวรอแบบวัยรุ่นกันได้เลย จัดไป!"
author: "drhm"
category: ""
tags:
  - "crack the code"
  - "traffic lights"
  - "codequest"
  - "codequest"
views: 1545
likes: 0
price: 99
difficulty: "Easy"
components:
  - "2x 5 mm LED: Red"
  - "1x Push Button"
  - "5x Resistor 2.21k ohm"
  - "1x Arduino UNO"
  - "1x Breadboard (generic)"
  - "1x 5 mm LED: Yellow"
  - "1x Resistor 10k ohm"
  - "2x 5 mm LED: Green"
tools: []
apps:
  - "1x Arduino IDE"
downloadableFiles:
  - "https://projects.arduinocontent.cc/3e7afe25-a70a-4cf3-abec-abd4a35178ae.ino"
  - "https://projects.arduinocontent.cc/3e7afe25-a70a-4cf3-abec-abd4a35178ae.ino"
documentationLinks: []
passwordHash: "69c0983b1550e44d1ff7180da21355aa90732c24bf127f5acfca19b946da275f"
encryptedPayload: "U2FsdGVkX18q2Q4nPXpePBTgebSOgqMzaHlEG/JcfksnY/XZf0KqMIJRvL1xr/4Vqc6q5Jo1/OiXoYQiU+/EfCj6Nk+dzKs5oy60XAoVs+4="
seoDescription: "Build a Mini Traffic Light with Arduino. A tiny, realistic traffic signal project with programmed sequences and wait times."
videoLinks:
  - "https://www.youtube.com/embed/W9W8N8G5kLk"
  - "https://www.youtube.com/embed/3P7I9-uYvFw"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/mini-traffic-light-228cc9_cover.jpg"
lang: "en"