Table des matières:
- Étape 1: Avis de non-responsabilité
- Étape 2: Pièces et outils
- Étape 3: Souder des composants électroniques
- Étape 4: connexion du câble VGA
- Étape 5: Programmation du microcontrôleur ATmega
- Étape 6: Utilisation de AODMoST
- Étape 7: Présentation de la conception
Vidéo: Modificateur dichoptique à occlusion alternative de la transmission stéréoscopique [ATmega328P+HEF4053B VGA Superimposer] : 7 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
Après mes expériences avec des verres à cristaux liquides servant à obstruer les yeux (ici et là), j'ai décidé de construire quelque chose d'un peu plus sophistiqué et qui n'oblige pas non plus l'utilisateur à porter des PCB sur son front (les gens peuvent parfois se comporter de manière manière hostile en voyant d'autres personnes avec de l'électronique sortir de leur corps, les cyborgs n'ont tout simplement pas la tâche facile de nos jours). L'appareil que j'ai conçu modifie le signal VGA envoyé à l'affichage 3D (la vidéo doit être au format Haut - Bas ou Côte à côte), améliorant le signal vidéo avec une stimulation dichoptique. Une énorme bibliothèque de films et de jeux pouvant être regardés et joués dans des formats 3D compatibles devrait rendre tout utilisateur d'AODMoST heureux et engagé. Il existe des études indiquant que les formes de traitement possibles avec AODMoST sont bénéfiques pour les personnes atteintes d'amblyopie.
Étape 1: Avis de non-responsabilité
L'utilisation d'un tel appareil peut provoquer des crises d'épilepsie ou d'autres effets indésirables chez une petite partie des utilisateurs de l'appareil. La construction d'un tel appareil nécessite l'utilisation d'outils modérément dangereux et peut causer des dommages ou des dommages matériels. Vous construisez et utilisez l'appareil décrit à vos risques et périls
Étape 2: Pièces et outils
Pièces et matériaux:
- Microcontrôleur ATmega328P-PU
- Commutateur analogique HEF4053BP
- 7805 dans le régulateur de tension du boîtier TO-220
- 3x transistors 2N2222
- Transistor BS170
- 2x LED bleues diffuses de 3 mm
- LED rouge diffuse 3mm
- 2x LED jaunes diffuses de 3 mm
- LED verte diffuse 3mm
- Cristal 20 MHz HC49/US
- Connecteur mâle AVR ISP (IDC) 10 broches
- Bornier à vis PCB 2 broches connecteur 5.08mm
- 8x 6x6mm boutons de commutation tactiles
- 3x 1k ohm trimpot 6mm
- Résistance 3x 75 ohms 1/4W
- 3x résistance 1k ohm 1/4W
- 3x résistance 2k7 ohm 1/4W
- Résistance 3k3 ohm 1/4W
- 11x 10k ohm 1/4W résistance
- 2x condensateurs céramiques 20pF
- 3 condensateurs céramiques 100nF
- 2x condensateurs électrolytiques 100uF
- panneau perforé (70 mm x 90 mm, mini matrice de 24 x 31 trous)
- quelques morceaux de fil
- ruban isolant
- papier
- Câble VGA mâle vers VGA mâle
- Alimentation 12V – 15V CC
Outils:
- coupe diagonale
- pinces
- tournevis plat
- petit tournevis cruciforme
- couteau tout usage
- multimètre
- poste de soudure
- souder
- Programmeur AVR (programmeur autonome comme USBasp ou vous pouvez utiliser ArduinoISP)
Étape 3: Souder des composants électroniques
Si vous voulez programmer ATmega avant de souder, faites-le (vous pouvez alors laisser CON1 hors PCB). Soudez tous les composants électroniques au prefboard. Utilisez des fils de cuivre (ceux de 0,5 mm de diamètre du câble UTP devraient être parfaits) pour établir les connexions électriques entre les composants. Assurez-vous que les fils ne provoquent aucun court-circuit. S'il y a un risque de court-circuit (car il en est la cause avec un des fils de R21, fil en face avant entre SW8 et C7 et fil situé en face avant à côté de Y1), recouvrir le fil avec du ruban isolant ou chauffer - gaine thermorétractable.
Si vous le souhaitez, vous pouvez chacun un PCB, au lieu d'utiliser prefboard. J'ai décrit les processus de fabrication de PCB à l'aide de la méthode de transfert de toner dans mon projet précédent. La carte dans les fichiers.svg doit avoir 64,77 mm x 83,82 mm. Les fichiers joints contenant les tracés des voies devraient être d'une grande aide, même si vous effectuez des connexions sur une carte préfabriquée avec des fils de cuivre.
Étape 4: connexion du câble VGA
Coupez votre câble VGA en deux et dénudez tous les fils de l'isolant. Marquez une partie du câble coupé comme IN et l'autre comme OUT. Souder les fils aux pastilles appropriées sur le PCB. Pour identifier quel fil est connecté à quelle broche du connecteur, utilisez un testeur de continuité dans votre multimètre, puis consultez la broche VGA pour identifier l'objectif de chaque fil. Il vous suffit de connecter des fils qui transmettent la vidéo rouge, verte et bleue et les impulsions de synchronisation horizontale et verticale. S'il y a d'autres fils dans votre câble, soudez-les simplement ensemble, ou mieux encore, soudez-les à travers la carte préfabriquée, comme je l'ai fait avec le fil blanc qui relie les broches 11 des connecteurs VGA (la connexion est maintenant située entre R7 et R8). La carte vidéo détecte qu'un écran VGA est branché en détectant une résistance dans une plage approximative de 50 ohms à 150 ohms entre les broches vidéo R, G et B et la terre (résistances de terminaison de 75 ohms dans l'écran, AODMoST ajoute à cette résistance), donc I2C les broches ne sont pas vraiment nécessaires et le câble VGA peut fonctionner sans qu'ils soient connectés (comme dans le câble que j'ai utilisé, bien sûr, le manque d'I2C signifie que le moniteur ne pourra pas envoyer d'informations concernant les résolutions prises en charge et cela peut être problématique). S'il y a un risque de tir de circuit, utilisez du ruban isolant ou une gaine thermorétractable. Connectez le blindage en deux parties du fil entre elles et utilisez du ruban isolant pour fixer les deux parties du câble VGA ensemble et pour attacher fermement le câble au PCB. Mettez quelques couches de papier au dos du PCB, fixez-le avec du ruban isolant.
Étape 5: Programmation du microcontrôleur ATmega
Branchez votre programmateur AVR à CON1 avec un câble plat approprié ou des câbles de raccordement femelle à femelle. J'ai utilisé USBasp et AVRDUDE, donc le téléchargement du fichier.hex m'a obligé à exécuter la commande suivante:
avrdude -c usbasp -p m328p -B 8 -U flash:w:aodmost.hex
J'ai également dû changer les bits de fusible en E:FF, H:D9, L:F7, afin que le microcontrôleur utilise du cristal à 20 MHz. J'ai conservé les valeurs d'octet de fusible étendu et élevé par défaut, et modifié la valeur d'octet de fusible faible de L:62 à L:F7 à l'aide de la commande suivante:
avrdude -c usbasp -p m328p -B 8 -U lfuse:w:0xF7:m
Si vous obtenez une erreur lors du téléchargement du fichier.hex, vous devrez peut-être modifier la valeur -B (bitclock) de 8 à quelque chose de plus élevé, comme 16.
Étape 6: Utilisation de AODMoST
Connectez l'alimentation 12V - 15V DC aux bornes à vis (- est plus proche d'un bord supérieur du PCB). Branchez le connecteur VGA de la moitié IN du câble VGA à la carte vidéo, le connecteur de la moitié OUT à l'affichage 3D. L'appareil dispose de 4 modes, 3 d'entre eux dessinent des paires de rectangles sur la vidéo. Il y a 6 pages de stetting. Ceux avec les numéros 0 et 3 contiennent des paramètres de fréquence/période, taux d'occlusion, rectangle étant activé/désactivé et autres. Les pages 1 et 4 contiennent des paramètres de position tandis que les pages 2 et 5 contiennent des paramètres de taille. En appuyant sur les boutons MODE + PAGE, vous restaurez les paramètres par défaut dans tous les modes. Vous pouvez en savoir plus sur la configuration d'AODMoST dans user_manual.pdf
Une source possible de contenu 3D au format Top – Bottom ou Side By Side sont les jeux informatiques. Si vous utilisez une carte vidéo GeForce, de nombreux jeux de cette liste peuvent être joués avec CustomShader3DVision2SBS dans 3DMigoto activé. Vous pouvez apprendre comment l'activer et comment résoudre le problème de teinte apposée sur l'écran par 3D Vision Découvrez le mode anaglyphe 3D ici (remarque: j'ai constaté que vous devez définir "LeftAnaglyphFilter" sur "&HFF00FF00" et "RightAnaglyphFilter" sur " "&HFFFF0000"" [d'autres combinaisons de couleurs devraient également fonctionner, il suffit de faire manquer une couleur de composant] afin de désactiver la teinte en mode Découvrir l'anaglyphe). Les utilisateurs de Radeon et GeForce devraient pouvoir utiliser le logiciel TriDef 3D. Il existe des jeux comme GZ3Doom (ViveDoom) qui prennent en charge nativement la 3D et peuvent être joués sans logiciel spécial.
EDIT: j'ai eu des problèmes avec la désactivation de la teinte 3D Vision Discover dans la nouvelle version des pilotes NVIDIA. Cela m'a conduit à la découverte de SuperDepth3D, un shader de post-traitement ReShade. Ce logiciel est compatible avec au moins 20+ jeux et fonctionne avec les GPU de différents fabricants.
EDIT 2: J'ai trouvé la solution au problème de ne pas pouvoir désactiver la teinte 3D Vision Discover dans les nouveaux pilotes NVIDIA. Vous devez, comme toujours, remplacer « StereoAnaglyphType » par « 0 » dans « HKLM\SOFTWARE\WOW6432Node\NVIDIA Corporation\Global\Stereo3D\ », puis verrouiller la clé de registre. Pour ouvrir l'Éditeur du Registre, appuyez sur WIN+R, puis tapez regedit et appuyez sur ENTRÉE. Pour verrouiller une clé, vous devrez faire un clic droit dessus, sélectionner Autorisations, Avancé, Désactiver l'héritage, confirmer la désactivation de l'héritage, revenir à la fenêtre Autorisations et enfin cocher les cases Refuser pour tous les utilisateurs et groupes qui peuvent être cochés et le confirmer avec un cliquez sur le bouton OK. Notez qu'il peut être nécessaire de modifier également les valeurs de "LeftAnaglyphFilter" "RightAnaglyphFilter". Si vous souhaitez apporter des modifications, vous devez déverrouiller la clé de registre en décochant ces cases de refus ou en activant l'héritage.
Si vous rencontrez des problèmes pour activer 3D Vision en premier lieu, car l'assistant de configuration du panneau de configuration NVIDIA plante, vous devez remplacer « StereoVisionConfirmed » par « 1 » dans « HKLM\SOFTWARE\WOW6432Node\NVIDIA Corporation\Global\Stereo3D\”. Cela activera 3D Vision en mode Découverte (qui vous permettra d'utiliser des mods/correctifs basés sur 3DMigoto, qui vous permettront de sortir SBS/TB 3D sur n'importe quel affichage après avoir décommenté « run = CustomShader3DVision2SBS » dans la configuration mod/fix « d3dx.ini » déposer).
Notez que dans l'emplacement de la clé Windows 32 bits est « HKLM\SOFTWARE\NVIDIA Corporation\Global\Stereo3D\ ». De plus, HKLM pourrait être remplacé par HKEY_LOCAL_MACHINE.
EDIT 3: NVIDIA va supprimer la prise en charge de 3D Vision en avril 2019 (ils parlent de la version 418 en tant que pilote le plus récent possible qui la prend en charge, mais 3D Vision est toujours pris en charge dans au moins 425.31).
Étape 7: Présentation de la conception
Le signal VGA a 3 couleurs composantes: rouge, vert et bleu. Chacun d'eux est envoyé via un fil séparé, avec l'intensité du composant codé par couleur dans le niveau de tension qui peut varier entre 0V et 0,7V. AODMoST dessine des rectangles (superposition) en remplaçant le signal de couleur généré par la carte vidéo par le niveau de tension fourni par les transistors Q1-Q3 en configuration émetteur suiveur, qui convertissent l'impédance de la tension sur une résistance 2k7 - diviseur de tension trimpot 1k. La commutation des signaux est effectuée par le multiplexeur/démultiplexeur analogique HEF4053B, alimenté par une alimentation 12V – 15V DC. La résistance à travers HEF4053B est liée à sa tension d'alimentation (tension plus élevée – résistance plus faible). Si une tension d'alimentation inférieure était utilisée, la carte vidéo ne serait pas en mesure de détecter l'affichage.
Le reste d'AODMoST est alimenté en 5V DC fourni par le régulateur de tension 7805. Le niveau du signal du microcontrôleur qui contrôle la commutation du HEF4053B est converti par le MOSFET BS170 rapide.
Les impulsions de synchronisation horizontale et verticale varient en niveau de tension entre 0 V et 5 V et les fils qui les transportent sont directement connectés aux broches d'interruption ATmegas configurées comme entrées à haute impédance.
Pour une raison quelconque, les microcontrôleurs ATmega328P-PU que j'avais (ils ont des numéros différents dessus), ont tous des problèmes avec les résistances de rappel internes, j'ai donc utilisé des rappels externes de 10k. La seule raison logique de ce comportement que j'ai trouvé, c'est que les lois fondamentales de la nature changent avec l'expansion de l'univers et que cela fait mal fonctionner les circuits intégrés (c'était une blague, probablement).
L'appareil consomme environ 50 mA.