Table des matières:

(POV) Persistance du globe de vision : 8 étapes (avec photos)
(POV) Persistance du globe de vision : 8 étapes (avec photos)

Vidéo: (POV) Persistance du globe de vision : 8 étapes (avec photos)

Vidéo: (POV) Persistance du globe de vision : 8 étapes (avec photos)
Vidéo: Comment fonctionne un œil ? - C'est pas sorcier 2024, Novembre
Anonim
Image
Image
(POV) Persistance du globe de vision
(POV) Persistance du globe de vision
(POV) Persistance du globe de vision
(POV) Persistance du globe de vision

!Mettre à jour! J'ai ajouté un programme Excel qui facilite grandement le dessin et le codage de nouvelles images

Une simple persistance de globe de vision. LIRE LA VIDÉO

C'est un projet que j'ai en tête depuis un certain temps et le concours "Make It Glow" était juste la motivation dont j'avais besoin pour m'inspirer pour sortir un ancien écran POV à 5 LED et le faire passer au niveau supérieur, en utilisant shift registres. Si vous aimez cette instructable, veuillez envisager de voter pour elle.

Une introduction rapide au POV ou à la persistance de la vision: tout voyant de tension alternative clignote en fait à une fréquence de 60 Hz ou 60 fois par seconde. Notre cerveau perçoit cela comme une lumière constante. C'est de ce concept que nous allons profiter pour créer une image sphérique à l'aide d'une seule rangée de LED. Pour ce projet, j'ai décidé que 24 LED séquencées à l'aide de trois registres à décalage 8 bits fourniraient la résolution minimale nécessaire pour le globe.

Étape 1: Matériaux

