FAITES UN PROJECTEUR VOLUMÉTRIQUE À PARTIR DE JUNK: 7 étapes

FAITES UN PROJECTEUR VOLUMÉTRIQUE À PARTIR DE JUNK: 7 étapes

Table des matières:

Anonim

Un projecteur volumétrique est … ce que R2-D2 montrait à la princesse Leia dans Star Wars.

C’est un vieux projet qui semblait arrêté par le refus de DLP de fournir une puce DMD

d'augmenter considérablement la résolution 3D. Ce projet n'a pas du tout changé depuis

avant même la TVHD existait. Je suppose qu'après que les gens réalisent que le monde n'est pas plat, c'est ce que

ils regarderont quand la technologie cinématographique du XIXe siècle sera enfin "vieille".

Il est assez simple d’avoir été entièrement construit par 2 personnes maximum, dans un délai très court.

quantité totale de temps.

Il projette en fait des images animées bitmap 3D dans les airs.

Il peut être fabriqué par quiconque est doué en programmation PIC et enclin à la mécanique.

Cela ne nous a coûté RIEN et a un potentiel au-delà de la plupart des recherches en affichage 3D à budget élevé.

Il ne contient aucune pièce qui n'était pas disponible en 1980. Tous ont été récupérés dans une pile de déchets.

La plupart ou la totalité de ses animations 3D ont été envoyées 100 miles sur un modem 14400 bauds.

Cela ne s'arrête pas si le modem raccroche.

Il semble le même sous tous les angles.

Il n’a pas de miroir, mais un seul objectif, qui n’a pas la taille d’un miroir parabolique.

C'est un morceau de bric-à-brac, mais ça marche.

C'EST PUBLIC-DOMAINED (même part)

Et, si les informations sont mises à jour, une solution à l’échec lors de l’acquisition du DLP peut être incluse.

Ainsi que quelques-unes des animations qui y sont stockées.

C'est un vieil ordinateur portable 80286, utilisé comme un ATS sur la droite.

Provisions:

Étape 1: aller sur ce site

Toutes les notes actuellement disponibles pour ce projet sont ici et pourraient être mises à jour ultérieurement.

holodeck.virand.com

Construire un holodeck

holodeck.virand.com

Pièces électroniques utilisées:

Connecteur série à 9 broches (DB9)

Convertisseur de niveau de tension de données série MAX232C

PROCESSEUR INTEL 8031 ​​(avec cristal d’horloge de 11,092 Mhz)

EPROM 4K

256 LED verrouillées par …

32 de 74HC574 sélectionnés par …

2 de 74LS154

32K octets de RAM utilisés en tant que 60 mémoires tampon d'images 3D

CAPTEUR OPTIQUE pour la synchronisation verticale du piston de l'objectif via une interruption vers le processeur

Alimentation 5 volts … quand toutes les LED sont allumées, elles consomment environ 7 ampères.

Mécanisme de piston excessivement ridicule et lourd poussant une lentille de haut en bas.

Protocole: RS-232C ASCII simple jusqu'à 19200 bauds… juste quelques commandes.

Une solution sans DLP utilisera un ancien mécanisme de projection de télévision mécanique haute résolution à la place des LED.

Le mécanisme s'appelle une "vis de miroir" et fonctionne différemment du miroir hélicoïdal d'un ancien projet 3D sur le site.

mais est une alternative peu coûteuse et de faible technologie aux puces DLP pour ce projet.

Étape 2: Commencez par obtenir un verre de lunettes

Obtenez le plus grand verre de lunettes que vous puissiez trouver, peut-être un qui n’a pas encore été coupé pour s’adapter aux montures.

Un assortiment pourrait être mieux. Les verres standard non coupés ressemblent à des loupes, sauf qu'ils ont

un côté concave. Ou tout simplement jouer avec les lunettes de quelqu'un pendant une minute.

Obtenez une LED et une pile de montre et allumez-la. Tenez les "lunettes" en regardant vers le bas.

Tenez la LED au-dessus des lunettes. Déplacez les lunettes de haut en bas. Tu devrais voir

une image virtuelle mobile entre les lunettes et la LED.

Si vous avez un cercle de LED et que vous déplacez la lentille en verre de haut en bas, vous obtenez un tube.

Si vous avez un carré de LED, vous obtenez un cube.

Si vous modifiez l'image pendant que l'objectif bouge, en utilisant un PIC avec de nombreuses DEL, par exemple, vous pouvez obtenir n'importe quelle forme.

L’important est que l’image virtuelle apparaisse dans les airs au-dessus de l’objectif,

et la taille de l'objectif est la taille maximale de l'image.

---

EDIT: nouvelle image + commentaire:

Oh … Il se trouve que la brillance de ce haut-parleur provoque plusieurs images flottantes inattendues.

Étape 3: PROGRAMMATION

Je me rends compte que j'ai sauté la partie de la construction des machines.

C'est indésirable, alors pourquoi le feriez-vous de la même manière?

Voici une brève description du programme en pseudocode anglais:

1. RESET

Y a-t-il des données utilisables dans la RAM?

Sinon, copiez l'animation de démonstration de la ROM dans la RAM.

2.Lisez la liste des images d'animation et affichez l'image suivante.

(Copiez la RAM dans les LED)

exceptions: Image 00 signifie aller à la dernière image, FF signifie aller à la première image.

3.Attendez la synchronisation, puis passez à l'étape 2

Interruption SYNC: comme ci-dessus, passez à l'étape 2

INTERRUPTION D'ENTREE SERIE:

Stocke simplement les données dans une mémoire tampon et continue comme auparavant, sauf s'il s'agit d'un RETOUR, puis obéissez-le.

Format de données: 0 à 9 et A à F sont hexadécimaux. Habituellement être stocké dans la RAM.

les lettres minuscules sont des commandes …

r -cold restart … copier la démo de la ROM dans la RAM (test)

a - suivi des données hexadécimales de 01 à 3F représentant la séquence animée d'image, plus 00 pour conserver la dernière image et FF pour la boucle

d - suivi d'un octet hexadécimal, image à afficher

f - suivi d'un octet hexadécimal, cadre pour écrire les données dans

i - identifie le périphérique actif sur le port RS-232C, répond par "Q", ce qui signifie arbitrairement "CUBE" (test)

HEX DATA - représente généralement un nouveau cadre de bitmap 3D, terminant chaque ligne avec commodité par RETURN, car il contient un niveau 2D du cadre bitmap 3D. Certaines commandes sélectionnent les images avec l'octet hexadécimal suivant.

De nombreuses animations, en particulier des objets symétriques rotatifs, peuvent être animées en aussi peu que 3 images.

chargée, la commande "a 01 02 03 00" lance l'animation.

La résolution du projecteur volumétrique est actuellement de 16x16x16 = 4096 bits = un demi-kilo-octet.

donc environ 62 images d'animation d'images 3D correspondent à 32K.

La trame zéro est divisée en stockage de séquence d’animation et en mémoire tampon de données série, ainsi qu’une commande

afficher Frame Zero sera interprété comme "Pause Animation, afficher l'image actuelle jusqu'à nouvel ordre"

C’est vraiment aussi simple que les étapes 1, 2, 3 et le logiciel de la ROM a moins de 1 Ko, et l’espace ROM restant contient

une image de démonstration afin que la chose fonctionne toujours même sans être connecté à un ordinateur.

Une longue "émission de télévision en 3D" pourrait y être diffusée, car elle peut télécharger une chose et en lire une autre en même temps.

Toutes les animations de ce projecteur volumétrique ont été générées rapidement à l’aide d’un programme écrit en BASIC en moins d’une heure.

Des questions?

Étape 4: Comment le PREMIER fonctionnait …

Celui-ci a été fabriqué il y a longtemps avec un MC68705P3S, qui ressemble vaguement à un PIC16C57, avec environ 1K.

Utiliser des écrans à matrice de points comme ceux-ci pour la 3D n’est pas très impressionnant,

du moins à l'époque, les DEL n'étaient pas aussi lumineuses, l'image était très sombre et ne pouvait être vue que dans des pièces sombres.

La puce a été programmée avec des motifs intelligents qui forment des couches d’un cube en rotation,

avec 3 phases d’image (le cube est pivoté en passant par 3 images).

Les motifs ont été sélectionnés de manière à ce que l'affichage à matrice de points ne soit pas numérisé,

mais restent allumés pendant que le rotor passait à travers l'image du cube.

Tous les projecteurs volumétriques Cube utilisent des DEL non numérisées pour une luminosité maximale.

Rotor? Il s’agissait simplement d’une puce, d’une batterie et d’un écran matriciel sur un ventilateur d’ordinateur.

Les 3 images bitmap consistaient chacune en plusieurs couches de bitmaps 7x10 soigneusement conçues (seulement 17 bits, pas 70 bits).

Ils peuvent certainement s’intégrer dans une vieille puce PIC.

Il y avait une séquence d'animation. L'image du cube a pivoté dans le sens des aiguilles d'une montre,

puis il a tourné dans le sens inverse des aiguilles d'une montre, puis il s'est arrêté. Le séquençage des 3 images

dans l'animation était quelque chose comme ….

1231231231231231231231231231 (aller simple)

