สารบัญ:

เครื่องตรวจจับซอมบี้: 3 ขั้นตอน
เครื่องตรวจจับซอมบี้: 3 ขั้นตอน

วีดีโอ: เครื่องตรวจจับซอมบี้: 3 ขั้นตอน

วีดีโอ: เครื่องตรวจจับซอมบี้: 3 ขั้นตอน
วีดีโอ: ซอมบี้ระบาด!! #ตลก #บ้านกูเอง 2024, กรกฎาคม
Anonim
เครื่องตรวจจับซอมบี้
เครื่องตรวจจับซอมบี้

ตอนที่ฉันไปวิทยาลัย ฉันทำงานที่ Knott's Berry Farm และเมื่อวันฮัลโลวีนตกในช่วงสุดสัปดาห์ เราก็มีคนจำนวนมากเข้ามา เราทุกคนแต่งตัวและสนุกไปกับมัน และลูกค้าส่วนใหญ่ต่างชื่นชมในความพยายามนี้ หนึ่งใน "สาวเหรียญ" ที่ฉันทำงานมีรูปแบบที่สมบูรณ์แบบเป็น Morticia Addams ย้อนกลับไปในตอนนั้น ลุค Goth ไม่ได้ถูกประดิษฐ์ขึ้น (เว้นแต่คุณจะนับ Moona Lisa) ระหว่างทางไปทำงาน เธอได้รับการกลอกตาเกินจริงจากผู้ชายในรถข้างๆ เธอที่ไฟหยุด เธอจ้องกลับมาที่เขาและยิ้มกว้างให้เขา – เขี้ยวและทั้งหมด เห็นได้ชัดว่ารูปลักษณ์บนใบหน้าของเขาไม่มีค่า

ในใจเดียวกัน ฉันคิดว่าจะบันทึกโพสต์นี้ไว้จนถึงช่วงเทศกาลฮัลโลวีน แต่แล้วฉันก็จำได้ว่า Zombie Apocalypse อาจเกิดขึ้นได้ทุกเมื่อ เมื่อฉันแสดงสิ่งนี้แก่หลานๆ ฉันบอกพวกเขาว่ามันจะตรวจจับชีพจรของพวกเขาหากพวกเขายังมีชีวิตอยู่ แต่ไม่มีชีพจรหมายความว่าพวกเขาเป็นซอมบี้ มันสามารถใช้เป็นเกมกำจัด (ชนิดของเก้าอี้ดนตรีแปลก ๆ) หากคุณมีฝูงชน วิธีหนึ่งที่เราเล่นคือส่งให้รอบโต๊ะ หากคุณได้รับคำตอบจาก "มนุษย์" คุณจะได้รับเหรียญ หากไม่ได้รับ แสดงว่าคุณจ่ายเป็นเหรียญ เด็กๆ ชอบเกมที่มีเหรียญเสมอ

ขั้นตอนที่ 1: ฮาร์ดแวร์

ฮาร์ดแวร์
ฮาร์ดแวร์
ฮาร์ดแวร์
ฮาร์ดแวร์
ฮาร์ดแวร์
ฮาร์ดแวร์
ฮาร์ดแวร์
ฮาร์ดแวร์

แผนผังแสดงในแผนภาพด้านบน ส่วน "เครื่องตรวจจับ" เป็นสวิตช์สัมผัสแบบ capacitive แบบธรรมดาที่โฆษณาเป็น TTP223 ฉันหยิบชุดที่ 10 ขึ้นมาโดยไม่ได้อะไรเลย แต่มีปัญหาเล็กน้อยกับพวกเขา โมดูลได้รับการโฆษณาว่าใช้งานได้ตั้งแต่ 2.5 โวลต์ถึง 5 โวลต์ แต่ไม่ได้ทำ สิ่งที่ฉันพบคือสิ่งใดที่น้อยกว่า 4.75 โวลต์ทำให้โมดูลล็อคในสถานะ "เปิด" ฉันต้องการดำเนินโครงการทั้งหมดโดยใช้แบตเตอรี่ AAA หนึ่งก้อน (ประมาณ 3 โวลต์) ดังนั้นฉันจึงต้องหาปัญหา หลังจากตรวจสอบชิปบนโมดูลแล้ว ฉันพบว่าคู่เปล่าของแผ่นบัดกรีควรมีตัวเก็บประจุที่กำหนดความไว ช่วงที่แนะนำคือตั้งแต่ 0 ถึง 50pf โดยมีความไวเพิ่มขึ้นเมื่อความจุลดลง ฉันไม่สามารถทำให้มันทำงานได้โดยลัดวงจรแผ่นอิเล็กโทรด (0pf) แต่ทำงานได้ดีกับตัวเก็บประจุ 22pf และ 47pf ที่ฉันมี ด้วยค่า 22pf ฉันทำให้โมดูลทำงานที่ 2.5 โวลต์ได้อย่างง่ายดาย

