สารบัญ:
วีดีโอ: Generic Switch Hijacker: 3 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:09
บทความนี้อธิบายวิธีสร้างอุปกรณ์ไมโครคอนโทรลเลอร์แบบโซลิดสเตตที่ควบคุมสวิตช์ทางกายภาพ ราคาไม่แพงมาก (4$ หรือมากกว่านั้น) สมมติว่าคุณมีโปรแกรมเมอร์ไมโครคอนโทรลเลอร์ วงจรนั้นมีความซับซ้อนเล็กน้อย
โปรเจ็กต์นี้เรียบง่ายมาก และไม่มีเทคนิคใหม่ๆ ที่น่าทึ่ง มันจะทำหน้าที่เป็นโครงการไมโครคอนโทรลเลอร์ตัวแรกที่ดี ซอร์สโค้ดของแอสเซมบลีจะมีให้คุณในบทความนี้ ฉันมีเจ้านายที่เจ๋งมากในที่ทำงาน บางครั้งเราชอบเล่นมุกตลกให้กันและกัน น่าเสียดายสำหรับเขา ฉันเป็นนักวิทยาศาสตร์ จุดประสงค์ของฉันที่นี่คือการทำให้อุปกรณ์ต่างๆ ในที่ทำงานเปิดขึ้นอย่างลึกลับในช่วงเวลาสั้นๆ วิทยุ เครื่องพิมพ์ที่ส่งเสียงดัง แม้แต่การ์ดวันเกิดที่มีดนตรีที่น่ารำคาญซึ่งซ่อนอยู่ในวัตถุธรรมดาบางอย่าง เหนือสิ่งอื่นใด โปรเจ็กต์นี้เป็นตัวอย่างของวิธีที่คุณควบคุมการโหลดที่หนักกว่าด้วย AVR ที่พินเอาท์พุตสามารถจัดการกับตัวเองได้ มีหลายสิ่งหลายอย่าง เนื่องจากพินเอาต์พุตให้แรงดันไฟฟ้าเพียงเล็กน้อยและมีกระแสไฟจำกัด วงจรนี้สามารถขยายได้ด้วยรีเลย์เพื่อควบคุมภาระที่หนักมากอย่างแน่นอน
ขั้นตอนที่ 1: การออกแบบและวงจร
สำหรับโครงการนี้ คุณสามารถใช้ไมโครคอนโทรลเลอร์เกือบทุกชนิด ตัวควบคุมแรงดันไฟฟ้า 5v และทรานซิสเตอร์ NPN ฉันใช้:
1x ATtiny26L-8PU (~2$) 1x TL780 5v ตัวควบคุมแรงดันไฟฟ้า (~0.7$) 1x N2222 ทรานซิสเตอร์ (~0.07$) 1x แบตเตอรี่ 9v หรือแบตเตอรี่ควบคุมระยะไกล 12v เพื่อประหยัดพื้นที่ …และแน่นอน STK500 ที่ไว้ใจได้ของฉัน ตอนนี้มี ZIF เพิ่มซ็อกเก็ต! การออกแบบพื้นฐานคือ: ไมโครคอนโทรลเลอร์ต้องผ่านลูปเวลาสองลูป วนรอบยาวสำหรับกำหนดว่าจะเปิดอุปกรณ์เมื่อใด และวนรอบสั้นเพื่อกำหนดว่าควรเปิดอุปกรณ์ไว้นานแค่ไหน เมื่อถึงเวลาสร้างปัญหา ไมโครคอนโทรลเลอร์จะส่งลอจิกพินสูง 14 (Least Significant Bit of PORTA) สิ่งนี้ทำให้เกิดไฟทรานซิสเตอร์ หากคุณต่อแคลมป์เข้ากับลีดบนสวิตช์ ความต้านทานข้ามสวิตช์ลดลงอย่างกะทันหันจากสูงมากเหลือน้อยกว่า 1 โอห์ม ซึ่งเพียงพอสำหรับอุปกรณ์ส่วนใหญ่จะพิจารณาเปิดสวิตช์ โปรดจำไว้ว่าทรานซิสเตอร์ก็เป็นไดโอดเช่นกัน ดังนั้นหากไม่ได้ผล… ขั้วของแคลมป์อาจผิด ให้เปลี่ยน! นอกจากนี้ อุปกรณ์นี้ต้องใช้แบตเตอรี่ขนาด 9v ที่ดี สมมติว่ามีศักย์ไฟฟ้าเหลือมากกว่า 8v… นอกเหนือจากนั้นจะไม่ใช้พลังงานมากนัก มีหมุดที่ไม่ได้ใช้งานอยู่มากมาย ดังนั้นคุณสามารถใช้มันเพื่อควบคุมสวิตช์เพิ่มเติมเพื่อความโกลาหลที่มากขึ้น แต่ก็เพียงพอแล้วสำหรับจุดประสงค์ของฉัน ขั้นตอนต่อไปคือซอร์สโค้ดที่ฉันเขียนเพื่อให้สิ่งนี้ดำเนินต่อไป ความยาวเริ่มต้นสำหรับสถานะ "เปิด" และ "ปิด" จะอยู่ที่ประมาณ 10 วินาทีและ 13 นาทีตามลำดับ มีความคิดเห็นในรหัสเกี่ยวกับวิธีการเปลี่ยนค่าเหล่านี้ สุดท้ายนี้ โปรดยกโทษให้กับการใช้ฟังก์ชัน "nop" อย่างกว้างขวาง (ซึ่งใช้วงจร CPU ไม่ทำอะไรเลย) เพื่อปรับแต่งตัวจับเวลา มันไม่สมเหตุสมผลเพราะมันสามารถทำลายฟังก์ชัน rjmp ได้หากคุณไม่ระวังว่าคุณใช้มากแค่ไหน!
ขั้นตอนที่ 2: รหัสที่มา
เริ่ม:
. INCLUDE "tn26def.inc"; ไฟล์คำจำกัดความ Google สำหรับมันหากคุณต้องการสำเนา clr r30 clr r29 clr r28 clr r27 ldi r28, 0b00000000 ldi r27, 0b11111111 ldi r26, 0b00000000 clr r25 ออก DDRA, r27 ออก PORTA, r28 TIMER: inc r30 nop nop nop nop nop nop nop nop nop nop cpi r30, 0b11111111 breq TIMER2 rjmp TIMER TIMER2: nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop inc r29 cpi จับเวลา r29, 0 nop nop nop nop nop nop inc nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop inc r25 cpi r25, 0b11111111;ลดจำนวนนี้เพื่อลดเวลา "ปิด" breq FUNC rjmp TIMER FUNC: nop28, 0x00 breq FUNC2 ธันวาคม r28 clr r30 clr r29 clr r25 ออก PORTA, r28 rjmp TIMER FUNC2: nop nop inc r28 ออก PORTA, r28 clr r25 clr r30 clr r29 rjmp nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop cpi r30, 0b11111111 breq TIMER5 rjmp TIMER4 TIMER5: nop nop nop nop nop nop nop nop nop nop nop nop inc r29 cpi r29, 0b11111 111 breq TIMER6 rjmp TIMER4 TIMER6: inc r25 cpi r25, 0b00000011; เพิ่มจำนวนนี้เพื่อเพิ่มเวลา "เปิด" breq FUNC rjmp TIMER4
ขั้นตอนที่ 3: หมายเหตุสุดท้าย
ขอให้สนุก แต่จำไว้ว่าทรานซิสเตอร์มีข้อ จำกัด ในแง่ของพลังงานที่คุณสามารถสูบผ่านได้ นั่นหมายความว่าไม่มีไฟหลัก! นอกจากความจริงที่ว่ามันจะโอเวอร์โหลดทรานซิสเตอร์เร็วมาก อุปกรณ์นี้จะไม่ควบคุมสัญญาณสลับดี… เว้นแต่คุณจะใช้การดัดแปลงที่อธิบายไว้ด้านล่าง *และ* เพิ่มรีเลย์:หากกังวลเกี่ยวกับขั้วแคลมป์ทำให้คุณรำคาญ ให้ต่อทรานซิสเตอร์ตัวที่สองด้วย แผ่นฐานเชื่อมต่อกับแหล่งเดียวกับทรานซิสเตอร์ตัวแรก แต่มีตัวสะสมและตัวปล่อยในรูปแบบตรงกันข้าม ด้วยวิธีนี้ ไม่ว่าคุณจะติดแคลมป์ด้วยวิธีใดก็ตาม ไมโครคอนโทรลเลอร์ที่ออกมาจากไมโครคอนโทรลเลอร์จะ "เปิด" สวิตช์อยู่เสมอ โปรดทราบว่ากระแสไฟรั่วในระบบนี้อาจเพียงพอที่จะเปิดใช้งานสวิตช์ที่มีความละเอียดอ่อนบางอย่าง เช่น เมทริกซ์ของแป้นพิมพ์ คุณอาจต้องเพิ่มตัวต้านทานเป็นอนุกรมสำหรับแอปพลิเคชันนี้ จำไว้ว่าคุณสามารถดูดพลังงานจากอุปกรณ์เป้าหมายแทนการใช้แบตเตอรี่ ในที่สุด… ฉันติดตั้งอุปกรณ์นี้ในเครื่องคำนวณการบัญชีแบบโบราณ ซึ่งเป็นประเภทที่มีฟังก์ชันการพิมพ์ ฉันทำวิศวกรรมย้อนกลับของเมทริกซ์ปุ่มกดโดยใช้คลิปหนีบกระดาษเพื่อกำหนดว่าหมุด IC ตัวใดเมื่อเชื่อมต่อแล้วจะทำให้เกิดการป้อนกระดาษ และเชื่อมต่อหมุดที่ถูกต้องเข้ากับอุปกรณ์ จากนั้น ฉันปิดสวิตช์ที่ให้คุณปิดฟังก์ชันการพิมพ์ได้ ฉันถือว่าเครื่องถูกโค่นล้มอย่างเหมาะสม มันเปิดการป้อนกระดาษที่มีเสียงดังทุกๆ 10 นาที เป็นเวลา 10 วินาที ทุกครั้งที่อุปกรณ์เปิดอยู่ นอกจากนี้ยังทำงานได้ดีกับวงจรจากการ์ดวันเกิดที่มีดนตรีที่น่าขยะแขยงมาก ที่ทำงานของฉันตอนนี้แปลกประหลาดมากขึ้นแล้ว!
แนะนำ:
ของเล่น Switch-Adapt: ของเล่นรถไฟไอน้ำที่เข้าถึงได้!: 7 ขั้นตอน (พร้อมรูปภาพ)
ของเล่นที่ปรับเปลี่ยนได้: ของเล่นรถไฟไอน้ำที่เข้าถึงได้!: การปรับตัวของเล่นเปิดช่องทางใหม่และโซลูชันที่ปรับแต่งได้เอง เพื่อให้เด็กที่มีความสามารถในการเคลื่อนไหวจำกัดหรือมีความบกพร่องในการพัฒนาสามารถโต้ตอบกับของเล่นได้อย่างอิสระ ในหลายกรณี เด็กๆ ที่ต้องการของเล่นที่ดัดแปลงไม่สามารถ
ของเล่น Switch-Adapt: Water-Breathing Walking Dragon เข้าถึงได้!: 7 ขั้นตอน (พร้อมรูปภาพ)
ของเล่นที่ปรับเปลี่ยนได้: มังกรเดินที่หายใจทางน้ำที่เข้าถึงได้!: การปรับตัวของเล่นเปิดช่องทางใหม่และโซลูชันที่ปรับแต่งได้เอง เพื่อให้เด็กที่มีความสามารถในการเคลื่อนไหวจำกัดหรือมีความบกพร่องทางพัฒนาการสามารถโต้ตอบกับของเล่นได้อย่างอิสระ ในหลายกรณี เด็กๆ ที่ต้องการของเล่นที่ดัดแปลงไม่สามารถ
Arduino 1-wire Generic Client/Slave Device (เซ็นเซอร์): 4 ขั้นตอน
Arduino 1-wire Generic Client/Slave Device (เซ็นเซอร์): โปรดอ่านบทนำและขั้นตอนที่ 2 ของคำแนะนำของฉันเกี่ยวกับวิธีสร้าง Arduino 1-wire Display (144 Chars) เพื่อรับข้อมูลเพิ่มเติมเกี่ยวกับสถานการณ์และไลบรารีที่พร้อมใช้งาน ตามที่อธิบายไว้เราจะใช้ห้องสมุด OneWire-Hub
IOT123 - ASSIMILATE SENSOR HUB: ICOS10 GENERIC SHELL (HOOKUP WIRE) การประกอบ: 4 ขั้นตอน
IOT123 - ASSIMILATE SENSOR HUB: ICOS10 GENERIC SHELL (HOOKUP WIRE) Assembly: UPDATE เราขอแนะนำให้คุณใช้วงจร IDC (ไม่ใช่ HOOKUP) เพื่อความน่าเชื่อถือที่มากขึ้น การประกอบ HOOKUP นี้ใช้ได้สำหรับการดำเนินการที่ไม่มีความสำคัญต่อภารกิจ หากคุณมีเวลาในการตรวจสอบวงจร ฉันพบสายไฟบางส่วน (แผงชั้นบนสุด: แดง/เหลือง) ไม่นานพอ
IOT123 - ASSIMILATE SENSOR HUB: ICOS10 GENERIC SHELL (IDC) ASSEMBLY: 6 ขั้นตอน
IOT123 - ASSIMILATE SENSOR HUB: ICOS10 GENERIC SHELL (IDC) ASSEMBLY: หมายเหตุนี่คือเวอร์ชันที่ปรับปรุง (ความทนทานของวงจร) ของ ASSIMILATE SENSOR HUB: ชุดประกอบ ICOS10 GENERIC SHELL (HOOKUP WIRE) ประกอบได้เร็วกว่าและมีวงจรคุณภาพสูงกว่า แต่มีราคาสูงกว่า (ประมาณ 10 ดอลลาร์เพิ่มเติมหากรองรับเซ็นเซอร์ 10 ตัว) เฟสหลัก