''ปุ่มวิเศษ'' รีโมทสวิตช์: 3 ขั้นตอน (พร้อมรูปภาพ)
''ปุ่มวิเศษ'' รีโมทสวิตช์: 3 ขั้นตอน (พร้อมรูปภาพ)
Anonim
''ปุ่มวิเศษ'' สวิตช์รีโมท
''ปุ่มวิเศษ'' สวิตช์รีโมท

ปัญหา: ไฟ LED แผง (DIY แน่นอน!) ที่ติดตั้งบนเพดานของเวิร์กช็อป/โรงรถของฉันเสียบเข้ากับเต้ารับไฟฟ้าบนเพดาน ฉันต้องการวิธีเปิดและปิดสวิตช์ไฟจากระยะไกลจากตำแหน่งที่ตั้งสวิตช์ไฟหลัก

วิธีแก้ปัญหา: "ปุ่มวิเศษ" ถือกำเนิดขึ้น

Magic Button เป็นรีโมตอินฟราเรดแบบสแตนด์อโลนขนาดเล็กที่มีปุ่มขนาดใหญ่ (ความจริงแล้ว ฉันชอบปุ่มขนาดใหญ่ - ดูคำแนะนำอื่นๆ บางส่วนของฉัน) เมื่อกดแล้ว IR LED จะส่งสัญญาณไปยังยูนิตฐานเพื่อเปิดและปิดแผง

ในสถานการณ์นี้ ฉันได้ใช้หน่วยรับที่สร้างขึ้นเป็นพิเศษ (ซึ่งมีตัวเลือกการสลับพิเศษด้วย - สวิตช์ดึงและสวิตช์ตรวจจับแสงรุ่นทดลอง - ดูในภายหลัง) แต่สามารถใช้ปุ่มวิเศษเพื่อเปิดอุปกรณ์ควบคุม IR เช่นทีวีได้

ขั้นตอนที่ 1: ปุ่มวิเศษ - วงจร

ปุ่มวิเศษ - วงจร
ปุ่มวิเศษ - วงจร
ปุ่มวิเศษ - วงจร
ปุ่มวิเศษ - วงจร

PARTS

1x ATTINY85 SMD2x 22pF ตัวเก็บประจุ SMD1x 47R ตัวต้านทาน SMD1x 5mm TSAL6200 (หรือใกล้เคียง) LED อินฟราเรด

