Indholdsfortegnelse:

Alternativt lukkende dikoptisk modifikator for stereoskopisk transmission [ATmega328P+HEF4053B VGA Superimposer]: 7 trin
Alternativt lukkende dikoptisk modifikator for stereoskopisk transmission [ATmega328P+HEF4053B VGA Superimposer]: 7 trin

Video: Alternativt lukkende dikoptisk modifikator for stereoskopisk transmission [ATmega328P+HEF4053B VGA Superimposer]: 7 trin

Video: Alternativt lukkende dikoptisk modifikator for stereoskopisk transmission [ATmega328P+HEF4053B VGA Superimposer]: 7 trin
Video: Icarus Week 112 Update! NEW Bees, Beehive + 4 Upgrades, NEW FOODS & T4 Building Tier & More! HUGE! 2024, Juli
Anonim
Alternativt lukkende dikoptisk modifikator for stereoskopisk transmission [ATmega328P+HEF4053B VGA Superimposer]
Alternativt lukkende dikoptisk modifikator for stereoskopisk transmission [ATmega328P+HEF4053B VGA Superimposer]
Alternativt lukkende dikoptisk modifikator for stereoskopisk transmission [ATmega328P+HEF4053B VGA Superimposer]
Alternativt lukkende dikoptisk modifikator for stereoskopisk transmission [ATmega328P+HEF4053B VGA Superimposer]

Efter mine eksperimenter med flydende krystalglas brugt til at lukke øjnene (her og der), besluttede jeg at bygge noget, der er lidt mere sofistikeret og heller ikke tvinger brugeren til at bære PCB på panden (folk kan nogle gange opføre sig i en fjendtlig måde, når man ser andre med elektronik stikke ud af deres kroppe, har cyborgs det bare ikke let i disse dage). Enhed, jeg har designet, ændrer VGA -signal, der sendes til 3D -display (video skal være i formatet Top - Bottom eller Side By Side), hvilket forbedrer videosignalet med dikoptisk stimulering. Enormt bibliotek med film og spil, der kan ses og afspilles i kompatible 3D -formater, bør gøre enhver AODMoST -bruger glad og engageret. Der er undersøgelser, der tyder på, at behandlingsformer, der er mulige med AODMoST, er gavnlige for mennesker med amblyopi.

Trin 1: Ansvarsfraskrivelse

Brug af en sådan enhed kan forårsage epileptiske anfald eller andre negative virkninger hos en lille del af enhedens brugere. Konstruktion af en sådan enhed kræver brug af moderat farlige værktøjer og kan forårsage skade på ejendom. Du bygger og bruger beskrevet enhed på egen risiko

Trin 2: Dele og værktøjer

Dele og materialer:

  • ATmega328P-PU mikrokontroller
  • HEF4053BP analog switch
  • 7805 i TO-220 pakke spændingsregulator
  • 3x 2N2222 transistorer
  • BS170 transistor
  • 2x diffunderede blå 3 mm lysdioder
  • diffust rød 3 mm LED
  • 2x diffus gule 3 mm lysdioder
  • diffust grøn 3 mm LED
  • 20 MHz HC49/US krystal
  • 10 pin AVR ISP (IDC) hanstik
  • 2-polet PCB skrueklemme 5,08 mm stik
  • 8x 6x6mm taktile switch knapper
  • 3x 1k ohm trimpot 6mm
  • 3x 75 ohm 1/4W modstand
  • 3x 1k ohm 1/4W modstand
  • 3x 2k7 ohm 1/4W modstand
  • 3k3 ohm 1/4W modstand
  • 11x 10k ohm 1/4W modstand
  • 2x 20pF keramiske kondensatorer
  • 3x 100nF keramiske kondensatorer
  • 2x 100uF elektrolytkondensatorer
  • perfboard (70 mm x 90 mm, min. 24 x 31 huller)
  • få stykker tråd
  • isolerende tape
  • papir
  • VGA han til VGA han kabel
  • 12V - 15V DC strømforsyning

Værktøjer:

  • diagonal fræser
  • tang
  • fladskruetrækker
  • lille phillips skruetrækker
  • schweizer kniv
  • multimeter
  • lodde station
  • loddetin
  • AVR programmerer (standalone programmerer som USBasp eller du kan bruge ArduinoISP)

Trin 3: Lodning af elektroniske komponenter

Lodning af elektroniske komponenter
Lodning af elektroniske komponenter
Lodning af elektroniske komponenter
Lodning af elektroniske komponenter
Lodning af elektroniske komponenter
Lodning af elektroniske komponenter
Lodning af elektroniske komponenter
Lodning af elektroniske komponenter

Hvis du vil programmere ATmega før lodning, skal du gøre det (du kan derefter lade CON1 stå uden for printkortet). Lodde alle elektroniske komponenter på prefboard. Brug kobbertråde (0,5 mm diameter fra UTP -kabel skal være perfekt) til at lave elektriske forbindelser mellem komponenter. Sørg for, at ledninger ikke forårsager kortslutninger. Hvis der er risiko for kortslutning (da det er årsagen til en af lederne på R21, ledning på forsiden mellem SW8 og C7 og ledning på forsiden ved siden af Y1), skal du dække tråden med isoleringstape eller varme -krympeslange.

