Inhoudsopgave:

Afwisselend afsluitende dicoptische modificatie van stereoscopische transmissie [ATmega328P+HEF4053B VGA-superimposer] - Ajarnpa
Afwisselend afsluitende dicoptische modificatie van stereoscopische transmissie [ATmega328P+HEF4053B VGA-superimposer] - Ajarnpa

Video: Afwisselend afsluitende dicoptische modificatie van stereoscopische transmissie [ATmega328P+HEF4053B VGA-superimposer] - Ajarnpa

Video: Afwisselend afsluitende dicoptische modificatie van stereoscopische transmissie [ATmega328P+HEF4053B VGA-superimposer] - Ajarnpa
Video: La Biosthetique | Tutorial: Spa hand- en armmassage 2024, November
Anonim
Afwisselend afsluitende dichoptische modifier van stereoscopische transmissie [ATmega328P+HEF4053B VGA-superimposer]
Afwisselend afsluitende dichoptische modifier van stereoscopische transmissie [ATmega328P+HEF4053B VGA-superimposer]
Afwisselend afsluitende dichoptische modifier van stereoscopische transmissie [ATmega328P+HEF4053B VGA-superimposer]
Afwisselend afsluitende dichoptische modifier van stereoscopische transmissie [ATmega328P+HEF4053B VGA-superimposer]

Na mijn experimenten met vloeibaar-kristalglazen die werden gebruikt om de ogen af te sluiten (hier en daar), besloot ik iets te bouwen dat iets geavanceerder is en de gebruiker ook niet dwingt om PCB op zijn of haar voorhoofd te dragen (mensen kunnen zich soms in een vijandige manier om anderen te zien met elektronica die uit hun lichaam steekt, hebben cyborgs het tegenwoordig niet gemakkelijk). Het door mij ontworpen apparaat wijzigt het VGA-signaal dat naar 3D-weergave wordt gestuurd (video moet in de indeling Boven-onder of naast elkaar zijn), waardoor het videosignaal wordt verbeterd met dichoptische stimulatie. Enorme bibliotheek met films en games die kunnen worden bekeken en gespeeld in compatibele 3D-formaten, zouden elke AODMoST-gebruiker blij en betrokken moeten maken. Er zijn onderzoeken die aangeven dat vormen van behandeling die mogelijk zijn met AODMoST gunstig zijn voor mensen met amblyopie.

Stap 1: Disclaimer

Het gebruik van een dergelijk apparaat kan bij een klein deel van de gebruikers van het apparaat epileptische aanvallen of andere nadelige effecten veroorzaken. De constructie van een dergelijk apparaat vereist het gebruik van matig gevaarlijk gereedschap en kan schade aan eigendommen veroorzaken. U bouwt en gebruikt het beschreven apparaat op eigen risico

Stap 2: Onderdelen en gereedschappen

Onderdelen en materialen:

  • ATmega328P-PU-microcontroller
  • HEF4053BP analoge schakelaar
  • 7805 in TO-220 pakket spanningsregelaar
  • 3x 2N2222 transistoren
  • BS170-transistor
  • 2x diffuus blauwe 3mm LED's
  • diffuus rode 3mm LED
  • 2x diffuus gele 3mm LED's
  • diffuus groene 3mm LED
  • 20 MHz HC49/US kristal
  • 10-pins AVR ISP (IDC) mannelijke connector
  • 2-pins PCB-schroefklemmenblok 5,08 mm connector
  • 8x 6x6mm tactiele schakelknoppen
  • 3x 1k ohm trimpotmeter 6mm
  • 3x 75 ohm 1/4W weerstand
  • 3x 1k ohm 1/4W weerstand
  • 3x 2k7 ohm 1/4W weerstand
  • 3k3 ohm 1/4W weerstand
  • 11x 10k ohm 1/4W weerstand
  • 2x 20pF keramische condensatoren
  • 3x 100nF keramische condensatoren
  • 2x 100uF elektrolytische condensatoren
  • perfboard (70 mm x 90 mm, min 24 x 31 gaten)
  • paar stukjes draad
  • isolatieband
  • papier
  • VGA mannelijke naar VGA mannelijke kabel
  • 12V - 15V DC-voeding

