ชื่อโปรเจกต์: LED Strip โดยใช้รีโมทอินฟราเรด (IR)
Project Overview
"ระบบไฟส่องสว่างตามอารมณ์ที่ควบคุมด้วย IR" เป็นโปรเจกต์ระบบอัตโนมัติภายในบ้านอเนกประสงค์ที่เปลี่ยนรีโมทโทรทัศน์หรือมีเดียทั่วไปให้เป็นศูนย์กลางคำสั่งสำหรับแผง LED ที่กำหนดเอง โดยใช้ TSOP1738 Infrared Receiver ระบบจะถอดรหัสพัลส์แสงแบบโมดูเลตจากรีโมทให้เป็น Hexadecimal Command Codes ที่ไม่ซ้ำกัน สิ่งนี้ทำให้ Arduino UNO สามารถเปิด/ปิดและสร้างแอนิเมชันให้กับ LED แต่ละชุดได้อย่างอิสระตามปุ่มที่กด เป็นบทนำที่ยอดเยี่ยมสำหรับ optical communication protocols และการถอดรหัสสัญญาณด้วยฮาร์ดแวร์และซอฟต์แวร์
บทนำ
ในโปรเจกต์นี้ ผมจะแสดงวิธีสร้าง LED Strip และทำให้ LED สว่างขึ้นด้วยฟังก์ชันต่างๆ โดยใช้รีโมทอินฟราเรด (IR) และดูค่าใน Serial Monitor
คุณสามารถกำหนดปุ่มรีโมทที่แตกต่างกัน และทำให้ LED สว่างขึ้นด้วยฟังก์ชันที่แตกต่างกันได้
Technical Deep-Dive
- วิทยาศาสตร์ของการแยกสัญญาณ IR: รีโมท IR มักจะส่งข้อมูลโดยใช้ 38kHz carrier frequency เพื่อป้องกันการรบกวนจากแสงแดดภายนอกหรือแสงไฟภายในอาคาร TSOP1738 sensor มีฟิลเตอร์แบบ band-pass ภายในและวงจรควบคุมอัตราขยายอัตโนมัติ (AGC) มันจะกำจัดคลื่นพาหะ 38kHz ออกไปและส่งมอบคลื่นดิจิทัลสี่เหลี่ยมที่ "สะอาด" ซึ่งแสดงถึงบิตข้อมูลที่เข้ารหัส (เช่น NEC หรือ Sony protocol) ไปยัง Arduino
- การถอดรหัส Pulse-Width Modulation: ไลบรารี
IRremote.hทำงานโดยการวัดระยะเวลาของพัลส์ HIGH และ LOW ที่แม่นยำในระดับไมโครวินาที ในหลายๆ โปรโตคอล:- "Logic 0" แทนด้วยพัลส์ 562.5µs ตามด้วยช่องว่าง 562.5µs
- "Logic 1" แทนด้วยพัลส์ 562.5µs ตามด้วยช่องว่าง 1.6875ms
- ไลบรารีจะแปลรูปแบบเวลาเหล่านี้เป็นค่า 32-bit เช่น
0xFF30CFซึ่ง Arduino จะใช้เป็นคีย์สำหรับค้นหาฟังก์ชันแสงเฉพาะ
- ตรรกะของเฟิร์มแวร์และ Repeat Codes: คุณสมบัติเฉพาะของ NEC protocol คือ Repeat Code (
0xFFFFFFFF) หากผู้ใช้กดปุ่มค้างไว้ รีโมทจะไม่ส่งคำสั่งซ้ำ แต่จะส่งแฟล็กการทำซ้ำนี้โดยเฉพาะ เฟิร์มแวร์ขั้นสูงสามารถตรวจจับแฟล็กนี้เพื่อให้ฟังก์ชัน "หรี่ไฟ" หรือ "เปลี่ยนสี" ทำงานต่อเนื่องจนกว่าจะปล่อยปุ่ม - การจัดการพลังงานและกระแสไฟฟ้า: โปรเจกต์นี้ขับเคลื่อน LED หลายตัวผ่านสามช่องสัญญาณ (สีแดง สีเหลือง สีน้ำเงิน) แต่ละขาของ Arduino มีขีดจำกัดกระแสไฟฟ้าที่ 40mA เนื่องจากแต่ละชุดประกอบด้วย LED 4 ตัว กระแสไฟฟ้าจึงถูกกระจายอย่างระมัดระวังเพื่อให้แน่ใจว่า absolute maximum ratings ของ ATMega328P จะไม่เกิน ปกป้องอายุการใช้งานของไมโครคอนโทรลเลอร์ในขณะที่ยังคงความสว่างที่มองเห็นได้
Implementation & Testing
- โหมดค้นหารหัส: ขั้นแรกของโปรเจกต์คือ "Discovery Mode" ด้วยการรันสเก็ตช์การถอดรหัสแบบง่าย ผู้ใช้จะพิมพ์ Hex codes ดิบของรีโมทเฉพาะของตนไปยัง Serial Monitor จากนั้นรหัสเหล่านี้จะถูก hardcoded ลงในสเก็ตช์ "Production" ขั้นสุดท้าย เพื่อให้มั่นใจว่ามีการแมปแบบ 1:1 ระหว่างปุ่มจริงกับสถานะแสง
- ความเข้ากันได้แบบสากล: เนื่องจากการถอดรหัสถูกกำหนดโดยซอฟต์แวร์ ระบบจึงสามารถฝึกให้ทำงานร่วมกับรีโมทในครัวเรือนเกือบทุกชนิด ไม่ว่าจะเป็น TV, AC หรือเครื่องเล่น DVD ทำให้เป็นโปรเจกต์ "Recycled Tech" ที่สมบูรณ์แบบ
- การขยายแบบโมดูลาร์: ส่วน "Hookup" กำหนดการแมปขาอย่างชัดเจนสำหรับ TSOP และชุด LED ความเป็นโมดูลาร์นี้ช่วยให้ผู้สร้างสามารถเปลี่ยน LED ขนาด 5 มม. มาตรฐานเป็น LED strips กำลังสูง หรืออาร์เรย์ที่ขับเคลื่อนด้วย MOSFET สำหรับระบบไฟส่องสว่างในห้องระดับมืออาชีพ