Hvis du vil, kan du hver især bruge et printkort i stedet for at bruge præfabrik. Jeg beskrev processer til fremstilling af PCB ved hjælp af toneroverførselsmetode i mit tidligere projekt. Board i.svg -filer skal have 64,77 mm x 83,82 mm. Vedhæftede filer, der indeholder sporlayouter, bør være en stor hjælp, selvom du opretter forbindelser på prefboard med kobbertråde.

Trin 4: Tilslutning af VGA -kabel

Tilslutning af VGA -kabel
Tilslutning af VGA -kabel
Tilslutning af VGA -kabel
Tilslutning af VGA -kabel
Tilslutning af VGA -kabel
Tilslutning af VGA -kabel

Skær dit VGA -kabel i halve, og fjern alle ledninger fra isolering. Markér den ene del af det afskårne kabel som IN og den anden som OUT. Loddekabler til passende pads på printkort. For at identificere hvilken ledning der er forbundet til hvilken stift i stikket, skal du bruge kontinuitetstester i dit multimeter og derefter konsultere VGA -stiften for at identificere hvert ledningsformål. Du behøver kun at forbinde ledninger, der sender rød, grøn og blå video og vandrette og lodrette synkroniseringsimpulser. Hvis der er andre ledninger i dit kabel, skal du bare lodde dem sammen igen, eller endnu bedre lodde dem tilbage gennem præplader, som jeg gjorde med hvid ledning, der forbinder stifter 11 i VGA -stik (forbindelsen er nu placeret mellem R7 og R8). Grafikkort registrerer, at et VGA -display er tilsluttet ved at registrere modstand i et omtrentligt område på 50 ohm til 150 ohm mellem R, G og B videostifter og jord (75 ohm termineringsmodstande i displayet, AODMoST tilføjer denne modstand), så I2C pins er ikke rigtig nødvendige, og VGA -kabel kan fungere uden at de er tilsluttet (som i det kabel, jeg brugte, betyder mangel på I2C naturligvis, at skærmen ikke kan sende oplysninger om understøttede opløsninger, og det kan være problematisk). Hvis der er risiko for slagkredsløb, skal du bruge isoleringstape eller varmekrympeslange. Tilslut afskærmning i to dele af ledningen med hinanden, og brug isoleringstape til at fastgøre begge dele af VGA -kablet sammen og til at fastgøre kablet fast til printet. Læg et par lag papir på bagsiden af printet, fastgør det med isoleringstape.

Trin 5: Programmering af ATmega Microcontroller

Programmering af ATmega Microcontroller
Programmering af ATmega Microcontroller

Tilslut din AVR -programmer til CON1 med et passende båndkabel eller hun til hun -jumperkabler. Jeg brugte USBasp og AVRDUDE, så upload af.hex -fil krævede, at jeg udførte følgende kommando:

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

Jeg havde også brug for at ændre sikringsbits til E: FF, H: D9, L: F7, så mikrokontrolleren bruger 20MHz krystal. Jeg har beholdt standard udvidede og høje sikringsbyteværdier og ændret lav sikringsbyteværdi fra L: 62 til L: F7 med brug af følgende kommando:

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

Hvis du får en fejl under upload af.hex -fil, skal du muligvis ændre -B (bitclock) -værdi fra 8 til noget højere, f.eks. 16.

Trin 6: Brug af AODMoST

Brug af AODMoST
Brug af AODMoST
Brug af AODMoST
Brug af AODMoST
Brug af AODMoST
Brug af AODMoST

Tilslut 12V- 15V DC strømforsyning til skrueterminaler (- er tættere på den øverste kant af printkortet). Tilslut VGA -stikket fra IN -halvdelen af VGA -kablet til grafikkortet, stikket fra OUT -halvdelen til 3D -skærmen. Enheden har 4 tilstande, 3 af dem tegner par rektangler på video. Der er 6 sider med stetting. Dem med tallene 0 og 3 indeholder indstillinger for frekvens/periode, okklusionshastighed, rektangel til/fra og sådan. Side 1 og 4 indeholder positionsindstillinger, mens side 2 og 5 indeholder størrelsesindstillinger. Ved at trykke på MODE + PAGE -knapperne gendanner du standardindstillingerne i alle tilstande. Du kan læse mere om konfiguration af AODMoST i user_manual.pdf

