สารบัญ:

Occluding Dichoptic Modifier ของ Stereoscopic Transmission [ATmega328P+HEF4053B VGA Superimposer]: 7 ขั้นตอน
Occluding Dichoptic Modifier ของ Stereoscopic Transmission [ATmega328P+HEF4053B VGA Superimposer]: 7 ขั้นตอน

วีดีโอ: Occluding Dichoptic Modifier ของ Stereoscopic Transmission [ATmega328P+HEF4053B VGA Superimposer]: 7 ขั้นตอน

วีดีโอ: Occluding Dichoptic Modifier ของ Stereoscopic Transmission [ATmega328P+HEF4053B VGA Superimposer]: 7 ขั้นตอน
วีดีโอ: Нейронаука за 2 минуты: синаптическая передача 2024, กรกฎาคม
Anonim
Occluding Dichoptic Modifier ของการส่งสัญญาณ Stereoscopic [ATmega328P+HEF4053B VGA Superimposer]
Occluding Dichoptic Modifier ของการส่งสัญญาณ Stereoscopic [ATmega328P+HEF4053B VGA Superimposer]
Occluding Dichoptic Modifier ของการส่งสัญญาณ Stereoscopic [ATmega328P+HEF4053B VGA Superimposer]
Occluding Dichoptic Modifier ของการส่งสัญญาณ Stereoscopic [ATmega328P+HEF4053B VGA Superimposer]

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

ขั้นตอนที่ 1: ข้อจำกัดความรับผิดชอบ

การใช้อุปกรณ์ดังกล่าวอาจทำให้เกิดอาการชักจากลมบ้าหมูหรือผลกระทบอื่นๆ ต่อผู้ใช้อุปกรณ์ส่วนน้อย การสร้างอุปกรณ์ดังกล่าวต้องใช้เครื่องมือที่มีอันตรายปานกลางและอาจก่อให้เกิดอันตรายหรือความเสียหายต่อทรัพย์สินได้ คุณสร้างและใช้อุปกรณ์ที่อธิบายไว้โดยยอมรับความเสี่ยงเอง

ขั้นตอนที่ 2: ชิ้นส่วนและเครื่องมือ

ชิ้นส่วนและวัสดุ:

  • ไมโครคอนโทรลเลอร์ ATmega328P-PU
  • สวิตช์อนาล็อก HEF4053BP
  • 7805 ในชุดควบคุมแรงดันไฟฟ้าของแพ็คเกจ TO-220
  • 3x 2N2222 ทรานซิสเตอร์
  • ทรานซิสเตอร์ BS170
  • ไฟ LED สีฟ้า 3 มม. แบบกระจาย 2 ดวง
  • LED 3mm สีแดงกระจาย
  • ไฟ LED 3 มม. สีเหลืองกระจาย 2x
  • LED สีเขียว 3mm กระจาย
  • 20 MHz HC49/US คริสตัล
  • ขั้วต่อ AVR ISP (IDC) 10 พิน
  • ขั้วต่อสกรู PCB 2 ขาขั้วต่อ 5.08 มม.
  • ปุ่มสวิตช์สัมผัส 8x 6x6 มม
  • ทริมพอต 3x 1k ohm 6mm
  • ตัวต้านทาน 3x75 โอห์ม 1/4W
  • ตัวต้านทาน 3x 1k ohm 1/4W
  • 3x 2k7 โอห์ม 1/4W ตัวต้านทาน
  • ตัวต้านทาน 3k3 โอห์ม 1/4W
  • ตัวต้านทาน 11x 10k ohm 1/4W
  • ตัวเก็บประจุเซรามิก 2x 20pF
  • ตัวเก็บประจุเซรามิก 3x 100nF
  • ตัวเก็บประจุอิเล็กโทรไลต์ 2x 100uF
  • perfboard (70 มม. x 90 มม. ขั้นต่ำ 24 x 31 รูอาร์เรย์)
  • ลวดไม่กี่ชิ้น
  • เทปฉนวน
  • กระดาษ
  • สาย VGA ตัวผู้เป็น VGA ตัวผู้
  • แหล่งจ่ายไฟ DC 12V – 15V