1x 6pin 2mm Pitch Header1x 12x12x12mm Push Button with Cap (https://www.ebay.com/itm/131912566751)

24mmx24mm ด้านเดียว 0.8mm PCB22AWG (0.7mm) ทองแดงกระป๋อง WireUSBasp โปรแกรมเมอร์ (https://www.fischl.de/usbasp/)

PCB

PCB ทำขึ้นโดยใช้วิธีรีดหมึกบนกระดานหนา 0.8 มม. ติดตั้งอุปกรณ์ยึดพื้นผิวก่อน บัดกรีลวดทองแดงกระป๋องสองสามซม. เข้ากับขั้วแบตเตอรี่ (ด้านทองแดงของ PCB) เพื่อเชื่อมต่อกับที่ใส่แบตเตอรี่ในภายหลัง

เฟิร์มแวร์

ต้องอัปโหลดเฟิร์มแวร์โดยใช้โปรแกรมเมอร์ USBasp หมุดของโปรแกรมเมอร์ (https://www.batsocks.co.uk/readme/isp_headers.htm) ต้องเชื่อมต่อกับส่วนหัวแบบ 6 พินบนปุ่มเมจิก (โปรดดูรูปแบบ PDF สำหรับพินเอาต์) ฉันใช้ตัวเชื่อมต่อสองสามตัวที่บัดกรีเข้าด้วยกันเพื่อสร้างอะแดปเตอร์ แต่คุณสามารถใช้สายจัมเปอร์ได้อย่างง่ายดาย

ติดตั้งการสนับสนุน ATTiny บน Arduino IDE ของคุณ (https://highlowtech.org/?p=1695) และเปิดภาพร่างที่แนบมา เลือก:บอร์ด: ATtiny25/45/85Timer 1: CPUChip: ATtiny85Clock: 8Mhz (ภายนอก)ปิด BOD

จากนั้นเลือกตัวเลือกเบิร์น bootloader เพื่อเบิร์นการตั้งค่าเหล่านี้ ตอนนี้อัปโหลดภาพร่างของคุณ

ฉันได้รวมไลบรารี ir-send เวอร์ชันแก้ไขแล้ว (https://github.com/anorneto/attiny85_ir_send) ฉันไม่สามารถให้ห้องสมุดทำงานได้เหมือนเดิม - การกำหนดเวลาจาก delayMicroseconds() ดูเหมือนจะหมดไปประมาณสองเท่าแม้ว่าฉันจะมีการตั้งค่านาฬิกาที่ถูกต้อง - บางทีฉันอาจติดตั้ง ATTiny core รุ่นผิดหรือเปล่า ฉันได้ปรับการเรียกเป็น delayMicroseconds() ด้วยปัจจัยหนึ่งเพื่อชดเชย - แต่คุณอาจโชคดีกว่าที่ห้องสมุดไม่ได้แก้ไข

หากคุณกำลังจะใช้ปุ่มวิเศษเพื่อเปิดใช้งานอุปกรณ์ที่มีอยู่ คุณจะต้องแก้ไขภาพร่างเพื่อให้ส่งรหัส IR ที่ถูกต้อง IRCODERAW (ดูข้อมูลอ้างอิงในขั้นตอนหน่วยฐานของคำแนะนำนี้)

คุณสามารถตรวจสอบว่าวงจรทำงานหรือไม่โดยการดู IR LED โดยใช้กล้องในโทรศัพท์มือถือของคุณ ซึ่งสามารถ 'มองเห็น' อินฟราเรดได้แม้ว่าดวงตาของคุณจะมองไม่เห็น

ขั้นตอนที่ 2: ปุ่มวิเศษ - ตัวเรือน

ปุ่มวิเศษ - ตัวเรือน
ปุ่มวิเศษ - ตัวเรือน
ปุ่มวิเศษ - ตัวเรือน
ปุ่มวิเศษ - ตัวเรือน
ปุ่มวิเศษ - ตัวเรือน
ปุ่มวิเศษ - ตัวเรือน

PARTS1x ปุ่ม Jamma Long Arcarde (https://www.ebay.com/itm/301287758471)2x 2x3x8mm Rare Earth Magnetsเหล็กจากกระป๋องดีบุกกาวอีพ็อกซี่กาว3D ชิ้นส่วนที่พิมพ์4x M2 สกรูและน็อต 6 มม.1x CR2025 3V แบตเตอรี่

การก่อสร้าง

ชิ้นส่วนที่พิมพ์ 3 มิติมีสี่ส่วน: Shell, Base, Battery Holder และ Button Spacer

ต้นแบบทั้งสองของฉัน (แสดงในรูปชื่อ) มีการออกแบบที่แตกต่างกันเล็กน้อย:- สีขาว (ซึ่งฉันติดตั้งบนผนังเพื่อสลับแผง LED) มี LED ติดตั้งอยู่ที่มุมประมาณ 40 องศาเพื่อให้ชี้ไปที่ตัวรับสัญญาณบน เพดาน. นอกจากนี้ยังมีรูสำหรับยึดที่ฐาน- สีจะมีลักษณะโค้งมนเล็กน้อยและมี LED เล็งในแนวนอน เครื่องนี้ออกแบบมาให้วางบนพื้นผิวเรียบเพื่อเปิดทีวีหรืออุปกรณ์อื่นๆ

นอกจากการแนบไฟล์.stl สำหรับสองเวอร์ชันนี้แล้ว ฉันยังได้รวมสคริปต์ OpenSCAD เพื่อให้คุณสามารถสร้างปุ่มวิเศษของคุณเองด้วยพารามิเตอร์ต่างๆ

ปุ่ม Arcade จำเป็นต้องถอดประกอบและตัดเป็นสองตำแหน่งโดยใช้เลื่อยเลือยตัดโลหะตามที่ระบุ ฝาครอบปุ่ม (จากปุ่มกดขนาด 12 มม.) จะพอดีกับตัวเว้นระยะปุ่มซึ่งติดอยู่ที่ด้านบนของปุ่ม Arcade

ฐานยึดกับเปลือกด้วยสนามแม่เหล็ก: แม่เหล็กทั้งสองตัวจะติดกาวในช่องของเปลือก - ตรวจสอบให้แน่ใจว่าแม่เหล็กเรียบเสมอกัน ตัดเหล็กชิ้นเล็กสองชิ้น (4x10 มม.) (อย่างระมัดระวัง - คม! - ตะไบขอบ) จากกระป๋อง สิ่งเหล่านี้ติดกาวลงในช่องว่างที่ทำเครื่องหมายไว้บนฐาน ตรวจสอบให้แน่ใจว่าไม่เหลื่อมกับขอบด้านนอก

เสียบที่ใส่แบตเตอรี่เหนือสายไฟทั้งสองแล้วขันเข้ากับ PCB ด้วยสกรู M2 สายไฟถูกตัดและงอตามที่แสดงในภาพ เพื่อที่ว่าเมื่อใส่แบตเตอรี่เข้าไปจะสัมผัสกับสายไฟแต่ละเส้น แรงดันของสายด้านข้างควรยึดแบตเตอรี่ให้อยู่ในตำแหน่ง

กาวขอบด้านนอกของปุ่ม Arcade ลงในรูที่ด้านบนของเปลือก แล้วทุกอย่างก็ควรจะเข้ากันได้ดี!

ขั้นตอนที่ 3: หน่วยฐาน (เพื่อสลับแผงไฟ LED 12v)

หน่วยฐาน (เพื่อสลับแผงไฟ LED 12v)
หน่วยฐาน (เพื่อสลับแผงไฟ LED 12v)
หน่วยฐาน (เพื่อสลับแผงไฟ LED 12v)
หน่วยฐาน (เพื่อสลับแผงไฟ LED 12v)
หน่วยฐาน (เพื่อสลับแผงไฟ LED 12v)
หน่วยฐาน (เพื่อสลับแผงไฟ LED 12v)

ชิ้นส่วน (วงจร)

1x Arduino Nano ATmega168 5V1x 3 มม. LED สีแดง1x 3 มม. LED สีเหลือง1x 5V รีเลย์1x LDR (ตัวต้านทานแบบพึ่งพาแสง)1x 2N2222 ทรานซิสเตอร์ NPN2x 1N4007 ไดโอด1x TSOP4138 IR Receiver1x มินิสไลด์สวิตช์1x ไมโครสวิตช์ (จากปุ่มอาเขต)1x 100K Multi-turn Trimpot1x MINI 3A DC-DC โมดูลลดขั้นตอน (https://www.ebay.com/itm/360741066304) ซ็อกเก็ต DC และ Plug

ชิ้นส่วน (กรณี)

สายลูกปัดแว็กซ์ 1 มม. เส้นผ่านศูนย์กลาง 24 มม. ลูกปัดไม้ (มีรูเส้นผ่านศูนย์กลาง 5 มม.) 1x 12 มม. M6 สกรูดำ 116 มม. x 68 ม. 36 มม. (https://www.ebay.com/itm/382231522470)

กาวอีพ็อกซี่สีดำ

ภาพรวม

หน่วยฐานประกอบด้วยตัวรับสัญญาณ IR ซึ่งจะสลับรีเลย์เมื่อกดปุ่มเมจิก อีกทางหนึ่งคือมีสวิตช์ดึงที่สามารถใช้งานได้ (เช่น หากแบตเตอรี่ปุ่มเมจิกแบน)

นอกจากนี้ยังมีคุณสมบัติการตรวจจับแสงแบบทดลองอีกด้วย สามารถเปิดหรือปิดได้ด้วยสวิตช์เลื่อน (ฉันไม่แน่ใจว่าคุณลักษณะนี้จะทำงานได้ดีเพียงใด) โดยทั่วไปเมื่อเปิดไฟหลักในโรงรถ มันจะตรวจจับแสงและเปิดรีเลย์ ท่อสีดำและระบบหดความร้อนบางส่วนถูกวางบน LDR เพื่อให้มีทิศทางมากขึ้น และมุ่งไปที่ไฟโรงรถหลัก Trimpot ถูกปรับสำหรับเกณฑ์แสงที่ถูกต้อง (ไฟ LED สีเหลืองจะสว่างขึ้นเมื่อถึงเกณฑ์แสง)

การก่อสร้าง

ประสานซ็อกเก็ตอินพุตพลังงานและสเต็ปดาวน์เรกูเลเตอร์ก่อน จากนั้นจึงจ่ายไฟและปรับเรกูเลเตอร์สำหรับแรงดันไฟฟ้า 4.5 - 5 โวลต์ กาว trimpot ในตำแหน่งที่ต้องการ ตรวจสอบให้แน่ใจว่าคุณทำเช่นนี้ก่อนติดตั้ง Arduino ไม่เช่นนั้นคุณอาจระเบิดได้เนื่องจากแรงดันไฟฟ้าเกิน

มีชิ้นส่วนที่พิมพ์ 3 มิติสองส่วน:- ส่วนหนึ่งสำหรับกลไกสวิตช์ดึง ด้ายแว็กซ์จะถูกร้อยผ่านรูตามที่แสดง โดยมีปมขนาดใหญ่ผูกไว้ที่ปลาย - อีกอันเป็นปลั๊กสำหรับลูกบอล ติดกาวเข้าไปในรูในลูกบอลและปลายอีกด้านของด้ายจะลอดผ่าน ปลายอีกด้านผูกปมและขันสกรู M6 เข้ากับฐานของลูกบอล (เพื่อให้มีน้ำหนัก)

เฟิร์มแวร์

เฟิร์มแวร์ใช้ไลบรารีระยะไกล IR จากที่นี่: https://github.com/z3t0/Arduino-IRremote อัปโหลดไปยัง Arduino ตามปกติ

หากคุณต้องการจำลองรีโมตคอนโทรลที่มีอยู่ (เพื่อเปิดทีวี) ให้ใช้ภาพร่างตัวอย่าง IRrecvDump จากไลบรารีนี้เพื่ออ่านและถ่ายโอนโค้ดจากรีโมตทีวีของคุณ ใช้รหัสดิบที่ถูกทิ้งในร่าง Magic Button แน่นอน ในสถานการณ์นี้ คุณไม่จำเป็นต้องสร้างหน่วยพื้นฐาน แต่ให้อ้างอิงถึงแผนผัง เนื่องจากคุณจะต้องเชื่อมต่อตัวรับสัญญาณ IR กับ Arduino เพื่อทำการอ่านและถ่ายโอนข้อมูล

ตัวรับสัญญาณ IR

ตอนแรกฉันติดตั้งตัวรับสัญญาณ IR บน PCB (เสียบเข้ากับส่วนหัว 3 พินเพื่อเพิ่มความสูง) และมองเห็นได้ผ่านรูในเคส แต่ฉันพบว่ามันไม่ 'มองเห็นได้' มากพอที่จะลงทะเบียนแท่นพิมพ์ ดังนั้นฉันจึงลงเอยด้วยการติดตั้งที่ด้านนอกของเคส และตอนนี้ทุกอย่างก็ทำงานได้อย่างสมบูรณ์

กดปุ่มแฮปปี้!

การแข่งขันไร้สาย
การแข่งขันไร้สาย
การแข่งขันไร้สาย
การแข่งขันไร้สาย

รองชนะเลิศการแข่งขันไร้สาย