Innehållsförteckning:

Alternativt tillslutande dikoptisk modifierare för stereoskopisk överföring [ATmega328P+HEF4053B VGA Superimposer]: 7 steg
Alternativt tillslutande dikoptisk modifierare för stereoskopisk överföring [ATmega328P+HEF4053B VGA Superimposer]: 7 steg

Video: Alternativt tillslutande dikoptisk modifierare för stereoskopisk överföring [ATmega328P+HEF4053B VGA Superimposer]: 7 steg

Video: Alternativt tillslutande dikoptisk modifierare för stereoskopisk överföring [ATmega328P+HEF4053B VGA Superimposer]: 7 steg
Video: P.J x ADEL - INGA ALTERNATIV (OFFICIAL VIDEO) 2024, Juli
Anonim
Alternativt tillslutande dikoptisk modifierare av stereoskopisk överföring [ATmega328P+HEF4053B VGA Superimposer]
Alternativt tillslutande dikoptisk modifierare av stereoskopisk överföring [ATmega328P+HEF4053B VGA Superimposer]
Alternativt tillslutande dikoptisk modifierare av stereoskopisk överföring [ATmega328P+HEF4053B VGA Superimposer]
Alternativt tillslutande dikoptisk modifierare av stereoskopisk överföring [ATmega328P+HEF4053B VGA Superimposer]

Efter mina experiment med flytande kristallglas som används för att stänga ögonen (här och där) bestämde jag mig för att bygga något som är lite mer sofistikerat och som inte tvingar användaren att bära PCB på pannan (människor kan ibland bete sig i en fientligt sätt när man ser andra med elektronik sticka ut ur sina kroppar, cyborgs har det inte lätt nu för tiden). Enhet jag konstruerade ändrar VGA -signalsändning till 3D -display (video måste vara i formatet Top - Bottom eller Side By Side), vilket förbättrar videosignalen med dikoptisk stimulering. Ett enormt bibliotek med filmer och spel som kan ses och spelas i kompatibla 3D -format bör göra alla AODMoST -användare glada och engagerade. Det finns studier som tyder på att behandlingsformer som är möjliga med AODMoST är fördelaktiga för personer med amblyopi.

Steg 1: Ansvarsfriskrivning

Användning av en sådan enhet kan orsaka epileptiska anfall eller andra negativa effekter hos en liten del av enhetens användare. Konstruktion av en sådan enhet kräver användning av måttligt farliga verktyg och kan orsaka skada eller skada på egendom. Du bygger och använder den beskrivna enheten på egen risk

Steg 2: Delar och verktyg

Delar och material:

  • ATmega328P-PU mikrokontroller
  • HEF4053BP analog omkopplare
  • 7805 i TO-220 förpackningsspänningsregulator
  • 3x 2N2222 transistorer
  • BS170 transistor
  • 2x diffusa blå 3 mm lysdioder
  • diffus röd 3 mm LED
  • 2x diffusa gula 3 mm lysdioder
  • diffus grön 3 mm LED
  • 20 MHz HC49/US -kristall
  • 10 -stifts AVR ISP (IDC) hankontakt
  • 2-polig kretskortsplint 5,08 mm kontakt
  • 8x 6x6mm taktila knappar
  • 3x 1k ohm trimpot 6mm
  • 3x 75 ohm 1/4W motstånd
  • 3x 1k ohm 1/4W motstånd
  • 3x 2k7 ohm 1/4W motstånd
  • 3k3 ohm 1/4W motstånd
  • 11x 10k ohm 1/4W motstånd
  • 2x 20pF keramiska kondensatorer
  • 3x 100nF keramiska kondensatorer
  • 2x 100uF elektrolytkondensatorer
  • perfboard (70 mm x 90 mm, min 24 x 31 håls array)
  • några bitar av tråd
  • isoleringstejp
  • papper
  • VGA hane till VGA han kabel
  • 12V - 15V DC strömförsörjning

Verktyg:

  • diagonal skärare
  • tång
  • platt skruvmejsel
  • liten Phillips skruvmejsel
  • verktygskniv
  • multimeter
  • lödstation
  • löda
  • AVR -programmerare (fristående programmerare som USBasp eller du kan använda ArduinoISP)

Steg 3: Lödning av elektroniska komponenter

Lödning av elektroniska komponenter
Lödning av elektroniska komponenter
Lödning av elektroniska komponenter
Lödning av elektroniska komponenter
Lödning av elektroniska komponenter
Lödning av elektroniska komponenter
Lödning av elektroniska komponenter
Lödning av elektroniska komponenter