เครื่องมือ:

  • เครื่องตัดแนวทแยง
  • คีม
  • ไขควงปากแบน
  • ไขควงปากแฉกขนาดเล็ก
  • มีดยูทิลิตี้
  • มัลติมิเตอร์
  • สถานีบัดกรี
  • ประสาน
  • โปรแกรมเมอร์ AVR (โปรแกรมเมอร์แบบสแตนด์อโลนเช่น USBasp หรือคุณสามารถใช้ ArduinoISP)

ขั้นตอนที่ 3: การบัดกรีส่วนประกอบอิเล็กทรอนิกส์

การบัดกรีส่วนประกอบอิเล็กทรอนิกส์
การบัดกรีส่วนประกอบอิเล็กทรอนิกส์
การบัดกรีส่วนประกอบอิเล็กทรอนิกส์
การบัดกรีส่วนประกอบอิเล็กทรอนิกส์
การบัดกรีส่วนประกอบอิเล็กทรอนิกส์
การบัดกรีส่วนประกอบอิเล็กทรอนิกส์
การบัดกรีส่วนประกอบอิเล็กทรอนิกส์
การบัดกรีส่วนประกอบอิเล็กทรอนิกส์

หากคุณต้องการตั้งโปรแกรม ATmega ก่อนทำการบัดกรี ให้ดำเนินการ (จากนั้นคุณสามารถปล่อย CON1 ออกจาก PCB ได้) ประสานชิ้นส่วนอิเล็กทรอนิกส์ทั้งหมดเข้ากับแผ่นสำเร็จรูป ใช้สายทองแดง (เส้นขนาดเส้นผ่านศูนย์กลาง 0.5 มม. จากสาย UTP ควรสมบูรณ์) เพื่อทำการเชื่อมต่อทางไฟฟ้าระหว่างส่วนประกอบต่างๆ ตรวจสอบให้แน่ใจว่าสายไฟไม่ทำให้เกิดไฟฟ้าลัดวงจร หากมีความเสี่ยงที่จะเกิดไฟฟ้าลัดวงจร (เนื่องจากเป็นสาเหตุของหนึ่งในสายนำของ R21 ให้ต่อสายที่ด้านหน้าระหว่าง SW8 และ C7 และลวดที่อยู่ด้านหน้าติดกับ Y1) ให้ปิดลวดด้วยเทปฉนวนหรือความร้อน - ท่อหด.

หากคุณต้องการ คุณสามารถใช้ PCB แทนการใช้ prefboard ฉันได้อธิบายขั้นตอนการทำ PCB โดยใช้วิธีการถ่ายโอนผงหมึกในโครงการก่อนหน้าของฉัน บอร์ดในไฟล์.svg ควรมี 64.77 มม. x 83.82 มม. ไฟล์แนบที่มีเลย์เอาต์ของแทร็กน่าจะช่วยได้มาก แม้ว่าคุณจะทำการเชื่อมต่อบนบอร์ดสำเร็จรูปด้วยสายทองแดงก็ตาม

ขั้นตอนที่ 4: การต่อสาย VGA

การต่อสาย VGA
การต่อสาย VGA
การต่อสาย VGA
การต่อสาย VGA
การต่อสาย VGA
การต่อสาย VGA

ตัดสาย VGA ของคุณครึ่งหนึ่งแล้วดึงสายไฟทั้งหมดออกจากฉนวน ทำเครื่องหมายส่วนหนึ่งของสายเคเบิลที่ตัดเป็น IN และอีกส่วนเป็น OUT บัดกรีสายไฟเข้ากับแผ่นอิเล็กโทรดที่เหมาะสมบน PCB ในการระบุว่าสายใดเชื่อมต่อกับพินใดในตัวเชื่อมต่อ ให้ใช้เครื่องทดสอบความต่อเนื่องในมัลติมิเตอร์ของคุณ จากนั้นปรึกษาพิน VGA เพื่อระบุจุดประสงค์ของสายแต่ละเส้น คุณเพียงแค่ต้องเชื่อมต่อสายไฟที่ส่งวิดีโอสีแดง สีเขียว และสีน้ำเงิน และพัลส์การซิงค์แนวนอนและแนวตั้ง หากมีสายอื่นๆ ในสายเคเบิลของคุณ ให้บัดกรีกลับเข้าด้วยกัน หรือดีกว่าให้บัดกรีกลับผ่าน prefboard อย่างที่ฉันทำกับสายสีขาวที่ต่อพิน 11 ในตัวเชื่อมต่อ VGA (ตอนนี้การเชื่อมต่ออยู่ระหว่าง R7 ถึง R8) การ์ดแสดงผลตรวจพบว่าเสียบจอแสดงผล VGA โดยการตรวจจับความต้านทานในช่วง 50 โอห์มถึง 150 โอห์มระหว่างพินวิดีโอ R, G และ B โดยประมาณและกราวด์ (ตัวต้านทานการสิ้นสุด 75 โอห์มในจอแสดงผล AODMoST จะเพิ่มความต้านทานนั้น) ดังนั้น I2C พินไม่จำเป็นจริงๆ และสาย VGA สามารถทำงานได้โดยไม่ต้องเชื่อมต่อ (เช่นในสายเคเบิลที่ฉันใช้ แน่นอนว่าการขาด I2C หมายความว่าจอภาพจะไม่สามารถส่งข้อมูลเกี่ยวกับความละเอียดที่รองรับและอาจเป็นปัญหาได้) หากมีความเสี่ยงที่จะเกิดไฟฟ้าช็อต ให้ใช้เทปฉนวนหรือท่อหดด้วยความร้อน ต่อสายป้องกันในสองส่วนของสายไฟเข้าด้วยกัน และใช้เทปฉนวนเพื่อยึดสายเคเบิล VGA ทั้งสองส่วนเข้าด้วยกัน และยึดสายเคเบิลเข้ากับ PCB อย่างแน่นหนา ใส่กระดาษสองสามชั้นที่ด้านหลังของ PCB แล้วติดด้วยเทปฉนวน

ขั้นตอนที่ 5: ตั้งโปรแกรมไมโครคอนโทรลเลอร์ ATmega

การเขียนโปรแกรมไมโครคอนโทรลเลอร์ ATmega
การเขียนโปรแกรมไมโครคอนโทรลเลอร์ ATmega

เสียบโปรแกรมเมอร์ AVR ของคุณเข้ากับ CON1 ด้วยสายแพหรือสายจัมเปอร์ตัวเมียกับตัวเมีย ฉันใช้ USBasp และ AVRDUDE ดังนั้นการอัปโหลดไฟล์.hex ทำให้ฉันต้องใช้คำสั่งต่อไปนี้:

avrdude -c usbasp -p m328p -B 8 -U แฟลช:w:aodmost.hex

ฉันยังต้องเปลี่ยนฟิวส์บิตเป็น E:FF, H:D9, L:F7 เพื่อให้ไมโครคอนโทรลเลอร์ใช้คริสตัล 20MHz ฉันได้เก็บค่าดีฟอลต์แบบขยายและค่าไบต์ฟิวส์สูงและเปลี่ยนค่าไบต์ฟิวส์ต่ำจาก L:62 เป็น L:F7 โดยใช้คำสั่งต่อไปนี้:

avrdude -c usbasp -p m328p -B 8 -U lfuse:w:0xF7:m

หากคุณได้รับข้อผิดพลาดระหว่างการอัปโหลดไฟล์.hex คุณอาจต้องเปลี่ยนค่า -B (bitclock) จาก 8 เป็นค่าที่สูงกว่า เช่น 16

ขั้นตอนที่ 6: การใช้ AODMoST

การใช้ AODMoST
การใช้ AODMoST
การใช้ AODMoST
การใช้ AODMoST
การใช้ AODMoST
การใช้ AODMoST

เชื่อมต่อแหล่งจ่ายไฟ DC 12V – 15V เข้ากับขั้วสกรู (- ใกล้กับขอบด้านบนของ PCB) เสียบขั้วต่อ VGA จากสาย VGA ครึ่งหนึ่งเข้ากับการ์ดวิดีโอ ขั้วต่อจาก OUT half เป็นจอแสดงผล 3 มิติ อุปกรณ์มี 4 โหมด โดย 3 โหมดจะวาดสี่เหลี่ยมคู่บนวิดีโอ มี 6 หน้าของสเตทติ้ง ตัวเลขที่มีตัวเลข 0 และ 3 ประกอบด้วยการตั้งค่าความถี่/ช่วงเวลา อัตราการบดเคี้ยว การเปิด/ปิดสี่เหลี่ยมผืนผ้า และอื่นๆ หน้า 1 และ 4 มีการตั้งค่าตำแหน่งในขณะที่หน้า 2 และ 5 มีการตั้งค่าขนาด เมื่อกดปุ่ม MODE + PAGE คุณจะคืนค่าการตั้งค่าเริ่มต้นในทุกโหมด คุณสามารถอ่านเพิ่มเติมเกี่ยวกับการกำหนดค่า AODMoST ได้ใน user_manual.pdf