องค์ประกอบหลักอื่น ๆ ของโครงการนี้ (นอกเหนือจากไมโครคอนโทรลเลอร์ PIC) คือเมทริกซ์ LED 8x8 เดิมทีฉันใช้เมทริกซ์ธรรมดา แต่ต้องเพิ่ม shift register เพื่อระบุแถวและคอลัมน์และต้องมัลติเพล็กซ์เพื่อให้ได้การแสดงผลที่สมบูรณ์ จากนั้นฉันก็ค้นพบโมดูล LED ราคาไม่แพงที่ติดมากับแผงวงจรที่มีชิปไดรเวอร์จอแสดงผล LED MAX7219 ชิปไดรเวอร์ยอมรับคำสั่งซีเรียลซึ่งใช้เพื่อเปิดแถวและคอลัมน์ที่ต้องการ ชิปยังทำการมัลติเพล็กซ์โดยอัตโนมัติเพื่อขจัดภาระออกจากไมโครคอนโทรลเลอร์ การค้นพบนั้นลดทั้งฮาร์ดแวร์และความซับซ้อนของซอฟต์แวร์

ขั้นตอนที่ 2: กล่องโครงการ

กล่องโครงการ
กล่องโครงการ
กล่องโครงการ
กล่องโครงการ

ฉันต้องการฟิลเตอร์สีแดงโปร่งแสงเพื่อปกปิดเมทริกซ์ LED ฉันสามารถตัดชิ้นส่วนจากลูกแก้วสีแดงที่ฉันมีแล้วติดมันลงในกล่องโปรเจ็กต์ แต่เลือกที่จะนำกลับมาใช้ใหม่แทน กล่องที่ฉันสร้างเป็นภาชนะที่ครั้งหนึ่งเคยบรรจุกระสุน.22 จำนวนมาก ภาชนะเหล่านี้ส่วนใหญ่เป็นพลาสติกใส แต่ฉันมีคู่ที่เป็นสีแดง ไม่สง่างามเกินไป แต่หลานไม่สนใจความสง่างาม

ขั้นตอนที่ 3: ซอฟต์แวร์

ซอฟต์แวร์
ซอฟต์แวร์
ซอฟต์แวร์
ซอฟต์แวร์

ซอฟต์แวร์ค่อนข้างง่าย Timer0 ได้รับอนุญาตให้ทำงานฟรี และค่าจะถูกตรวจสอบทุกครั้งที่ตรวจพบเซ็นเซอร์สัมผัส ฉันตัดสินใจโดยพลการว่าการแสดงซอมบี้จะปรากฏขึ้นหากจำนวน Timer0 น้อยกว่า 100 เนื่องจาก Timer0 เป็น 8 บิต นั่นหมายความว่าการแสดงผล "มนุษย์" จะเกิดขึ้นสำหรับค่าตั้งแต่ 100-255 นั่นคืออัตราส่วนประมาณ 3:2 และสามารถเปลี่ยนแปลงได้ง่ายในซอฟต์แวร์

เมื่อตรวจพบการสัมผัสและกำหนดประเภทการแสดงผล รูทีนที่เหมาะสมจะถูกเรียกเพื่อส่งข้อมูลไปยังเมทริกซ์ LED ในการดำเนินการนี้ ชุดคำสั่งจะถูกส่งเป็นที่อยู่ 8 บิตและข้อมูล 8 บิต การลงทะเบียนที่อาจระบุได้ระบุไว้ในส่วนหน้าของรายชื่อ สองสามตัวถูกใช้เพื่อเริ่มต้นเมทริกซ์ (เช่น: ความสว่าง) และอีกอันหนึ่งใช้สำหรับเปิด/ปิดเมทริกซ์ทั้งหมด เมทริกซ์สามารถทำงานในโหมดที่ BCD (เลขฐานสองทศนิยม) จะแสดงตัวเลขที่เหมาะสม รูทีน Init จะปิดเพื่อให้เราสามารถควบคุมไฟ LED แต่ละดวงได้ ส่วนอื่น ๆ ของการเริ่มต้นคือการตั้งค่าขีดจำกัดคอลัมน์ เราต้องการทั้งแปดคอลัมน์เพื่อจำกัดการสแกนเป็น 7

มีรีจิสเตอร์แปดตัวที่ใช้เพื่อเปิดใช้งานไฟ LED แต่ละดวงที่ต้องการ – หนึ่งรีจิสเตอร์สำหรับแต่ละคอลัมน์ “1” ในบิตข้อมูลจะเปิดใช้งาน LED ของคอลัมน์นั้น ดังที่กล่าวไว้ก่อนหน้านี้ ซอฟต์แวร์ไม่จำเป็นต้องทำมัลติเพล็กซ์ การแสดง "มนุษย์" เป็นหัวใจที่เต้นแรง หลังจากที่รูปแบบบิตที่เหมาะสมถูกส่งไปยังเมทริกซ์ การตีจะถูกจำลองโดยเพียงแค่เปิด/ปิดเมทริกซ์ (โดยมีความล่าช้าในระหว่างนั้น) ตราบเท่าที่เซ็นเซอร์สัมผัสทำงานอยู่ รูทีน Zombie จะแสดงรูปแบบ "X" คงที่จนกว่าการสัมผัสจะถูกลบออก

แค่นี้แหละสำหรับโพสต์นี้ ตรวจสอบโครงการอิเล็กทรอนิกส์อื่นๆ ของฉันได้ที่: www.boomerrules.wordpress.com

แนะนำ: