หน้าแรก ดูโปรเจกต์ทั้งหมด
Expert

โปรเจกต์ Arduino Giga Watch ที่ใช้ Addressable LED

Watch รุ่น Giga ที่สามารถแสดงเวลาและแสดงระดับ Sound ในห้อง โดย Clock จะปิดการทำงานโดยอัตโนมัติเมื่อห้องมืด

โปรเจกต์ Arduino Giga Watch ที่ใช้ Addressable LED

วิดีโอสาธิต

Video

▶ กดเพื่อดูวิดีโอสาธิตโปรเจกต์

รายการอุปกรณ์และเครื่องมือ

1x Tactile Switch, Top Actuated
🛒 สั่งซื้อ
1x Soldering iron (generic)
-
1x WS2812B Digital RGB LED Flexi-Strip 144 LED - 1 Meter
🛒 สั่งซื้อ
1x Solder Wire, Lead Free
-
1x 3D Printer (generic)
-
1x IoT Training Controller Light Sound Sensor Action
-
1x Real Time Clock (RTC)
🛒 สั่งซื้อ

รายละเอียดและวิธีทำ

โปรไฟล์/ออกจากระบบ

ต่อมาผมได้ใช้โปรเจกต์นี้เป็นโปรเจกต์จบการศึกษา โดยผมได้สร้าง "Party mode" เข้าไป ซึ่งจะทำให้ส่วนบนและส่วนล่างตอบสนองต่อเสียงเพลงหรือเสียงพูด

สามารถสลับไปมาระหว่าง Party mode และโหมดนาฬิกาปกติได้โดยการกดปุ่มในวงจร

โค้ดมีความซับซ้อนเล็กน้อยเนื่องจากวิธีการที่ผมติดตั้ง LED Strips ในนาฬิกา มี algorithm ในโค้ดที่สามารถแปลง single Array ให้เป็น dual Array (Array ที่ซ้อน Array) ซึ่งทำขึ้นเพื่อให้ผู้ใช้งานกำหนดได้ง่ายว่า LED ดวงไหนควรจะสว่าง - ในโค้ดควรจะมี comments เพื่อให้เข้าใจสิ่งที่เกิดขึ้นได้ง่าย (ง่ายขึ้น)

โค้ดนี้จำเป็นต้องพึ่งพา libraries บางตัวเพื่อให้ทำงานได้ คุณจะต้องเพิ่มสิ่งต่อไปนี้ใน Arduino IDE:

  • DS3231_Simple - เพื่อตั้งค่าเวลานาฬิกา ซึ่งจะทำในหนึ่งในตัวอย่างที่มีมาให้
  • FastLED - เพื่อควบคุม LED เพียงแค่เพิ่มสิ่งนี้เข้าไปแล้วโค้ดจะจัดการส่วนที่เหลือเอง

สามารถดูวิดีโอของชิ้นงานได้ที่ลิงก์นี้:

การแสดงตัวอย่างของนาฬิกา

นาฬิกาหนึ่ง Segment ถูกตั้งค่าไว้เพื่อให้เชื่อมต่อกับ Segment อื่นได้ง่ายหากจำเป็นหรือต้องการ สามารถดูการ wiring ของแต่ละ Segment ได้ในรูปภาพต่อไปนี้

การ wiring ภายในของ Segment ในนาฬิกา

ในกรณีของผม ผมเลือกใช้ LED 4 ดวงต่อหนึ่ง "block" เพื่อให้มี LED รวมทั้งหมด 28 ดวงต่อหนึ่ง Segment

ในกรณีของผม ผมจำเป็นต้องทำให้ระยะห่างระหว่าง LED ยาวขึ้น ผมจึงบัดกรีสายไฟเชื่อมระหว่าง LED ดังนั้นการ wiring ภายในจะเป็นดังนี้:

การ wiring ภายในใน Segment ของผม

ไฟ Party มีปัญหาเล็กน้อยตอนทำให้ใช้งานได้ มันทำงานโดยการสุ่มอ่านค่า (sampling) 20 ครั้งจาก Sensor และหาความแตกต่างระหว่างจุดสูงสุดและต่ำสุดของค่าที่สุ่มมา ตัวเลขที่ได้จะถูกแปลงเป็นจำนวนของ LED ที่ควรจะสว่าง สำหรับการให้ LED สว่างทุกดวง ค่าตัวเลขเสียง (ระดับเสียง) ควรจะมากกว่า 12 ซึ่งค่านี้อาจแตกต่างกันไปขึ้นอยู่กับ Microphone ที่คุณใช้ และตำแหน่งของ Microphone เมื่อเทียบกับแหล่งกำเนิดเสียง ดังนั้นสิ่งนี้จึงเป็นสิ่งที่สามารถเปลี่ยนแปลงได้ใน software

รูปภาพต่อไปนี้คือ Party mode ขณะทำงานเต็มกำลัง (ระดับเสียงสูงสุด)

Party mode เมื่อระดับเสียงอยู่ระหว่าง 12 และ 16 (Party mode จะสว่างที่สุดเท่าที่จะเป็นไปได้เสมอ)

นาฬิกามีฟังก์ชันหรี่ไฟ/ปิดอัตโนมัติ ซึ่งตั้งค่าไว้สำหรับห้องของผม สิ่งนี้สามารถเปลี่ยนแปลงได้ใน software หากต้องการ

มันยากที่จะแสดงให้เห็นในรูปภาพ ดังนั้นให้ดูวิดีโอเพื่อดูการหรี่ไฟขณะทำงาน

นาฬิกาที่แสดงผลเป็นสีฟ้า

สีของนาฬิกาสามารถเปลี่ยนแปลงได้ใน software อย่างไรก็ตาม สีฟ้าให้ contrast ที่ดีที่สุด - ในความเห็นของผมนะ

Code

🔒 ปลดล็อก Code

สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้

รหัสอ้างอิงโปรเจกต์: arduino-giga-watch-using-addressable-led-d706c0
2450 บาท
PromptPay QR Code