Gereedschap:

  • diagonale snijder
  • tang
  • platte schroevendraaier
  • kleine kruiskopschroevendraaier
  • mes
  • multimeter
  • soldeerstation
  • soldeer
  • AVR-programmeur (zelfstandige programmeur zoals USBasp of u kunt ArduinoISP gebruiken)

Stap 3: Solderen van elektronische componenten

Elektronische componenten solderen
Elektronische componenten solderen
Elektronische componenten solderen
Elektronische componenten solderen
Elektronische componenten solderen
Elektronische componenten solderen
Elektronische componenten solderen
Elektronische componenten solderen

Als je ATmega wilt programmeren voordat je gaat solderen, doe dat dan (je kunt dan CON1 uit de PCB laten). Soldeer alle elektronische componenten op prefboard. Gebruik koperdraden (0,5 mm diameter van de UTP-kabel zou perfect moeten zijn) om elektrische verbindingen tussen componenten te maken. Zorg ervoor dat draden geen kortsluiting veroorzaken. Als er een kans op kortsluiting is (omdat dit de oorzaak is met een van de draden van R21, draad aan de voorkant tussen SW8 en C7 en draad aan de voorkant naast Y1), bedek de draad dan met isolatietape of verwarm -krimpkous.

Als je wilt, kun je elk een PCB gebruiken, in plaats van prefboard te gebruiken. Ik beschreef processen voor het maken van PCB's met behulp van de toneroverdrachtsmethode in mijn vorige project. Bord in.svg-bestanden moet 64,77 mm x 83,82 mm hebben. Bijgevoegde bestanden die baanlay-outs bevatten, zouden een grote hulp moeten zijn, zelfs als u verbindingen maakt op prefboard met koperdraden.

Stap 4: VGA-kabel aansluiten

VGA-kabel aansluiten
VGA-kabel aansluiten
VGA-kabel aansluiten
VGA-kabel aansluiten
VGA-kabel aansluiten
VGA-kabel aansluiten

Snijd uw VGA-kabel doormidden en strip alle draden van de isolatie. Markeer een deel van de afgeknipte kabel als IN en het andere als OUT. Soldeer de draden naar de juiste pads op de PCB. Om te bepalen welke draad is aangesloten op welke pin in de connector, gebruikt u de continuïteitstester in uw multimeter en raadpleegt u de VGA-pin uit om elk draaddoel te identificeren. U hoeft alleen draden aan te sluiten die rode, groene en blauwe video en horizontale en verticale sync-pulsen verzenden. Als er andere draden in je kabel zitten, soldeer ze dan gewoon weer aan elkaar, of beter nog, soldeer ze terug via prefboard, zoals ik deed met witte draad die pin 11 in de VGA-connectoren verbindt (verbinding bevindt zich nu tussen R7 en R8). Videokaart detecteert dat een VGA-scherm is aangesloten door weerstand te detecteren in een bereik van ongeveer 50 ohm tot 150 ohm tussen R-, G- en B-videopinnen en aarde (75 ohm afsluitweerstanden in het scherm, AODMoST draagt bij aan die weerstand), dus I2C pinnen zijn niet echt nodig en een VGA-kabel kan werken zonder dat ze zijn aangesloten (zoals in de kabel die ik gebruikte, natuurlijk betekent het ontbreken van I2C dat de monitor geen informatie kan verzenden over ondersteunde resoluties en dat kan problematisch zijn). Gebruik isolatietape of krimpkous als er kans is op een schotcircuit. Verbind de afscherming in twee delen van de draad met elkaar en gebruik isolatietape om beide delen van de VGA-kabel aan elkaar te bevestigen en om de kabel stevig op de PCB te bevestigen. Leg een paar lagen papier op de achterkant van de PCB en bevestig deze met isolatietape.

Stap 5: ATmega-microcontroller programmeren

ATmega Microcontroller programmeren
ATmega Microcontroller programmeren

Sluit uw AVR-programmeur aan op CON1 met de juiste lintkabel of vrouwelijke naar vrouwelijke jumperdraden. Ik gebruikte USBasp en AVRDUDE, dus voor het uploaden van het.hex-bestand moest ik de volgende opdracht uitvoeren:

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

Ik moest ook de fuse-bits veranderen in E:FF, H:D9, L:F7, zodat de microcontroller 20MHz-kristal gebruikt. Ik heb standaard uitgebreide en hoge zekeringbytewaarden behouden en de lage zekeringbytewaarde gewijzigd van L:62 in L:F7 met gebruik van het volgende commando:

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

Als u een foutmelding krijgt tijdens het uploaden van het.hex-bestand, moet u mogelijk de waarde -B (bitclock) wijzigen van 8 naar iets hoger, zoals 16.

Stap 6: Gebruik van AODMoST

Gebruik van AODMoST
Gebruik van AODMoST
Gebruik van AODMoST
Gebruik van AODMoST
Gebruik van AODMoST
Gebruik van AODMoST

Sluit de 12V – 15V DC-voeding aan op de schroefklemmen (- is dichter bij een bovenrand van de printplaat). Steek de VGA-connector van de IN-helft van de VGA-kabel naar de videokaart, de connector van de OUT-helft naar het 3D-scherm. Het apparaat heeft 4 modi, waarvan 3 paren rechthoeken tekenen op video. Er zijn 6 pagina's met stetting. Die met nummers 0 en 3 bevatten instellingen voor frequentie/periode, occlusiesnelheid, rechthoek die aan/uit staat en dergelijke. Pagina's 1 en 4 bevatten positie-instellingen, terwijl pagina's 2 en 5 formaatinstellingen bevatten. Door op de MODE + PAGE-knoppen te drukken, herstelt u de standaardinstellingen in alle modi. U kunt meer lezen over het configureren van AODMoST in user_manual.pdf