Voici ce que j'ai utilisé.

  • (1) Arduino Uno (pour le prototypage)
  • (1) Bareduino (pour carte permanente en option) VIRTUABOTIX LINK
  • (3) Registres à décalage HC595N
  • (24) LED bleues
  • (24) résistances 220 ohms
  • (1) planche à pain
  • (1) support de batterie et batterie
  • (1) anneau de 10" de diamètre (assez large pour contenir des LED et le plus léger sera le mieux)
  • (1) morceau de tige filetée (j'ai utilisé 5/16 ")
  • (1) Moteur (j'en ai utilisé un d'un vieux Dirt Devil)
  • (1) Coupleur de moteur
  • (1) Déconnexion 120V (interrupteur d'éclairage)
  • (1) Contrôleur de vitesse du ventilateur

Étape 2: Construire l'anneau

Construire l'anneau
Construire l'anneau
Construire l'anneau
Construire l'anneau

J'ai utilisé un morceau de barre plate en aluminium de 1/8" d'épaisseur x 1/2" de large pour mon anneau et 5/16" de filetage pour le mât central, car je les avais posés autour, mais je pense que cela pourrait être fait sur un Imprimante 3D complète avec supports PCB et beaucoup plus légère. J'ai construit cet anneau pour une version précédente en utilisant 5 LED alimentées chacune par un DO séparé de l'Arduino.

Le diamètre de la bague n'a rien de spécial. Le mien est d'env. 10 , juste parce que la barre plate que j'avais mesurait 3' de long au départ. Je l'ai roulée sur une cisaille/frein/rouleau 3 en 1 de Harbor Freight, mais vous pouvez également former l'anneau autour d'un disque découpé dans du contreplaqué et avoir de bons résultats. D'ailleurs, je ne vois aucune raison pour laquelle l'anneau ne pourrait pas être fabriqué à partir de bois. Je préfère juste le travail en métal.

J'ai percé des trous pour les LED à environ 5/16" au centre. Cet espacement remplissait tout sauf 1" en haut et en bas d'un côté de l'anneau. Vous aurez besoin de boulonner un support au centre de l'anneau pour fournir une surface de montage pour les planches à pain.

Étape 3: faire le circuit

Faire le circuit
Faire le circuit
Faire le circuit
Faire le circuit
Faire le circuit
Faire le circuit

C'était ma première tentative d'utilisation de registres à décalage, j'ai donc commencé à faire des recherches sur le site d'Arduino et j'ai trouvé un exemple extrêmement utile, que j'ai modifié pour répondre à mes besoins. Vous pouvez trouver le didacticiel sur Arduino ShiftOut. J'ai choisi le "Code Sample 2.3 - Dual Defined Arrays" comme code de base, plus à ce sujet plus tard.

Si vous suivez le didacticiel, vous apprendrez à envoyer des bits d'information, un par un, en série depuis votre Arduino vers les registres à décalage. Cet arrangement vous permet de contrôler les 24 LED de ce projet avec seulement 3 broches sur l'Arduino. Nous utiliserons la capacité d'entrée série et de sortie parallèle du 74HC595 pour charger 24 bits d'informations ou 3 octets dans les registres à décalage, puis déplacer les données en parallèle vers les LED.

Étant donné que le premier bit de données que nous chargeons se retrouvera dans le dernier endroit du registre, nous allons attacher LED1 ou la LED la plus au sud à QO du premier registre à décalage. Suivez le schéma de l'exemple ShiftOut et attachez le troisième registre à décalage au second, de la même manière que le second est attaché au premier.

Je recommande d'exécuter l'exemple de code en cours de route, d'abord avec un seul registre, puis avec deux. L'exemple de code séquence les lumières de manière à ce qu'il soit facile de voir si quelque chose est mal câblé. J'ai pu simplement ajouter un Byte3 au "Code Sample 2.3 - Dual Defined Arrays" et un troisième tableau que j'ai appelé Blue. Vous pouvez le voir dans le code ShiftOutArrayByte3R1 téléchargé à cette étape.

Étape 4: Tout assembler

Mettre tous ensemble
Mettre tous ensemble
Mettre tous ensemble
Mettre tous ensemble

Maintenant que nous étions convaincus que le circuit fonctionne, nous devons tout monter sur le ring. Je suggère de monter votre Arduino/Bareduino d'un côté et votre Shift Register Board en face de l'Arduino. Cela aidera à équilibrer le poids, mais vous devrez probablement déplacer quelque chose jusqu'à ce que vous obteniez une rotation stable. J'ai utilisé la pile 9 volts sur le côté sur lequel j'avais besoin d'ajouter du poids. J'ai utilisé des attaches pour attacher les planches et la batterie au mât central. De cette façon, j'ai pu faire des ajustements pour équilibrer la bague.

Maintenant, soudez toutes les LED. Puisque nous contrôlons la tension positive des LED, nous pouvons connecter tous les fils cathodiques avec un seul fil non isolé et le brancher à notre terre. Ensuite, nous devons souder une résistance au fil d'anode de chaque LED, puis attacher un fil de la résistance à la broche de sortie du registre à décalage correspondante. J'ai laissé la fonction Blink All dans la boucle de configuration comme moyen facile de savoir si vous avez une sortie LED.

Étape 5: Dessiner le globe

Dessiner le globe
Dessiner le globe
Dessiner le globe
Dessiner le globe
Dessiner le globe
Dessiner le globe

!!Mettre à jour!! Vous pouvez maintenant dessiner à l'aide du programme Excel, qui convertit l'image en hexadécimal pour vous. Le code de vos tableaux rouge, bleu et vert peut être copié et collé dans l'esquisse Arduino. Remplissez simplement un 1 là où vous voulez que la LED soit allumée et la cellule deviendra automatiquement bleue ! Le programme Excel est téléchargé à cette étape. Merci à l'instructable Rave Shades pour la publication de l'animateur Rave Shades, qui a été modifié pour ce projet

D'accord. Maintenant pour devenir artistique. J'ai choisi un globe parce que je pensais que ce serait un moyen sympa de faire un affichage sphérique à 360 degrés en utilisant POV, mais je vais essayer de montrer dans cette étape et la prochaine comment vous pouvez créer n'importe quelle image que vous pouvez dessiner dans une résolution de 24x70 points.

J'ai d'abord trouvé une image de carte du monde appropriée à utiliser comme guide. Ensuite, j'ai trouvé une application sur Google Play appelée "Mosaic Builder" qui correspondait parfaitement à mes besoins. Comme vous pouvez le voir sur la dernière photo de cette étape, j'ai pu créer une version basse résolution de la carte du monde sur mon modèle 24x70. Pour info, le 24 provient des 3 octets de données et donc de 24 LED de hauteur et le 70 vient de la division de la circonférence de mon anneau par 5/16" pour que l'espacement horizontal corresponde étroitement à l'espacement vertical des LED. Les 70 points de large variera en fonction de la taille de votre bague, mais n'est pas critique. Ce n'est particulièrement pas critique car nous n'utilisons aucun type de capteur, tel qu'une LED infrarouge pour détecter une rotation complète et réinitialiser la boucle. C'est quelque chose que je peux envisager à l'avenir, mais pour l'instant, tant que nous avons un contrôle de vitesse sur le moteur, le capteur est inutile.

Une fois que vous avez un dessin qui vous convient, vous pouvez convertir l'image en code hexadécimal par octet, à l'étape suivante.

Étape 6: le code

Le code
Le code
Le code
Le code
Le code
Le code

!Mettre à jour! Dessinez simplement votre image en utilisant des 1 pour représenter ON, ce qui colorera automatiquement le pixel en bleu. Lorsque votre image est prête, appuyez sur le bouton "Copier tous les tableaux" et collez-le sur les tableaux existants dans l'esquisse Arduino ! J'ai téléchargé un nouveau croquis à cette étape

Comme mentionné précédemment, j'ai utilisé le "Code Sample 2.3 - Dual Defined Arrays" de l'exemple Arduino ShiftOut comme base. Comme vous le remarquerez dans ce code, l'auteur commente qu'il n'est pas sûr qu'Arduino puisse gérer des valeurs binaires directes, donc des valeurs hexadécimales ont été utilisées à la place. Remarque: je n'ai jamais modifié les commentaires binaires à côté des valeurs hexadécimales, j'ai uniquement modifié les valeurs hexadécimales pour les adapter à l'image de ma carte du monde.

Ce n'était que la deuxième fois que je voyais Hex et j'étais assez désemparé. J'ai trouvé le tableau de conversion hexadécimal-binaire ci-joint, qui m'a énormément aidé. Ce graphique peut être utilisé pour convertir la valeur binaire de chaque colonne ou (octet) en une valeur hexadécimale. Par exemple, si vous regardez la dernière image de cette étape, vous pouvez voir comment l'image de la carte du monde a été divisée en tiers de haut en bas et chaque colonne se compose de 3 octets, où blanc ou désactivé = 0 et bleu ou activé = 1. À au bas de chaque colonne, l'octet a été converti en une valeur hexadécimale comprise entre 00 et FF, ce qui équivaut à une plage de valeurs décimales de 0 à 255 ou à une plage binaire de 00000000 à 11111111.

Le code joint a l'image Globe chargée, mais peut être modifié pour une image de votre choix.

Étape 7: Tester

Image
Image
Essai
Essai

Avant de passer à la construction d'une base et d'un support moteur, je pensais tester et ajuster le circuit. J'ai simplement mis la plate-forme dans une perceuse sans fil, j'ai tout allumé et j'ai appuyé sur la gâchette. J'ai dû régler le délai à 1 ms et ma première tentative a placé la Russie au sud de l'Australie. J'ai également appris que l'image s'affiche à l'envers, d'après ce à quoi je m'attendais, ce qui était une solution facile pour simplement retourner l'anneau entier. La vidéo ci-jointe est de mon dernier test réussi. Il est maintenant temps pour une base avec un moteur permanent et un régulateur de vitesse.

JOUER AU TEST DE GLOBE DE PLOMB

Étape 8: Terminer

Finir!
Finir!
Finir!
Finir!
Finir!
Finir!

J'ai câblé l'interrupteur d'éclairage comme sectionneur pour mon moteur, puis j'ai câblé le contrôleur de vitesse du ventilateur entre le sectionneur et le moteur. Cela me donne un moyen de couper l'alimentation rapidement et d'avoir un contrôle raisonnablement bon de la vitesse du moteur. Maintenant, j'avais besoin d'un moyen de connecter le moteur au globe. L'arbre du moteur était de 17/64" et le filetage que j'ai utilisé pour le globe est de 5/16". Un coupleur 5/16" aurait pu être juste l'astuce, mais malheureusement je n'avais que des coupleurs 3/8" qui étaient inutiles. Au lieu de cela, j'ai trouvé un morceau de stock rond en aluminium de 1/2 "et j'ai coupé un morceau de 2" de long et j'ai percé un trou de 17/64" au centre. Cette taille de trou convenait pour tarauder un filetage 5/16-18 à mi-chemin du stock rond. J'ai également percé et taraudé un petit trou sur le côté pour visser une vis de réglage pour l'arbre du moteur, puis j'ai vissé le globe et utilisé un contre-écrou pour le fixer. Le moteur Dirt Devil tourne assez vite pour faire sauter le trou l'assemblage, j'ai donc dû ajuster la vitesse aussi bas que possible. À cette vitesse, le moteur ne commencera pas réellement à tourner, ce qui rend le fonctionnement de la plate-forme un peu délicat. Ce que je dois faire est d'empêcher le globe de tourner et de soulever lentement le vitesse jusqu'à ce que le moteur démarre, alors je peux ralentir la vitesse et relâcher le globe. Enfin, avec un réglage fin et délicat, je peux obtenir un excellent effet de rotation lente.

LIRE LA VIDÉO

Conseillé: