Inhaltsverzeichnis:
- Schritt 1: Haftungsausschluss
- Schritt 2: Teile und Werkzeuge
- Schritt 3: Löten von elektronischen Komponenten
- Schritt 4: Anbringen des VGA-Kabels
- Schritt 5: ATmega Mikrocontroller programmieren
- Schritt 6: Verwendung von AODMoST
- Schritt 7: Designübersicht
Video: Abwechselnd okkludierender dichoptischer Modifikator der stereoskopischen Übertragung [ATmega328P + HEF4053B VGA Superimposer] - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:15
Nach meinen Experimenten mit Flüssigkristallbrillen, die die Augen verschließen (hier und da), habe ich mich entschieden, etwas raffinierteres zu bauen, das den Benutzer auch nicht dazu zwingt, PCB auf der Stirn zu tragen (manchmal kann man sich so verhalten) feindselige Art und Weise, wenn sie andere sehen, deren Elektronik aus dem Körper ragt, Cyborgs haben es heutzutage einfach nicht leicht). Das von mir entwickelte Gerät modifiziert das VGA-Signal, das an das 3D-Display gesendet wird (Video muss im Format Oben – Unten oder Seite an Seite vorliegen) und verbessert das Videosignal durch dichoptische Stimulation. Eine riesige Bibliothek mit Filmen und Spielen, die in kompatiblen 3D-Formaten angesehen und abgespielt werden können, sollte jeden AODMoST-Benutzer glücklich und engagiert machen. Es gibt Studien, die darauf hinweisen, dass mit AODMoST mögliche Behandlungsformen für Menschen mit Amblyopie von Vorteil sind.
Schritt 1: Haftungsausschluss
Die Verwendung eines solchen Geräts kann bei einem kleinen Teil der Benutzer des Geräts epileptische Anfälle oder andere Nebenwirkungen verursachen. Der Bau eines solchen Geräts erfordert die Verwendung von mäßig gefährlichen Werkzeugen und kann zu Schäden oder Sachschäden führen. Sie bauen und verwenden das beschriebene Gerät auf eigene Gefahr
Schritt 2: Teile und Werkzeuge
Teile und Materialien:
- ATmega328P-PU-Mikrocontroller
- HEF4053BP Analogschalter
- 7805 im TO-220-Gehäuse Spannungsregler
- 3x 2N2222 Transistoren
- BS170-Transistor
- 2x diffuse blaue 3mm LEDs
- diffuse rote 3mm LED
- 2x diffuse gelbe 3mm LEDs
- diffuse grüne 3mm LED
- 20 MHz HC49/US Quarz
- 10-poliger AVR ISP (IDC) Stecker
- 2-poliger Leiterplatten-Schraubklemmenblock 5,08 mm Stecker
- 8x 6x6mm taktile Schalterknöpfe
- 3x 1k Ohm Trimpoti 6mm
- 3x 75 Ohm 1/4W Widerstand
- 3x 1k Ohm 1/4W Widerstand
- 3x 2k7 Ohm 1/4W Widerstand
- 3k3 Ohm 1/4W Widerstand
- 11x 10k Ohm 1/4W Widerstand
- 2x 20pF Keramikkondensatoren
- 3x 100nF Keramikkondensatoren
- 2x 100uF Elektrolytkondensatoren
- Perfboard (70mm x 90mm, mind. 24 x 31 Loch Array)
- ein paar stücke draht
- Isolierband
- Papier
- Kabel von VGA-Stecker auf VGA-Stecker
- 12V – 15V DC-Netzteil
Werkzeuge:
- Seitenschneider
- Zange
- Schlitzschraubendreher
- kleiner Kreuzschlitzschraubendreher
- Allzweckmesser
- Multimeter
- Lötstation
- Lot
- AVR-Programmierer (Standalone-Programmierer wie USBasp oder Sie können ArduinoISP verwenden)
Schritt 3: Löten von elektronischen Komponenten
Wenn Sie ATmega vor dem Löten programmieren möchten, tun Sie dies (Sie können dann CON1 aus der Platine lassen). Löten Sie alle elektronischen Komponenten auf das Prefboard. Verwenden Sie Kupferdrähte (von UTP-Kabeln mit einem Durchmesser von 0,5 mm sollten perfekt sein), um elektrische Verbindungen zwischen den Komponenten herzustellen. Stellen Sie sicher, dass die Drähte keine Kurzschlüsse verursachen. Bei Kurzschlussgefahr (wie bei einer der Adern von R21, Ader frontseitig zwischen SW8 und C7 und Ader frontseitig neben Y1), Ader mit Isolierband abdecken oder erhitzen -Schrumpfschlauch.
Wenn Sie möchten, können Sie anstelle von Prefboard jeweils eine Platine verwenden. Ich habe in meinem vorherigen Projekt Prozesse zur Herstellung von PCB mit der Tonerübertragungsmethode beschrieben. Board in.svg-Dateien sollte 64,77 mm x 83,82 mm haben. Angehängte Dateien, die Gleispläne enthalten, sollten eine große Hilfe sein, auch wenn Sie Verbindungen auf Prefboard mit Kupferdrähten herstellen.
Schritt 4: Anbringen des VGA-Kabels
Schneiden Sie Ihr VGA-Kabel in zwei Hälften und entfernen Sie alle Drähte von der Isolierung. Markieren Sie einen Teil des abgeschnittenen Kabels als IN und einen anderen als OUT. Lötdrähte an die entsprechenden Pads auf der Leiterplatte anlöten. Um festzustellen, welcher Draht mit welchem Pin im Stecker verbunden ist, verwenden Sie den Durchgangsprüfer in Ihrem Multimeter und konsultieren Sie dann die VGA-Pinbelegung, um jeden Drahtzweck zu identifizieren. Sie müssen nur Kabel anschließen, die rotes, grünes und blaues Video sowie horizontale und vertikale Synchronisationsimpulse übertragen. Wenn sich andere Drähte in Ihrem Kabel befinden, löten Sie sie einfach wieder zusammen, oder besser noch, löten Sie sie durch das Prefboard zurück, wie ich es mit dem weißen Draht getan habe, der die Pins 11 in den VGA-Anschlüssen verbindet (die Verbindung befindet sich jetzt zwischen R7 und R8). Die Grafikkarte erkennt, dass ein VGA-Display angeschlossen ist, indem sie einen Widerstand im ungefähren Bereich von 50 Ohm bis 150 Ohm zwischen den R-, G- und B-Videopins und Masse misst (75 Ohm Abschlusswiderstände im Display, AODMoST addiert diesen Widerstand), also I2C Pins sind nicht wirklich notwendig und VGA-Kabel können ohne angeschlossen werden (wie bei dem von mir verwendeten Kabel bedeutet das Fehlen von I2C natürlich, dass der Monitor keine Informationen über unterstützte Auflösungen senden kann und das kann problematisch sein). Bei Kurzschlussgefahr Isolierband oder Schrumpfschlauch verwenden. Verbinden Sie die Abschirmung in zwei Teilen des Drahtes miteinander und verwenden Sie Isolierband, um beide Teile des VGA-Kabels aneinander zu befestigen und das Kabel fest an der Platine zu befestigen. Legen Sie einige Lagen Papier auf die Rückseite der Leiterplatte und befestigen Sie sie mit Isolierband.
Schritt 5: ATmega Mikrocontroller programmieren
Stecken Sie Ihren AVR-Programmierer mit einem geeigneten Flachbandkabel oder einem Buchse-auf-Buchse-Überbrückungskabel an CON1 an. Ich habe USBasp und AVRDUDE verwendet, daher musste ich zum Hochladen der.hex-Datei den folgenden Befehl ausführen:
avrdude -c usbasp -p m328p -B 8 -U flash:w:aodmost.hex
Ich musste auch die Sicherungsbits in E: FF, H: D9, L: F7 ändern, damit der Mikrocontroller einen 20-MHz-Kristall verwendet. Ich habe die standardmäßigen erweiterten und hohen Sicherungsbytewerte beibehalten und den niedrigen Sicherungsbytewert von L: 62 auf L: F7 mit dem folgenden Befehl geändert:
avrdude -c usbasp -p m328p -B 8 -U lfuse:w:0xF7:m
Wenn beim Hochladen der.hex-Datei ein Fehler auftritt, müssen Sie möglicherweise den Wert von -B (bitclock) von 8 auf einen höheren Wert ändern, z. B. 16.
Schritt 6: Verwendung von AODMoST
Schließen Sie das 12V – 15V DC Netzteil an die Schraubklemmen an (- ist näher an einer Oberkante der Platine). Stecken Sie den VGA-Stecker von der IN-Hälfte des VGA-Kabels auf die Grafikkarte, den Stecker von der OUT-Hälfte auf das 3D-Display. Das Gerät verfügt über 4 Modi, von denen 3 Rechtecke auf dem Video zeichnen. Es gibt 6 Seiten mit Einstellungen. Die mit den Nummern 0 und 3 enthalten Einstellungen für Frequenz/Periode, Okklusionsrate, Rechteck ein/aus und dergleichen. Seiten 1 und 4 enthalten Positionseinstellungen, während Seiten 2 und 5 Größeneinstellungen enthalten. Durch Drücken der MODE + PAGE-Tasten stellen Sie die Standardeinstellungen in allen Modi wieder her. Weitere Informationen zur Konfiguration von AODMoST finden Sie in user_manual.pdf
Eine mögliche Quelle für 3D-Inhalte im Top-Bottom- oder Side-by-Side-Format sind Computerspiele. Wenn Sie eine GeForce-Grafikkarte verwenden, können viele Spiele aus dieser Liste mit aktiviertem CustomShader3DVision2SBS in 3DMigoto gespielt werden. Sie können lernen, wie Sie es aktivieren und wie Sie das Problem der Tönung auf dem Bildschirm von 3D Vision lösen. Entdecken Sie hier den Anaglyph-3D-Modus (Hinweis: Ich habe festgestellt, dass Sie "LeftAnaglyphFilter" auf "&HFF00FF00" und "RightAnaglyphFilter" auf " "&HFFFF0000"” [andere Farbkombinationen sollten auch funktionieren, lasse nur eine Komponentenfarbe fehlen], um den Farbton im Discover-Anaglyphenmodus zu deaktivieren). Radeon- und GeForce-Benutzer sollten die TriDef 3D-Software verwenden können. Es gibt Spiele wie GZ3Doom (ViveDoom), die nativ 3D unterstützen und ohne spezielle Software gespielt werden können.
BEARBEITEN: Ich hatte Probleme beim Deaktivieren von 3D Vision Discover-Tönung in neueren Versionen der NVIDIA-Treiber. Das führte mich zur Entdeckung von SuperDepth3D, einem ReShade-Post-Process-Shader. Diese Software ist mit mindestens 20+ Spielen kompatibel und funktioniert mit GPUs verschiedener Hersteller.
BEARBEITEN 2: Ich habe die Lösung für ein Problem gefunden, bei dem 3D Vision Discover-Tönung in neueren NVIDIA-Treibern nicht deaktiviert werden konnte. Sie müssen wie immer „StereoAnaglyphType“in „HKLM\SOFTWARE\WOW6432Node\NVIDIA Corporation\Global\Stereo3D\“auf „0“ändern und dann den Registrierungsschlüssel sperren. Um den Registrierungs-Editor zu öffnen, drücken Sie WIN+R, geben Sie regedit ein und drücken Sie die EINGABETASTE. Um einen Schlüssel zu sperren, müssen Sie mit der rechten Maustaste darauf klicken, Berechtigungen, Erweitert, Vererbung deaktivieren auswählen, die Deaktivierung der Vererbung bestätigen, zum Fenster Berechtigungen zurückkehren und schließlich die Kästchen für alle Benutzer und Gruppen, die angekreuzt werden können, ankreuzen und mit a bestätigen klicken Sie auf die Schaltfläche OK. Beachten Sie, dass möglicherweise auch die Werte von "LeftAnaglyphFilter" "RightAnaglyphFilter" geändert werden müssen. Wenn Sie Änderungen vornehmen möchten, müssen Sie den Registrierungsschlüssel entsperren, indem Sie diese Verweigerungskästchen deaktivieren oder die Vererbung aktivieren.
Wenn Sie Probleme beim Aktivieren von 3D Vision haben, weil der Einrichtungsassistent in der NVIDIA Systemsteuerung abstürzt, müssen Sie „StereoVisionConfirmed“in „HKLM\SOFTWARE\WOW6432Node\NVIDIA Corporation\Global\Stereo3D\“auf „1“setzen. “. Dadurch wird 3D Vision im Discover-Modus aktiviert (womit Sie 3DMigoto-basierte Mods/Fixes verwenden können, die es Ihnen ermöglichen, SBS/TB 3D auf jedem Display auszugeben, nachdem Sie „run = CustomShader3DVision2SBS“in der Mod/Fix-Konfiguration „d3dx.ini“entfernt haben Datei).
Beachten Sie, dass der Speicherort des 32-Bit-Windows-Schlüssels „HKLM\SOFTWARE\NVIDIA Corporation\Global\Stereo3D\“ist. Auch HKLM könnte durch HKEY_LOCAL_MACHINE ersetzt werden.
BEARBEITEN 3: NVIDIA wird die Unterstützung für 3D Vision im April 2019 entfernen (sie sprechen über Release 418 als den neuesten möglichen Treiber, der es unterstützt, aber 3D Vision wird immer noch in mindestens 425.31 unterstützt).
Schritt 7: Designübersicht
Das VGA-Signal hat 3 Komponentenfarben: Rot, Grün und Blau. Jeder von ihnen wird über ein separates Kabel gesendet, wobei die Intensität der Komponenten in einem Spannungspegel codiert ist, der zwischen 0 V und 0,7 V variieren kann. AODMoST zeichnet Rechtecke (Overlay), indem es das von der Grafikkarte erzeugte Farbsignal durch den Spannungspegel ersetzt, der von den Transistoren Q1-Q3 in Emitterfolgerkonfiguration bereitgestellt wird, die die Impedanz der Spannung an einem 2k7-Widerstand – 1k-Trimpot-Spannungsteiler umwandeln. Das Umschalten der Signale erfolgt durch den analogen Multiplexer/Demultiplexer HEF4053B, der von einer 12V – 15V DC Stromversorgung gespeist wird. Der Widerstand über HEF4053B ist mit seiner Versorgungsspannung verbunden (höhere Spannung – niedrigerer Widerstand). Wenn eine niedrigere Versorgungsspannung verwendet würde, könnte die Grafikkarte das Display nicht erkennen.
Der Rest von AODMoST wird mit 5 V DC versorgt, die vom 7805-Spannungsregler bereitgestellt werden. Der Signalpegel des Mikrocontrollers, der das Schalten des HEF4053B steuert, wird von einem schnellen BS170-MOSFET umgewandelt.
Horizontale und vertikale Synchronisationsimpulse variieren im Spannungspegel zwischen 0 V und 5 V und die Leitungen, die sie tragen, sind direkt mit ATmegas-Interrupt-Pins verbunden, die als hochohmige Eingänge konfiguriert sind.
Aus irgendeinem Grund haben die ATmega328P-PU-Mikrocontroller, die ich hatte (sie haben unterschiedliche Nummern darüber), alle Probleme mit internen Pull-Up-Widerständen, also habe ich externe 10k-Pull-Ups verwendet. Der einzige logische Grund für dieses Verhalten, das ich gefunden habe, ist, dass sich grundlegende Naturgesetze mit der Expansion des Universums ändern und integrierte Schaltkreise zu Fehlfunktionen führen (das war wahrscheinlich ein Witz).
Das Gerät verbraucht ca. 50 mA.