En mulig kilde til 3D -indhold i formatet Top - Bottom eller Side By Side er computerspil. Hvis du bruger GeForce -grafikkort, kan mange spil fra denne liste afspilles med CustomShader3DVision2SBS i 3DMigoto aktiveret. Du kan lære, hvordan du aktiverer det, og hvordan du løser farvetone, der er sat på skærmen med 3D Vision Opdag anaglyph 3D -tilstand her (Bemærk: Jeg har fundet ud af, at du skal indstille "LeftAnaglyphFilter" til "& HFF00FF00" og "RightAnaglyphFilter" til " "& HFFFF0000" "[andre kombinationer af farver burde også fungere, bare mangel en komponentfarve] for at deaktivere farvetone i Discover anaglyph -tilstand). Radeon- og GeForce -brugere skal kunne bruge TriDef 3D -software. Der er spil som GZ3Doom (ViveDoom), der indbygget understøtter 3D og kan spilles uden særlig software.

EDIT: Jeg havde problemer med at deaktivere 3D Vision Discover farvetone i nyere version af NVIDIA -drivere. Det førte mig til opdagelsen af SuperDepth3D, en ReShade efter-proces shader. Denne software er kompatibel med mindst 20+ spil og fungerer med GPU'er fra forskellige producenter.

EDIT 2: Jeg fandt løsningen på et problem med ikke at kunne deaktivere 3D Vision Discover -farvetone i nyere NVIDIA -drivere. Du skal som altid ændre "StereoAnaglyphType" til "0" i "HKLM / SOFTWARE / WOW6432Node / NVIDIA Corporation / Global / Stereo3D \" og derefter låse registreringsnøglen. For at åbne Registreringseditor skal du trykke på WIN+R, derefter skrive regedit og trykke på ENTER. Hvis du låser en nøgle, skal du højreklikke på den, vælge Tilladelser, Avanceret, Deaktiver arv, bekræfte deaktivering af arv, gå tilbage til vinduet Tilladelser og til sidst markere afkrydsningsfelter for alle brugere og grupper, der kan krydses af og bekræfte det med en klik på knappen OK. Bemærk, at der også kan være behov for at ændre værdierne for "LeftAnaglyphFilter" "RightAnaglyphFilter". Hvis du vil foretage ændringer, skal du låse registreringsnøglen op ved at fjerne markeringen i disse afvisningsbokse eller aktivere arv.

Hvis du har problemer med at aktivere 3D Vision i første omgang, fordi installationsguiden i NVIDIA Kontrolpanel går ned, skal du ændre "StereoVisionConfirmed" til "1" i "HKLM / SOFTWARE / WOW6432Node / NVIDIA Corporation / Global / Stereo3D \”. Dette vil muliggøre 3D Vision i Discover -tilstand (som giver dig mulighed for at bruge 3DMigoto -baserede mods/rettelser, der giver dig mulighed for at udsende SBS/TB 3D til enhver skærm efter ikke at have kommenteret "run = CustomShader3DVision2SBS" i "d3dx.ini" mod/fix -konfiguration fil).

Bemærk, at i 32 -bit Windows -nøgleplacering er "HKLM / SOFTWARE / NVIDIA Corporation / Global / Stereo3D \". Også HKLM kan erstattes af HKEY_LOCAL_MACHINE.

EDIT 3: NVIDIA vil fjerne support til 3D Vision i april 2019 (de taler om Release 418 som den nyeste driver, der understøtter det, men 3D Vision understøttes stadig i mindst 425,31).

Trin 7: Designoversigt

Design Oversigt
Design Oversigt

VGA -signalet har 3 komponentfarver: rød, grøn og blå. Hver af dem sendes gennem separat ledning, med intensiteten af komponentfarve kodet til spændingsniveau, der kan variere mellem 0V og 0,7V. AODMoST tegner rektangler (overlay) ved at erstatte farvesignal genereret af grafikkort med spændingsniveau leveret af transistorer Q1-Q3 i emitterfølge-konfiguration, der konverterer spændingsimpedans på en 2k7 modstand-1k trimpotspændingsdeler. Skift af signaler udføres af HEF4053B analog multiplexer/demultiplexer, drevet fra 12V - 15V DC strømforsyning. Modstand over HEF4053B er forbundet med forsyningsspændingen (højere spænding - lavere modstand). Hvis der skulle bruges lavere forsyningsspænding, ville grafikkortet ikke kunne registrere displayet.

Resten af AODMoST drives fra 5V DC leveret af 7805 spændingsregulator. Signalniveau fra mikrokontroller, der styrer skift af HEF4053B, konverteres af hurtig BS170 MOSFET.

Horisontale og lodrette synkroniseringsimpulser varierer i spændingsniveau mellem 0V og 5V, og ledninger, der bærer dem, er direkte forbundet til ATmegas afbrydelsesstifter konfigureret som input med høj impedans.

Af en eller anden grund ATmega328P-PU mikrokontrollere, som jeg havde (de har forskellige numre oven på dem), har alle problemer med interne pull-up modstande, så jeg brugte eksterne 10k pull-ups. Den eneste logiske årsag til denne adfærd, som jeg fandt, er, at grundlæggende naturlove ændrer sig med universets udvidelse, og det får integrerede kredsløb til at fungere forkert (det var sandsynligvis en vittighed).

Enheden bruger cirka 50 mA.