Om du vill programmera ATmega före lödning, gör det (du kan sedan lämna CON1 ur kretskortet). Löd alla elektroniska komponenter på prefboard. Använd koppartrådar (0,5 mm diameter från UTP -kabeln bör vara perfekta) för att göra elektriska anslutningar mellan komponenter. Se till att ledningar inte orsakar några kortslutningar. Om det finns risk för kortslutning (eftersom det är orsaken till en av ledningarna på R21, kabel på framsidan mellan SW8 och C7 och kabel som sitter på framsidan bredvid Y1), täck tråd med isoleringstejp eller värm -krympslang.

Om du vill kan du var och en ett PCB, istället för att använda prefboard. Jag beskrev processer för att göra PCB med toneröverföringsmetod i mitt tidigare projekt. Board i.svg -filer ska ha 64,77 mm x 83,82 mm. Bifogade filer som innehåller spårlayouter bör vara till stor hjälp även om du gör anslutningar på prefboard med koppartrådar.

Steg 4: Anslutning av VGA -kabel

Anslutning av VGA -kabel
Anslutning av VGA -kabel
Anslutning av VGA -kabel
Anslutning av VGA -kabel
Anslutning av VGA -kabel
Anslutning av VGA -kabel

Skär din VGA -kabel på mitten och ta bort alla ledningar från isolering. Markera en del av kabeln som IN och den andra som OUT. Lödtrådar till lämpliga kuddar på kretskortet. För att identifiera vilken kabel som är ansluten till vilken stift i kontakten, använd kontinuitetstestare i din multimeter och konsultera sedan VGA -stiftet för att identifiera varje ledningsändamål. Du behöver bara ansluta kablar som överför rött, grönt och blått video och horisontella och vertikala synkpulser. Om det finns andra ledningar i din kabel, löd dem bara ihop igen, eller ännu bättre löd dem tillbaka genom prefboard, som jag gjorde med vit tråd som ansluter stift 11 i VGA -kontakterna (anslutningen ligger nu mellan R7 och R8). Grafikkortet upptäcker att en VGA -skärm är inkopplad genom att känna av motstånd i ett ungefärligt intervall på 50 ohm till 150 ohm mellan R, G och B videostift och jord (75 ohm avslutningsmotstånd i displayen, AODMoST lägger till det motståndet), så I2C stiften är inte riktigt nödvändiga och VGA -kabeln kan fungera utan att de är anslutna (som i kabeln jag använde betyder naturligtvis brist på I2C att bildskärmen inte kan skicka information om upplösningar som stöds och det kan vara problematiskt). Om det finns risk för skottkrets, använd isoleringstejp eller värmekrympslang. Anslut skärmningen i två delar av tråden med varandra och använd isoleringstejp för att fästa båda delarna av VGA -kabeln och fästa kabeln ordentligt på kretskortet. Lägg några lager papper på baksidan av kretskortet och fäst det med isoleringstejp.

Steg 5: Programmering av ATmega Microcontroller

Programmering av ATmega Microcontroller
Programmering av ATmega Microcontroller

Anslut din AVR -programmerare till CON1 med lämplig bandkabel eller hona till honkabel. Jag använde USBasp och AVRDUDE, så för att ladda upp.hex -fil krävs att jag utför följande kommando:

avrdude -c usbasp -p m328p -B 8 -U flash: w: aodmost.hex

Jag behövde också byta säkringsbitar till E: FF, H: D9, L: F7, så att mikrokontroller kommer att använda 20MHz kristall. Jag har behållit standardvärden för utökade och höga säkringsbyte och ändrat byte för lågt säkringsbyte från L: 62 till L: F7 med följande kommando:

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

Om du får ett fel när du laddar upp.hex -fil kan du behöva ändra -B (bitklocka) -värdet från 8 till något högre, som 16.

Steg 6: Användning av AODMoST

Användning av AODMoST
Användning av AODMoST
Användning av AODMoST
Användning av AODMoST
Användning av AODMoST
Användning av AODMoST

Anslut 12V- 15V DC strömförsörjning till skruvplintarna (- är närmare en övre kant på kretskortet). Anslut VGA -kontakten från IN -halvan av VGA -kabeln till grafikkortet, kontakten från OUT -halvan till 3D -skärmen. Enheten har 4 lägen, tre av dem ritar par rektanglar på video. Det finns 6 sidor med stetting. De med siffrorna 0 och 3 innehåller inställningar av frekvens/period, ocklusionshastighet, rektangel som är på/av och så. Sidorna 1 och 4 innehåller positionsinställningar medan sidorna 2 och 5 innehåller storleksinställningar. Genom att trycka på MODE + PAGE -knapparna återställer du standardinställningarna i alla lägen. Du kan läsa mer om hur du konfigurerar AODMoST i user_manual.pdf