3213213213213213213213213213 (tournez dans l'autre sens)

3333333333333333333333333 (arrêtez de tourner, puis répétez toute cette séquence)

(Il y a une animation "nut in a cube" sur la vidéo WMV du site Web qui se lit de manière similaire, n'ayant également que 3 images.)

Au fur et à mesure que le ventilateur tournait, le circuit était percé par un aimant de terre rare traversant une tête d'enregistrement afin de déposer un cadre dans les DEL.

Cet appareil est très facile à fabriquer mais pas très impressionnant et si vous essayez de toucher à l’image, cela vous fera mal.

Étape 5: Comment l'image du premier a été générée.

Le diagramme présenté est un aperçu de la manière dont "le premier" a généré les trois images.

cela a fait l'image d'un cube en rotation. Le grand motif en haut représente le

l’apparence du haut de l’image virtuelle, qui n’a pas été réellement codée.

Sous chaque image se trouve la série de motifs DEL à matrice de points rapidement affichés.

dans l'ordre, lorsque le rotor a tourné, de sorte qu'un cube est apparu dans l'un des trois cadres

animer sa rotation. Chacun des petits motifs représente une tranche de la

Cadre 3D, allumage des LED, passage du rotor dans l’image.

Ceux-ci ont été très soigneusement construits parce que ce dispositif particulier était limité

d’afficher des motifs susceptibles d’apparaître sur l’écran LED sans multiplexage.

Chaque motif est celui qui pourrait résulter de l’alimentation continue de

l'affichage LED. Cela était nécessaire car l'écran n'était pas très lumineux,

et aurait été beaucoup plus faible avec le multiplexage.

Puisqu’un carré ne fait pas partie des motifs pouvant être affichés de cette façon,

le moyen le plus évident d'afficher un cube en 3D ne figurait pas parmi les trois images.

Donc "le premier" (le périphérique 3D construit sur un ventilateur) était très limité et primitif et pas plus utile que pour

montrant qu’un cube rotatif 3D pouvait être affiché et que les gens disaient «wow».

Étape 6: Dépoussiérage pour une autre bonne démo et plus d'informations

Ok, mes ordinateurs sont un peu moins en désordre récemment et je peux faire plus d’imagerie.

Voici la carte principale de la grosse machine Junky.

Il est très glitch après avoir été sorti du stockage, probablement beaucoup de fils en vrac,

quand cette chose tourne, elle se secoue violemment à cause de ces gros moteurs méchants.

Quelque part dans celle-ci se trouve notre fantastique animation démo 3D d’un avion survolant des montagnes,

ce qui doit être une sorte d'archétype parce que Perspecta (tm) a fait une démo très similaire

aux nouvelles peu de temps après, et avant nous et ils se connaissaient.

Je leur ai alors proposé la technologie de projection, mais sans même voir notre junk-o-matic

ils ont ignoré et nous ont envoyé du spam.

Nous et nos amis avons juste souri et avons dit: "c'est comme ça que tu fais ça!",

tout comme notre affichage de sphère (peut-être un futur instructable) évidemment

nécessaire pour montrer une image du globe terrestre. La démo volante

que j'espère ardemment montrer une vidéo ici bientôt, est nettement différente de

toutes les autres formes en rotation. Il y a un rendu 2D de la "démo volante"

image quelque part sur le site "holodeck" lié à l'étape 2.

Au moyen des câbles ruban, chacune des 256 DEL situées au-dessus de la lentille magique est

connecté à son propre peu de RAM, et de cette façon, il est similaire à un DLP / DMD

en ce sens que cette technologie dispose d'un peu de RAM pour contrôler chaque miroir,

en continu et en parallèle. Pas de miroirs ici, juste des LED à l'autre extrémité des câbles.

Deux très petites cartes non représentées ont la puce (n ° 1) MAX232 et (n ° 2) le capteur de position de la lentille.

Des questions ou des commentaires sur ce circuit?

Psst! N'importe quel PIC court plus vite que ce tableau.

CORRECTION D'ERREUR: Les puces de sélecteur d'adresse sont des unités 74154 (et non 74164)

Étape 7: Il suffit de le faire fonctionner assez longtemps pour faire une vidéo.

Peut-être que je (devrai) me débarrasser des moteurs et y installer un woofer.

Et répondez aux questions ou ajoutez plus de détails utiles sur son fonctionnement.

Désolé, cette étape n'est pas encore prête, suis-je un imbécile pour le faire quand même? …

De plus, si cela vous intéresse, cette image "de prévisualisation" a été vue pour la première fois sur le projecteur.

après la synthèse des données, puis restituée ou traduite à partir des données du projecteur.