แหล่งที่มาที่เป็นไปได้ของเนื้อหา 3 มิติในรูปแบบบน - ล่างหรือเคียงข้างกันคือเกมคอมพิวเตอร์ หากคุณใช้การ์ดแสดงผล GeForce เกมจำนวนมากจากรายการนี้สามารถเล่นได้ด้วย CustomShader3DVision2SBS ใน 3DMigoto ที่เปิดใช้งาน คุณสามารถเรียนรู้วิธีเปิดใช้งานและวิธีแก้ปัญหาการย้อมสีบนหน้าจอโดย 3D Vision Discover anaglyph 3D mode ที่นี่ (หมายเหตุ: ฉันพบว่าคุณต้องตั้งค่า "LeftAnaglyphFilter" เป็น "&HFF00FF00" และ "RightAnaglyphFilter" เป็น “"&HFFFF0000"” [การผสมสีแบบอื่นๆ ก็ควรใช้เช่นกัน เพียงทำให้สีส่วนประกอบหายไปหนึ่งสี] เพื่อปิดใช้งานการแต้มสีในโหมด Discover anaglyph) ผู้ใช้ Radeon และ GeForce ควรสามารถใช้ซอฟต์แวร์ TriDef 3D ได้ มีเกมอย่าง GZ3Doom (ViveDoom) ที่รองรับ 3D ดั้งเดิมและสามารถเล่นได้โดยไม่ต้องใช้ซอฟต์แวร์พิเศษใดๆ

แก้ไข: ฉันมีปัญหากับการปิดใช้งาน 3D Vision Discover tint ในไดรเวอร์ NVIDIA เวอร์ชันใหม่กว่า นั่นนำฉันไปสู่การค้นพบ SuperDepth3D ซึ่งเป็นตัวสร้างเฉดสีหลังกระบวนการ ReShade ซอฟต์แวร์นี้เข้ากันได้กับเกมอย่างน้อย 20+ เกม และทำงานร่วมกับ GPU จากผู้ผลิตหลายราย

แก้ไข 2: ฉันพบวิธีแก้ไขปัญหาที่ไม่สามารถปิดใช้งาน 3D Vision Discover tint ในไดรเวอร์ NVIDIA รุ่นใหม่กว่าได้ คุณต้องเปลี่ยน “StereoAnaglyphType” เป็น “0” เช่นเคย ใน “HKLM\SOFTWARE\WOW6432Node\NVIDIA Corporation\Global\Stereo3D\” แล้วล็อกคีย์รีจิสทรี ในการเปิด Registry Editor ให้กด WIN+R จากนั้นพิมพ์ regedit แล้วกด ENTER การล็อกคีย์จะทำให้คุณต้องคลิกขวา เลือก Permissions, Advanced, Disable inheritance ยืนยันการปิดใช้งานการสืบทอด กลับไปที่หน้าต่าง Permissions และสุดท้าย ทำเครื่องหมายที่ช่อง Deny สำหรับผู้ใช้และกลุ่มทั้งหมดที่สามารถทำเครื่องหมายและยืนยันด้วย a คลิกที่ปุ่มตกลง โปรดทราบว่าอาจจำเป็นต้องเปลี่ยนค่าของ "LeftAnaglyphFilter" "RightAnaglyphFilter" ด้วยเช่นกัน หากคุณต้องการเปลี่ยนแปลงใดๆ คุณต้องปลดล็อกรีจิสตรีคีย์โดยยกเลิกการเลือกช่องปฏิเสธเหล่านั้นหรือเปิดใช้การสืบทอด