En möjlig källa till 3D -innehåll i Top - Bottom eller Side By Side -format är datorspel. Om du använder GeForce -grafikkort kan många spel från listan spelas med CustomShader3DVision2SBS i 3DMigoto aktiverat. Du kan lära dig hur du aktiverar det och hur du löser färgproblem som visas på skärmen med 3D Vision Upptäck anaglyph 3D -läge här (notera: jag har upptäckt att du måste ställa in "LeftAnaglyphFilter" till "& HFF00FF00" och "RightAnaglyphFilter" till " "& HFFFF0000" "[andra kombinationer av färger bör också fungera, bara att en komponentfärg saknas] för att inaktivera nyans i Discover anaglyph -läget). Radeon- och GeForce -användare bör kunna använda TriDef 3D -programvara. Det finns spel som GZ3Doom (ViveDoom) som inbyggt stöder 3D och kan spelas utan någon speciell programvara.

EDIT: Jag hade problem med att inaktivera 3D Vision Discover -nyans i nyare version av NVIDIA -drivrutiner. Det ledde mig till upptäckten av SuperDepth3D, en ReShade-skuggare efter processen. Denna programvara är kompatibel med minst 20+ spel och fungerar med GPU: er från olika tillverkare.

EDIT 2: Jag hittade lösningen på ett problem med att inte kunna inaktivera 3D Vision Discover -nyans i nyare NVIDIA -drivrutiner. Du måste som alltid ändra "StereoAnaglyphType" till "0" i "HKLM / SOFTWARE / WOW6432Node / NVIDIA Corporation / Global / Stereo3D \" och sedan låsa registernyckeln. För att öppna Registerredigeraren, tryck på WIN+R, skriv sedan regedit och tryck på RETUR. Att låsa en nyckel kräver att du högerklickar på den, väljer Behörigheter, Avancerad, Inaktivera arv, bekräftar inaktivering av arv, går tillbaka till Tillståndsfönster och slutligen kryssar i Neka rutor för alla användare och grupper som kan kryssas av och bekräftas med ett klicka på OK -knappen. Observera att det kan finnas ett behov av att ändra värden för "LeftAnaglyphFilter" "RightAnaglyphFilter" också. Om du vill göra några ändringar måste du låsa upp registernyckeln genom att avmarkera avvisningsrutorna eller aktivera arv.

Om du har problem med att aktivera 3D Vision i första hand, eftersom installationsguiden i NVIDIA -kontrollpanelen kraschar, måste du ändra "StereoVisionConfirmed" till "1" i "HKLM / SOFTWARE / WOW6432Node / NVIDIA Corporation / Global / Stereo3D \”. Detta möjliggör 3D Vision i Discover -läget (vilket gör att du kan använda 3DMigoto -baserade mods/fixar, som gör att du kan mata ut SBS/TB 3D till valfri skärm efter att du inte har kommenterat "run = CustomShader3DVision2SBS" i "d3dx.ini" mod/fix -konfiguration fil).

Observera att i 32 -bitars Windows -nyckelplats är "HKLM / SOFTWARE / NVIDIA Corporation / Global / Stereo3D \". Även HKLM kan ersättas av HKEY_LOCAL_MACHINE.

EDIT 3: NVIDIA kommer att ta bort stöd för 3D Vision i april 2019 (de pratar om Release 418 som den senaste möjliga drivrutinen som stöder det, men 3D Vision stöds fortfarande i minst 425,31).

Steg 7: Designöversikt

Designöversikt
Designöversikt

VGA -signalen har tre komponentfärger: röd, grön och blå. Var och en av dem skickas genom separat tråd, med intensiteten av komponentfärg kodad till spänningsnivå som kan variera mellan 0V och 0,7V. AODMoST ritar rektanglar (överlägg) genom att ersätta färgsignalen som genereras av grafikkortet med spänningsnivå från transistorerna Q1-Q3 i emitterföljarkonfiguration, som omvandlar spänningsimpedans på ett 2k7-motstånd-1k trimpotspänningsdelare. Växling av signaler sker med HEF4053B analog multiplexer/demultiplexer, driven från 12V - 15V DC strömförsörjning. Motstånd över HEF4053B är kopplat till dess matningsspänning (högre spänning - lägre motstånd). Om lägre matningsspänning skulle användas skulle grafikkortet inte kunna upptäcka displayen.

Resten av AODMoST drivs från 5V DC från 7805 spänningsregulator. Signalnivå från mikrokontroller som styr omkoppling av HEF4053B omvandlas med snabb BS170 MOSFET.

Horisontella och vertikala synkroniseringspulser varierar i spänningsnivå mellan 0V och 5V och ledningar som bär dem är direkt anslutna till ATmegas avbrottsstift som är konfigurerade som ingångar med hög impedans.

Av någon anledning ATmega328P-PU mikrokontroller som jag hade (de har olika nummer ovanpå dem) har alla problem med interna pull-up motstånd, så jag använde externa 10k pull-ups. Den enda logiska orsaken till detta beteende som jag hittade är att grundläggande naturlagar förändras med universums expansion och som gör att integrerade kretsar inte fungerar (det var förmodligen ett skämt).

Enheten förbrukar cirka 50 mA.