Table des matières:
- Étape 1: Matériaux
- Étape 2: Construire l'anneau
- Étape 3: faire le circuit
- Étape 4: Tout assembler
- Étape 5: Dessiner le globe
- Étape 6: le code
- Étape 7: Tester
- Étape 8: Terminer
Vidéo: (POV) Persistance du globe de vision : 8 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
!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
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
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
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
!!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
!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
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
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é:
Persistance du personnel LED Vision : 11 étapes (avec photos)
Persistance de la vision du personnel LED : il est bien connu que même après qu'une lumière a été éteinte, l'œil humain continue de « voir » pendant une fraction de seconde. C'est ce qu'on appelle la persistance de la vision, ou POV, et cela permet de " peindre ". images en déplaçant rapidement une bande o
Persistance de Vision Fidget Spinner : 8 étapes (avec photos)
Persistance de la vision Fidget Spinner : il s'agit d'une fidget spinner qui utilise l'effet Persistence of Vision qui est une illusion d'optique dans laquelle plusieurs images discrètes se fondent en une seule image dans l'esprit humain. Le texte ou les graphiques peuvent être modifiés via une liaison Bluetooth Low Energy en utilisant un P
Persistance de la vision DIY : 6 étapes (avec photos)
Persistance de la vision DIY : dans ce projet, je vais vous présenter la perspective de la vision ou l'affichage POV avec quelques fournitures telles que des capteurs Arduino et Hall pour créer un affichage rotatif qui affiche tout ce que vous aimez, comme du texte, l'heure et d'autres caractères spéciaux
Double affichage à 7 segments contrôlé par potentiomètre dans CircuitPython - Démonstration de la persistance de la vision : 9 étapes (avec photos)
Deux écrans à 7 segments contrôlés par un potentiomètre dans CircuitPython - Démonstration de la persistance de la vision : ce projet utilise un potentiomètre pour contrôler l'affichage sur quelques écrans à LED à 7 segments (F5161AH). Lorsque le bouton du potentiomètre est tourné, le nombre affiché change dans la plage de 0 à 99. Une seule LED est allumée à tout moment, très brièvement, mais le
MAKE Controller Persistance de l'effet de vision avec LED : 4 étapes
MAKE Controller Persistance de l'effet Vision avec LED : Bonjour, c'est mon premier instructable et j'espère que vous l'aimerez. C'est un projet simple, utilisant MAKE Controller (un contrôleur très utile de www.makezine.com), qui crée un effet de persistance de vision à l'aide de LED. Lorsque vous déplacez rapidement le tableau, vous pouvez