![สร้างโปรเจ็กเตอร์ปริมาตรจาก JUNK: 7 ขั้นตอน สร้างโปรเจ็กเตอร์ปริมาตรจาก JUNK: 7 ขั้นตอน](https://img.gwsigeps.com/img/workshop/make-a-volumetric-projector-from-junk-6.jpg)
สารบัญ:
- วัสดุ:
- ขั้นตอนที่ 1: ไปที่เว็บไซต์นี้
- ขั้นตอนที่ 2: เริ่ม Over-Get Eyeglass Lens
- ขั้นตอนที่ 3: การเขียนโปรแกรม
- ขั้นตอนที่ 4: การทำงานครั้งแรกของ …
- ขั้นตอนที่ 5: วิธีการสร้างภาพของคนแรก
- ขั้นตอนที่ 6: ปัดฝุ่นออกสำหรับการสาธิตที่ดีอีกครั้งและข้อมูลเพิ่มเติม
- ขั้นตอนที่ 7: เพียงแค่ต้องให้มันทำงานได้นานพอที่จะสร้างวิดีโอได้
เครื่องฉายภาพแบบปริมาตรคือ … สิ่งที่ R2-D2 ใช้เพื่อแสดง Princess Leia ใน Star Wars
นี่เป็นโครงการเก่าที่ดูเหมือนว่าจะหยุดโดยการปฏิเสธโดย DLP เพื่อให้ชิป DMD
เพื่อเพิ่มความละเอียด 3D อย่างมากมาย โครงการนี้ไม่ได้เปลี่ยนแปลงเลยตั้งแต่
ก่อนที่ HDTV จะมีอยู่จริง ฉันคิดว่าหลังจากผู้คนตระหนักว่าโลกไม่แบนนี่คือสิ่งที่
พวกเขาจะดูเมื่อเทคโนโลยีภาพยนตร์ในยุค 1800 กลายเป็น "เก่า" ในที่สุด
มันง่ายพอที่จะสร้างโดยสิ้นเชิงไม่เกิน 2 คนในระยะเวลาอันสั้น
จำนวนเวลาทั้งหมด
จริง ๆ แล้วมันฉายภาพเคลื่อนไหว 3D บิตแมปในอากาศ
มันสามารถทำได้โดยทุกคนที่เก่งในการเขียนโปรแกรม PIC และมีความโน้มเอียงทางกลไก
มันเสียค่าใช้จ่ายเราไม่มีอะไรและมีศักยภาพเกินงบประมาณวิจัยจอแสดงผล 3 มิติที่สูงที่สุด
มันไม่มีชิ้นส่วนที่ไม่สามารถใช้งานได้ในปี 1980 ทุกชิ้นถูกทิ้งจากกองขยะ
ภาพเคลื่อนไหว 3 มิติส่วนใหญ่หรือทั้งหมดนั้นถูกส่ง 100 ไมล์ผ่านโมเด็มบอด 14400
มันไม่หยุดถ้าโมเด็มวางสาย
มันดูเหมือนกันจากทุกมุม
มันไม่มีกระจกแค่เลนส์เดียวซึ่งไม่มีข้อ จำกัด ขนาดของกระจกโค้ง
มันเป็นขยะขนาดใหญ่ แต่ใช้งานได้
เป็นสาธารณะ (แชร์ cc เหมือนกัน)
และหากมีการปรับปรุงข้อมูลอาจมีการแก้ปัญหาความล้มเหลวในการรับ DLP
รวมไปถึงอนิเมชั่นที่เก็บไว้ในนั้น
นั่นคือแล็ปท็อป 80286 รุ่นเก่าที่ใช้เป็น TTY ทางด้านขวา
วัสดุ:
ขั้นตอนที่ 1: ไปที่เว็บไซต์นี้
หมายเหตุทั้งหมดที่มีในปัจจุบันสำหรับโครงการนี้อยู่ที่นี่และอาจมีการปรับปรุงในอนาคต
holodeck.virand.com
สร้าง Holodeck
holodeck.virand.com
ชิ้นส่วนอิเล็กทรอนิกส์ที่ใช้:
ขั้วต่ออนุกรม (DB9) 9 พิน
MAX232C แปลงแรงดันไฟฟ้าข้อมูลระดับอนุกรม
INTEL 8031 โปรเซสเซอร์ (พร้อมนาฬิกาคริสตัล 11.092 Mhz)
4K EPROM
256 LED ถูกสลักด้วย …
32 จาก 74HC574 เลือกโดย …
2 จาก 74LS154
RAM ขนาด 32K ใช้เป็นบัฟเฟอร์เฟรม 3 มิติ 60 เฟรม
OPTICAL SENSOR สำหรับการซิงค์ Lens Piston ในแนวตั้งผ่านการขัดจังหวะกับโปรเซสเซอร์
5V จ่ายไฟ … เมื่อ LED ทั้งหมดติดสว่างประมาณ 7 แอมป์
กลไกลูกสูบหนักที่ไร้สาระและไม่จำเป็นผลักเลนส์แว่นตาขึ้นและลง
โปรโตคอล: ASCII RS-232C แบบง่าย ๆ ที่มากถึง 19200 baud … เพียงแค่สองคำสั่งควบคุม
โซลูชันที่ไม่ใช้ DLP จะใช้กลไกการฉายภาพทางโทรทัศน์กลไกความละเอียดสูงแบบโบราณแทน LED
กลไกนี้เรียกว่า "Mirror Screw" และทำงานแตกต่างจากกระจกแบบเกลียวในโครงการ 3D เก่าบนไซต์
แต่เป็นทางเลือกราคาถูกและเทคโนโลยีต่ำสำหรับชิป DLP สำหรับโครงการนี้
ขั้นตอนที่ 2: เริ่ม Over-Get Eyeglass Lens
รับเลนส์แว่นตาที่ใหญ่ที่สุดที่คุณสามารถหาได้อาจเป็นเลนส์ที่ยังไม่ถูกตัดให้พอดีกับกรอบ
การแบ่งประเภทอาจจะดีกว่า เลนส์ที่ไม่เจียระไนมีลักษณะเหมือนแว่นขยายยกเว้นมี
ด้านเว้า หรือเพียงแค่เล่นกับแว่นตาของใครบางคนเป็นเวลาหนึ่งนาที
รับไฟ LED และแบตเตอรี่นาฬิกาแล้วสว่างขึ้น ถือ "แว่นตา" มองลง
ถือ LED เหนือแว่นตา เลื่อนแว่นตาขึ้นและลง คุณควรเห็น
ภาพเสมือนที่เคลื่อนย้ายได้ระหว่างแว่นตาและ LED
หากคุณมีวงกลมของ LED และคุณเลื่อนเลนส์แก้วขึ้นและลงคุณจะได้รับหลอด
หากคุณมีหลอด LED สองอันคุณจะได้รับลูกบาศก์
หากคุณเปลี่ยนภาพในขณะที่เลนส์เคลื่อนไหวโดยใช้ PIC ที่มี LED จำนวนมากคุณสามารถสร้างรูปร่างได้
สิ่งสำคัญคือภาพเสมือนจะปรากฏขึ้นในอากาศเหนือเลนส์
และขนาดของเลนส์คือขนาดสูงสุดของภาพ
---
แก้ไข: รูปภาพใหม่ + ความคิดเห็น:
โอ้ … ปรากฎว่าความแวววาวของวูฟเฟอร์ทำให้เกิดภาพลอยหลายภาพที่ไม่คาดคิด
ขั้นตอนที่ 3: การเขียนโปรแกรม
ฉันรู้ว่าฉันข้ามส่วนหนึ่งของการสร้างเครื่องจักร
มันเป็นขยะทำไมคุณจะทำแบบเดียวกันล่ะ?
นี่เป็นคำอธิบายสั้น ๆ ของโปรแกรมในภาษาอังกฤษ pseudocode:
1.RESET
มีข้อมูลใด ๆ ที่เป็นประโยชน์ใน RAM หรือไม่?
หากไม่มีให้คัดลอกแอนิเมชั่นตัวอย่างจาก ROM ไปยัง RAM
2. อ่านรายการเฟรมภาพเคลื่อนไหวและแสดงเฟรมถัดไป
(คัดลอกแรมลงในไฟ LED)
ข้อยกเว้น: เฟรม 00 หมายถึงไปที่เฟรมสุดท้าย FF หมายถึงไปที่เฟรมแรก
3. รอการซิงค์จากนั้นไปที่ขั้นตอนที่ 2
การซิงก์ขัดจังหวะโดย: ข้างต้นไปที่ขั้นตอนที่ 2
ซีรีย์อินพุตขัดจังหวะ:
เพียงเก็บข้อมูลไว้ในบัฟเฟอร์และดำเนินการต่อเหมือนก่อนเว้นแต่จะเป็น RETURN จากนั้นปฏิบัติตาม
รูปแบบข้อมูล: 0 ถึง 9 และ A ถึง F เป็นเลขฐานสิบหก มักจะถูกเก็บไว้ใน RAM
ตัวอักษรตัวพิมพ์เล็กคือคำสั่ง …
r -cold restart … คัดลอกการสาธิตจาก ROM ไปยัง RAM (การทดสอบ)
a - ตามด้วยข้อมูลเลขฐานสิบหกจาก 01 ถึง 3F แสดงลำดับภาพเคลื่อนไหวของเฟรมบวก 00 สำหรับเก็บภาพสุดท้ายและ FF สำหรับลูป
d - ตามด้วยหนึ่งไบต์ฐานสิบหกเฟรมที่จะแสดง
f - ตามด้วยหนึ่งไบต์ฐานสิบหกเฟรมเพื่อเขียนข้อมูล
i - ระบุอุปกรณ์ที่ใช้งานบนพอร์ต RS-232C ตอบกลับด้วย "Q" ซึ่งหมายถึง "CUBE" (ทดสอบ) โดยพลการ
HEX DATA - โดยปกติจะหมายถึงเฟรมใหม่ของบิตแมปสามมิติซึ่งจะสิ้นสุดแต่ละบรรทัดด้วย RETURN
เพราะมันมีระดับ 2D หนึ่งระดับของเฟรมบิตแมปสามมิติ บางคำสั่งเลือกเฟรมตามไบต์ฐานสิบหกต่อไปนี้
ภาพเคลื่อนไหวจำนวนมาก especailly หมุนวัตถุสมมาตรหมุนสามารถเคลื่อนไหวใน 3 เฟรมและหลังจากนั้น
อัปโหลดแล้วคำสั่ง "a 01 02 03 00" เริ่มต้นการเคลื่อนไหว
ความละเอียดของโปรเจ็กเตอร์ Volumetric ในปัจจุบันคือ 16x16x16 = 4096 บิต = ครึ่งกิโลไบท์
ดังนั้นประมาณ 62 เฟรมของอนิเมชั่นภาพ 3D ที่พอดีใน 32K
Frame zero แบ่งออกเป็นหน่วยเก็บข้อมูลภาพเคลื่อนไหวและบัฟเฟอร์ข้อมูลอนุกรมและคำสั่ง
จอแสดงผล Frame Zero จะถูกตีความว่าเป็น "Pause Animation, แสดงภาพปัจจุบันจนกว่าจะมีประกาศ"
ทุกอย่างง่ายเหมือนขั้นตอน 1,2,3 และซอฟต์แวร์ใน ROM น้อยกว่า 1K และพื้นที่ ROM ที่เหลืออยู่มี
ภาพตัวอย่างเพื่อให้สิ่งต่าง ๆ ควรทำงานได้โดยไม่ต้องเชื่อมต่อกับคอมพิวเตอร์
อาจมีการสตรีม "รายการทีวี 3D" ที่ยาวเนื่องจากสามารถดาวน์โหลดสิ่งหนึ่งและเล่นรายการอื่นได้ในเวลาเดียวกัน
ภาพเคลื่อนไหวทั้งหมดสำหรับเครื่องวัดปริมาตรนี้ถูกสร้างขึ้นอย่างรวดเร็วโดยใช้โปรแกรมที่เขียนในภาษาเบสิกในเวลาไม่ถึงหนึ่งชั่วโมง
มีคำถามเพิ่มเติมไหม?
ขั้นตอนที่ 4: การทำงานครั้งแรกของ …
อันนี้ทำมานานแล้วด้วย MC68705P3S ซึ่งมีความคล้ายคลึงกับ PIC16C57 ซึ่งมีประมาณ 1K
การใช้การแสดงดอทเมทริกซ์เช่นนี้สำหรับ 3D ไม่น่าประทับใจมาก
อย่างน้อยตอนนั้นไฟ LED ก็ไม่สว่างภาพสลัวมากและมองเห็นได้เฉพาะในห้องมืด
ชิปถูกโปรแกรมด้วยรูปแบบที่ชาญฉลาดซึ่งทำให้ชั้นของลูกบาศก์หมุน
ด้วย 3 ภาพระยะ (ก้อนหมุนโดยการหมุนเวียนผ่าน 3 ภาพ)
รูปแบบถูกเลือกเพื่อให้การแสดงดอทเมทริกซ์จะไม่ถูกสแกน
แต่ยังคงอยู่ในขณะที่โรเตอร์ผ่านภาพคิวบ์
เครื่องฉายปริมาตร Cube ทั้งหมดใช้ไฟ LED ที่ไม่ได้สแกนเพื่อให้ความสว่างสูงสุด
โรเตอร์? นี่เป็นเพียงชิปและแบตเตอรี่และการแสดงดอทเมทริกซ์บนพัดลมคอมพิวเตอร์
รูปภาพ 3 บิตแมปแต่ละภาพประกอบด้วยหลายชั้นของการออกแบบอย่างระมัดระวัง 7x10 บิตแมป (เพียง 17 บิตไม่ใช่ 70 บิต)
แน่นอนว่าพวกเขาสามารถใส่ชิป PIC ตัวเก่าได้
มีลำดับภาพเคลื่อนไหว ภาพลูกบาศก์หมุนตามเข็มนาฬิกา
จากนั้นก็หมุนทวนเข็มนาฬิกาแล้วก็หยุด การเรียงลำดับของ 3 ภาพ
ในอนิเมชั่นเป็นอะไรที่คล้าย ….
1231231231231231231212 (เลี้ยวเดียว)
3213213213213213213213213213 (หันไปทางอื่น)
333333333333333333333333333 (หยุดหมุนจากนั้นทำซ้ำทั้งหมดตามลำดับ)
(มีภาพเคลื่อนไหว "nut in cube" บนเว็บไซต์วิดีโอ WMV ที่เล่นคล้ายกันและมีเพียง 3 เฟรม)
ในขณะที่พัดลมหันไปวงจรก็ถูกยกขึ้นโดยแม่เหล็กโลกที่หายากผ่านหัวเทปเพื่อทิ้งเฟรมเข้าไปในไฟ LED
อุปกรณ์นี้ทำง่ายมาก แต่ไม่น่าประทับใจมากและถ้าคุณลองแตะภาพมันจะเจ็บ
ขั้นตอนที่ 5: วิธีการสร้างภาพของคนแรก
แผนภาพที่แสดงเป็นแผนคร่าวๆว่า "ภาพแรก" สร้างภาพสามภาพได้อย่างไร
นั่นทำให้ภาพของลูกบาศก์หมุน รูปแบบขนาดใหญ่ด้านบนแสดงถึง
การปรากฏตัวของด้านบนของภาพเสมือนซึ่งไม่ได้เข้ารหัสจริง
ด้านล่างของแต่ละภาพคือชุดของรูปแบบไฟ LED ดอทเมทริกซ์ที่แสดงขึ้นอย่างรวดเร็ว
ตามลำดับขณะที่โรเตอร์หมุนเพื่อให้ลูกบาศก์ปรากฏในหนึ่งในสามเฟรม
เคลื่อนไหวมันหมุน แต่ละรูปแบบขนาดเล็กแสดงถึงส่วนของ
เฟรม 3 มิติเป็นไฟ LED ตามที่ใบพัดหมุนผ่านภาพ
สิ่งเหล่านี้ถูกสร้างอย่างระมัดระวังเพราะอุปกรณ์นี้มีข้อ จำกัด
เพื่อแสดงรูปแบบที่อาจปรากฏบนจอแสดงผล LED โดยไม่ต้องมัลติเพล็กซ์
แต่ละรูปแบบเป็นรูปแบบหนึ่งที่อาจเกิดจากการใช้พลังงานอย่างต่อเนื่อง
จอแสดงผล LED จำเป็นเพราะหน้าจอไม่สว่างมาก
และจะได้รับหรี่มากขึ้นด้วยมัลติเพล็ก
เนื่องจากรูปสี่เหลี่ยมไม่ใช่รูปแบบที่สามารถแสดงด้วยวิธีนี้
วิธีที่ชัดเจนที่สุดในการแสดงลูกบาศก์ 3D ไม่ใช่หนึ่งในสามเฟรม
ดังนั้น "อันแรก" (อุปกรณ์ 3D ที่สร้างขึ้นบนแฟน) จึงมี จำกัด และดั้งเดิมและไม่มีประโยชน์มากกว่า
แสดงว่าลูกบาศก์หมุน 3 มิติสามารถแสดงได้และผู้คนจะพูดว่า "ว้าว"
ขั้นตอนที่ 6: ปัดฝุ่นออกสำหรับการสาธิตที่ดีอีกครั้งและข้อมูลเพิ่มเติม
ตกลงพีซีของฉันจะสับสนเล็กน้อยเมื่อเร็ว ๆ นี้และฉันสามารถสร้างภาพได้มากขึ้น
นี่คือกระดานหลักในเครื่องขยะขนาดใหญ่
มันเป็นเรื่องเหลวไหลมากหลังจากถูกดึงออกมาจากที่เก็บอาจเป็นสายที่หลวมมาก
เมื่อสิ่งนี้วิ่งมันสั่นอย่างรุนแรงเพราะมอเตอร์ที่น่ารังเกียจขนาดใหญ่เหล่านั้น
ที่ไหนสักแห่งในนั้นคือภาพเคลื่อนไหว 3 มิติที่ยอดเยี่ยมของเครื่องบินที่บินอยู่บนภูเขา
ซึ่งต้องเป็นประเภทแม่แบบเนื่องจาก Perspecta (tm) ได้ทำการสาธิตที่คล้ายกันมาก
ในข่าวไม่นานหลังจากที่ฉันทำและก่อนที่เราและพวกเขาจะรู้ซึ่งกันและกัน
ฉันเสนอเทคโนโลยีการฉายให้พวกเขา แต่ไม่เห็นแม้แต่ขยะของเรา
พวกเขาเพิกเฉยและเพิ่งส่งสแปมถึงเรา
เราและเพื่อนของเราเพิ่งยิ้มและพูดว่า "นั่นเป็นวิธีที่คุณทำเช่นนั้น!",
เช่นเดียวกับการแสดงทรงกลมของเรา (อาจจะเป็นคำสั่งในอนาคต) อย่างชัดเจน
จำเป็นต้องแสดงภาพของโลก ตัวอย่างการบิน
ซึ่งฉันหวังว่าจะแสดงวิดีโอที่นี่เร็ว ๆ นี้มีความแตกต่างอย่างชัดเจนกว่า
รูปทรงและสิ่งของอื่น ๆ ที่หมุนรอบตัวทั้งหมด มีเรนเดอร์ 2 มิติของ "flying demo"
รูปภาพบางแห่งในไซต์ "holodeck" ที่เชื่อมโยงในขั้นตอนที่ 2
ผ่านสายริบบิ้นนั้นไฟ LED ทั้ง 256 ดวงเหนือเลนส์แว่นตาวิเศษคือ
เชื่อมต่อกับ RAM ของตัวเองและด้วยวิธีนี้จะคล้ายกับ DLP / DMD
ในแง่ที่ว่าเทคโนโลยีนั้นมี RAM สักหน่อยที่ควบคุมกระจกทุกบาน
อย่างต่อเนื่องและขนาน ไม่มีกระจกส่องสว่างที่นี่เพียง LED ที่ปลายอีกด้านของสายเคเบิล
สองบอร์ดที่เล็กมาก ๆ ที่ไม่ได้แสดงมีชิป (# 1) MAX232 และ (# 2) เซ็นเซอร์ตำแหน่งเลนส์
มีคำถามหรือความคิดเห็นเกี่ยวกับวงจรนี้หรือไม่?
Psst! PIC ใด ๆ ที่ทำงานเร็วกว่าที่บอร์ดนี้ทำ
การแก้ไขข้อผิดพลาด: ชิปตัวเลือกที่อยู่คือ 74154 (ไม่ใช่ 74164)
ขั้นตอนที่ 7: เพียงแค่ต้องให้มันทำงานได้นานพอที่จะสร้างวิดีโอได้
บางทีฉันอาจจะต้องกำจัดมอเตอร์และวางวูฟเฟอร์ที่นั่น
และตอบคำถามหรือเพิ่มรายละเอียดที่เป็นประโยชน์เพิ่มเติมเกี่ยวกับวิธีการทำงาน
ขออภัยขั้นตอนนี้ยังไม่พร้อมตอนนี้ฉันยังเป็นคนชักกระตุกในการทำเช่นนี้หรือไม่? …
นอกจากนี้หากใครสนใจภาพ "ดูภาพตัวอย่าง" นี้จะเห็นเป็นครั้งแรกบนโปรเจคเตอร์
หลังจากการสังเคราะห์ข้อมูลและแสดงผลหรือแปลภายหลังจากข้อมูลของโปรเจ็กเตอร์