Een mogelijke bron van 3D-inhoud in de indeling Top – Bottom of Side By Side zijn computerspellen. Als u een GeForce-videokaart gebruikt, kunnen veel games uit deze lijst worden gespeeld met CustomShader3DVision2SBS in 3DMigoto ingeschakeld. U kunt leren hoe u het kunt inschakelen en hoe u het probleem van de tint op het scherm kunt oplossen door 3D Vision. Ontdek de anaglyph 3D-modus hier (opmerking: ik heb ontdekt dat u "LeftAnaglyphFilter" moet instellen op "&HFF00FF00" en "RightAnaglyphFilter" op " "&HFFFF0000"” [andere combinaties van kleuren zouden ook moeten werken, zorg ervoor dat één componentkleur ontbreekt] om de tint in de modus Anaglyph ontdekken uit te schakelen). Gebruikers van Radeon en GeForce zouden TriDef 3D-software moeten kunnen gebruiken. Er zijn games zoals GZ3Doom (ViveDoom) die standaard 3D ondersteunen en zonder speciale software kunnen worden gespeeld.

EDIT: Ik had problemen met het uitschakelen van 3D Vision Discover-tint in een nieuwere versie van NVIDIA-stuurprogramma's. Dat leidde me tot de ontdekking van SuperDepth3D, een ReShade post-process shader. Deze software is compatibel met ten minste 20+ games en werkt met GPU's van verschillende fabrikanten.

EDIT 2: Ik heb de oplossing gevonden voor een probleem waarbij ik 3D Vision Discover-tint niet kon uitschakelen in nieuwere NVIDIA-stuurprogramma's. U moet, zoals altijd, "StereoAnaglyphType" wijzigen in "0" in "HKLM\SOFTWARE\WOW6432Node\NVIDIA Corporation\Global\Stereo3D\" en vervolgens de registersleutel vergrendelen. Om de Register-editor te openen, drukt u op WIN+R, typt u regedit en drukt u op ENTER. Als u een sleutel wilt vergrendelen, moet u er met de rechtermuisknop op klikken, Machtigingen, Geavanceerd, Overerving uitschakelen, het uitschakelen van overerving bevestigen, teruggaan naar het machtigingenvenster en ten slotte de vakjes Weigeren aanvinken voor alle gebruikers en groepen die kunnen worden aangevinkt en dit bevestigen met een klik op de OK-knop. Merk op dat het nodig kan zijn om ook de waarden van "LeftAnaglyphFilter" "RightAnaglyphFilter" te wijzigen. Als u wijzigingen wilt aanbrengen, moet u de registersleutel ontgrendelen door de vakjes voor weigeren uit te vinken of overname in te schakelen.

Als u in de eerste plaats problemen ondervindt met het inschakelen van 3D Vision, omdat de installatiewizard in het NVIDIA-configuratiescherm crasht, moet u "StereoVisionConfirmed" wijzigen in "1" in "HKLM\SOFTWARE\WOW6432Node\NVIDIA Corporation\Global\Stereo3D\”. Hierdoor wordt 3D Vision in de Discover-modus ingeschakeld (waarmee u op 3DMigoto gebaseerde mods/fixes kunt gebruiken, waarmee u SBS/TB 3D naar elk scherm kunt uitvoeren nadat u "run = CustomShader3DVision2SBS" in "d3dx.ini" mod/fix-configuratie hebt verwijderd het dossier).

Merk op dat de 32-bits Windows-sleutellocatie “HKLM\SOFTWARE\NVIDIA Corporation\Global\Stereo3D\” is. Ook HKLM kan worden vervangen door HKEY_LOCAL_MACHINE.

EDIT 3: NVIDIA gaat de ondersteuning voor 3D Vision in april 2019 verwijderen (ze hebben het over Release 418 als nieuwste mogelijke driver die dit ondersteunt, maar 3D Vision wordt nog steeds ondersteund in ten minste 425.31).

Stap 7: Ontwerpoverzicht

Ontwerpoverzicht
Ontwerpoverzicht

VGA-signaal heeft 3 componentkleuren: rood, groen en blauw. Elk van hen wordt via een afzonderlijke draad verzonden, waarbij de intensiteit van de componentkleur is gecodeerd in een spanningsniveau dat kan variëren tussen 0V en 0,7V. AODMoST tekent rechthoeken (overlay) door het door de videokaart gegenereerde kleursignaal te vervangen door het spanningsniveau geleverd door de transistors Q1-Q3 in de emittervolgerconfiguratie, die de impedantie van de spanning op een 2k7-weerstand - 1k trimpot-spanningsdeler omzetten. Het schakelen van signalen wordt gedaan door HEF4053B analoge multiplexer/demultiplexer, gevoed door 12V – 15V DC voeding. Weerstand over HEF4053B is gekoppeld aan de voedingsspanning (hogere spanning - lagere weerstand). Als een lagere voedingsspanning zou worden gebruikt, zou de videokaart het display niet kunnen detecteren.

Rest van AODMoST wordt gevoed door 5V DC geleverd door 7805 spanningsregelaar. Het signaalniveau van de microcontroller die het schakelen van de HEF4053B regelt, wordt omgezet door de snelle BS170 MOSFET.

Horizontale en verticale synchronisatiepulsen variëren in spanningsniveau tussen 0V en 5V en draden die ze dragen zijn rechtstreeks verbonden met ATmegas-interruptpinnen die zijn geconfigureerd als ingangen met hoge impedantie.

Om de een of andere reden hebben de ATmega328P-PU-microcontrollers die ik had (ze hebben verschillende nummers erbovenop), allemaal problemen met interne pull-up-weerstanden, dus ik gebruikte externe 10k pull-ups. De enige logische reden voor dit gedrag dat ik vond, is dat fundamentele natuurwetten veranderen met de uitdijing van het universum en dat geïntegreerde schakelingen defect raken (dat was waarschijnlijk een grap).

Apparaat verbruikt ongeveer 50 mA.