หากคุณประสบปัญหาในการเปิดใช้งาน 3D Vision ตั้งแต่แรก เนื่องจากวิซาร์ดการตั้งค่าในแผงควบคุม NVIDIA ขัดข้อง คุณต้องเปลี่ยน “StereoVisionConfirmed” เป็น “1” ใน “HKLM\SOFTWARE\WOW6432Node\NVIDIA Corporation\Global\Stereo3D\” สิ่งนี้จะเปิดใช้งาน 3D Vision ในโหมด Discover (ซึ่งจะช่วยให้คุณใช้ mods/fixes แบบ 3DMigoto ที่อนุญาตให้คุณส่งออก SBS/TB 3D ไปยังจอแสดงผลใด ๆ หลังจากยกเลิกการแสดงข้อคิดเห็น “run = CustomShader3DVision2SBS” ในการกำหนดค่า mod/fix ของ “d3dx.ini” ไฟล์).

โปรดทราบว่าในตำแหน่งของคีย์ Windows รุ่น 32 บิตคือ “HKLM\SOFTWARE\NVIDIA Corporation\Global\Stereo3D\” นอกจากนี้ HKLM อาจถูกแทนที่ด้วย HKEY_LOCAL_MACHINE

แก้ไข 3: NVIDIA กำลังจะลบการสนับสนุนสำหรับ 3D Vision ในเดือนเมษายน 2019 (พวกเขากำลังพูดถึง Release 418 ว่าเป็นไดรเวอร์ใหม่ล่าสุดที่เป็นไปได้ที่รองรับ แต่ 3D Vision ยังคงรองรับอย่างน้อย 425.31)

ขั้นตอนที่ 7: ภาพรวมการออกแบบ

ภาพรวมการออกแบบ
ภาพรวมการออกแบบ

สัญญาณ VGA มี 3 สี: แดง เขียว และน้ำเงิน แต่ละสายจะถูกส่งผ่านสายแยก โดยมีความเข้มของสีส่วนประกอบเป็นระดับแรงดันไฟฟ้าที่สามารถเปลี่ยนแปลงได้ระหว่าง 0V ถึง 0.7V AODMoST วาดสี่เหลี่ยม (โอเวอร์เลย์) โดยการแทนที่สัญญาณสีที่สร้างโดยการ์ดวิดีโอด้วยระดับแรงดันไฟฟ้าที่มาจากทรานซิสเตอร์ Q1-Q3 ในการกำหนดค่าตัวติดตามอีซีแอล ซึ่งจะแปลงอิมพีแดนซ์ของแรงดันไฟฟ้าบนตัวต้านทาน 2k7 – ตัวแบ่งแรงดันทริมพอต 1k การสลับสัญญาณทำได้โดย HEF4053B analog multiplexer/demultiplexer ที่ขับเคลื่อนจากแหล่งจ่ายไฟ DC 12V – 15V ความต้านทานทั่วทั้ง HEF4053B เชื่อมโยงกับแรงดันไฟฟ้าของแหล่งจ่าย (แรงดันไฟฟ้าที่สูงขึ้น – ความต้านทานต่ำ) หากใช้แรงดันไฟฟ้าที่ต่ำกว่า การ์ดแสดงผลจะไม่สามารถตรวจจับการแสดงผลได้

ส่วนที่เหลือของ AODMoST ใช้พลังงานจาก 5V DC โดยตัวควบคุมแรงดันไฟฟ้า 7805 ระดับสัญญาณจากไมโครคอนโทรลเลอร์ที่ควบคุมการสลับของ HEF4053B จะถูกแปลงโดย BS170 MOSFET ที่รวดเร็ว

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

ด้วยเหตุผลบางอย่างไมโครคอนโทรลเลอร์ ATmega328P-PU ที่ฉันมี (มีตัวเลขต่างกันด้านบน) ทั้งหมดมีปัญหากับตัวต้านทานแบบดึงขึ้นภายใน ดังนั้นฉันจึงใช้การดึง 10k ภายนอก เหตุผลเชิงตรรกะเพียงอย่างเดียวสำหรับพฤติกรรมนี้ที่ฉันพบคือกฎพื้นฐานของธรรมชาติกำลังเปลี่ยนแปลงไปตามการขยายตัวของจักรวาลและทำให้วงจรรวมทำงานผิดปกติ (นั่นอาจเป็นเรื่องตลก)

อุปกรณ์กินไฟประมาณ 50 mA