Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Cube LED 5x5x5

Composants et fournitures

Arduino Mega 2560
× 1
LED bleue
× 125
Transistor NTE85 NPN
× 5
Fil de cuivre étamé de calibre 22
Utilisé pour lier les couches ensemble et amener les cathodes des couches jusqu'à la carte principale
× 1
Résistance de 180 ohms, 1/4 watt
× 25
Planche de prototypage 9 cm x 15 cm
× 1
Résistance de 330 ohms, 1/4 watt
× 5
En option - Alimentation 9 volts pour MEGA
Le câble USB alimentera bien ce cube, mais si vous voulez le brancher, voici une alimentation
× 1

Outils et machines nécessaires

Fer à souder (générique)
Pistolet à colle chaude (générique)
Blue Tack
Utilisé pour maintenir les LED en place pendant le soudage

Applications et services en ligne

Arduino IDE

À propos de ce projet

PRÉSENTATION

La plupart des gens adorent les cubes LED, mais les gros, comme 8x8x8, demandent beaucoup de travail à la fois à construire et à programmer. Les petits (3x3x3 ou 4x4x4) sont faciles à construire, à la fois parce qu'ils ne nécessitent pas un grand nombre de LED, mais aussi parce qu'ils ne nécessitent pas de matériel externe comme des registres à décalage et des pilotes high-side pour gérer le cube. Mais ce n'est vraiment pas la même chose qu'un gros cube.

Mon objectif depuis le début de ce projet était de créer un cube facile à construire, puis de créer suffisamment de logiciels sympas pour permettre de profiter de la sensation d'un gros cube sans toutes les corvées nécessaires pour en construire un grand. Il s'agit donc d'un cube 5x5x5 qui peut être alimenté directement par un Arduino Mega sans registres à décalage de tout matériel auxiliaire autre que 5 transistors (utilisés pour tirer une couche entière - les cathodes de 25 LED, à la terre). Pourquoi est-ce que je veux éviter les registres à décalage ? Parce qu'ils sont absolument horribles à manipuler. (Je l'ai essayé.) Vous devez vraiment concevoir et fabriquer une carte PC si vous voulez les utiliser.

J'ai écrit beaucoup de code pour les gros cubes dans le passé, j'ai donc adapté un tas d'animations de cubes existantes pour qu'elles s'exécutent sur ce cube 5x5x5.

C'est en fait le premier de trois projets comme celui-ci. Le 2ème est là. C'est un cube RVB 5x5x5, de conception très similaire à ce cube, mais plus difficile à construire. Le troisième est ici - un cube de couleur unique 8x8x8, encore une fois avec un minimum de matériel externe.

REMARQUE :avant d'aller plus loin, je ne suis pas le premier à suggérer un cube 5x5x5 alimenté par un MEGA. MEGA DAS a publié un projet similaire ici en 2017. Le matériel des deux projets est presque identique. je n'avais pas vu le plus tôt jusqu'à ce que je commence cet article, donc mes brochages sont différents, et le résistance valeurs sont différent, mais sinon, le matériel est presque identique. Je publie ceci principalement parce que j'ai beaucoup d'expérience dans l'écriture de logiciels de cube. J'espère que mon logiciel convaincra quelques personnes de construire un cube qui ne le pourraient pas autrement !

La vidéo ci-dessus est une fonction d'onde sinusoïdale où l'amplitude est sur l'axe z et le temps est représenté par la distance horizontale du centre du cube. C'est un grand classique sur un gros cube, mais pas trop mal sur ce 5x5x5 !

J'inclus deux autres vidéos. Les deux sont de la même chose - 14 animations pour le cube 5x5x5. Je ne sais pas lequel est le meilleur, alors j'ai inclus les deux. Et au cas où ce ne serait pas évident, les cubes ont l'air beaucoup plus cool en personne qu'en vidéo !

MATÉRIEL

Le Mega a beaucoup de broches d'E/S numériques. Nous en utilisons 5 pour abaisser les cathodes de chaque couche et 25 de plus pour abaisser les anodes pour chacune des 25 LED d'une couche. En utilisant cette approche, le Mega a en fait suffisamment de broches IO pour construire un cube 6x6x6. Mais l'autre considération, si nous essayons de garder cela simple, c'est le pouvoir. Les limites de courant du Mega sont de 40 ma par broche et de 200 ma au total sur toutes les broches. Les LED bleues ont une chute directe d'environ 3 volts, nos transistors à cathode commune chutent encore de 0,7 volts. Ainsi, avec une alimentation de 5 volts et une résistance de 180 ohms, chaque LED consommera 7,2 ma. 25 LED/couche consomment 180 mA si toutes sont allumées en même temps. Nous n'activons qu'une couche à la fois, nous respectons donc toutes les limitations de courant du Mega, tant que nous utilisons des transistors NPN pour mettre toutes les cathodes d'une couche à la terre. Le courant de base de l'un de ces transistors ajoute 5 ma supplémentaires à la charge totale du Mega, mais nous maintenons le total en dessous de 200 ma. à environ 185 ma. Donc, pour toutes les raisons ci-dessus, j'ai choisi des résistances de 180 ohms à coupler avec nos LED.

Le graphique ci-dessus montre comment les broches numériques de Mega se connectent au cube. Les broches 22 à 26 sont les 5 broches qui pilotent les transistors qui relient les cathodes de la LED à la terre. Les broches 27-51 traversent les résistances de 180 ohms jusqu'aux anodes de 25 LED dans une couche.

Vous vous demandez peut-être pourquoi cet arrangement de brochage semble légèrement déroutant. Mon logiciel utilise un accès direct au port plutôt que digitalWrites pour configurer les anodes, c'est-à-dire pour activer ou désactiver chacune des 25 LED d'une couche. Cela permet de gagner beaucoup de temps et signifie que les LED sont allumées plus longtemps qu'elles ne le seraient si vous passiez beaucoup de temps à faire des digitalWrites. Ainsi, les brochages sont organisés de manière à aider à organiser les références à ces ports numériques plutôt que les numéros de broche réels. Plus sur tout cela quand nous arrivons au logiciel.

CONSTRUCTION DE CUBES

Il existe de nombreuses opinions sur la façon de construire un cube, quelle que soit sa taille. La tâche est fastidieuse quelle que soit votre approche. Et vous devez faire preuve à la fois de soin et de patience pour obtenir un bon résultat. Je vais vous montrer comment j'ai construit celui-ci, mais il y a d'autres instructions en ligne si vous préférez.

La construction de ce cube commence par la formation de plomb et le soudage des LED ensemble en colonnes de 5. Ensuite, les panneaux sont formés en soudant ensemble 5 colonnes, et enfin le cube est formé en soudant ensemble 5 panneaux. Les personnes qui n'ont jamais construit de cube auparavant ne réalisent pas à quel point il est difficile de construire un cube parfait. De petites erreurs dans les angles d'attaque s'accumulent rapidement et même de petites différences d'espacement sont facilement visibles. L'étape de formation du plomb est donc critique. Si vous prenez votre temps et que vous le faites correctement, vous n'obtiendrez pas un cube parfait, mais vous en obtiendrez un qui semble raisonnable.

Les anodes sont le fil le plus long de la LED et elles descendent, mais elles doivent être pliées sur le côté de la LED afin que les rangées verticales d'anodes de LED puissent être soudées ensemble. Le décalage d'anode et le fil de cathode doivent être à 90 degrés l'un de l'autre, comme indiqué sur ces photos.

Personnellement, je trouve que la formation du plomb est à la fois fastidieuse et dure pour les mains, alors je forme 25 LED, puis je construis un panneau. Vous aurez besoin d'une sorte de gabarit à la fois pour faire les colonnes et les panneaux. Je fais ce jigging en utilisant BlueTack, un adhésif réutilisable. Les LED peuvent être enfoncées dans le BlueTack et rester en place pendant que les colonnes et les panneaux sont soudés. Les indentations vous permettent de répéter ces processus avec exactement les mêmes espacements. Il est important la première fois de tout mesurer très soigneusement. J'ai utilisé un espacement de 0,6 pouce entre les LED dans les trois directions, permettant à mon cube fini d'être inséré dans une carte avec un espacement standard des trous de 0,1 pouce.

Une note sur la soudure des LED ensemble :Chaque cauchemar des créateurs de cubes consiste à construire un cube et à découvrir un joint de soudure à froid à l'intérieur du cube où vous ne pouvez plus y accéder ! Assurez-vous au fur et à mesure que les joints de soudure sont bons sur chaque colonne de LED que vous construisez.

Lorsque vous avez terminé chaque panneau, il est temps de le tester. Encore une fois, nous le faisons car découvrir un joint de soudure à froid ou une mauvaise LED lorsque votre cube est terminé serait désastreux !

Dans le logiciel, j'ai inclus un petit croquis qui teste un panneau. Pour effectuer ce test, vous devez connecter les 5 fils d'anode verticaux à 5 résistances (330 ohms ou similaire), puis ces résistances aux broches 40-44 (les broches de l'anode de la colonne 0). Connectez ensuite les 5 broches des cathodes aux broches normalement utilisées pour entraîner les cathodes, les broches 22-26. Un bon panneau ressemblera à la vidéo ci-dessus. (En remarque, nous n'utilisons pas encore de transistors pour piloter les cathodes, donc cette petite routine de test pilote les cathodes bas pour allumer une LED. Une fois les transistors installés, nous ferons l'inverse, c'est à dire piloter les cathodes haut pour allumer sur les transistors qui tirent alors les cathodes vers le bas.)

Lorsque nous avons construit et testé 5 panneaux, nous sommes prêts à assembler le cube, mais nous devons d'abord préparer la carte en insérant et en connectant toutes les résistances et transistors nécessaires.

J'ai placé les résistances de 180 ohms juste à côté de chaque colonne d'anodes et les transistors de cathode et leurs résistances de base dans l'espace entre le cube et le Mega. Encore une fois, l'espacement entre les colonnes d'anode est de 0,6 pouce dans les deux sens, donc 5 trous vides dans la planche entre chaque trou avec une colonne d'anode.

C'est maintenant le bon moment pour mettre l'Arduino sur la carte. Il peut être monté sur des entretoises si vous en avez. En fait, j'ai juste utilisé un petit morceau de plastique et un peu de colle pour fixer mon Mega à environ 1/4 de pouce au-dessus du tableau.

Les panneaux sont chacun attachés à la carte principale à ce stade. Assurez-vous que chaque colonne d'anode est vraiment dans le bon trou avant de souder, car même une erreur d'un trou sera perceptible dans votre cube fini. Et assurez-vous de garder tous les panneaux orientés de la même manière, c'est-à-dire tous les fils cathodiques sortent du même côté.

Ensuite, nous devons connecter les panneaux les uns aux autres à chaque couche, de sorte que toutes les cathodes d'une couche donnée soient connectées. Ceci est accompli avec un morceau de fil de cuivre étamé redressé reliant les cinq lignes cathodiques d'une couche ensemble.

Ensuite, nous sommes prêts à connecter les cathodes de chaque couche à la carte principale. Les cercles dans l'image ci-dessus montrent où les cathodes de chaque couche sont connectées et amenées au collecteur d'un transistor. Encore une fois, nous utilisons un morceau de fil de cuivre étamé redressé.

Une fois que vous avez connecté tous les fils des résistances au Mega, nous sommes enfin prêts à tester le cube fini. Dans le logiciel, j'ai fourni un croquis pour tester le cube. Il allumera brièvement chaque LED du cube dans l'ordre. Étant donné que vous avez déjà testé chaque panneau, tous les problèmes que vous voyez à ce stade concerneront très probablement les connexions cathodiques récentes. Ainsi, vous pourriez trouver qu'une couche ne fonctionne pas ou qu'elle fait partie d'une couche. Encore une fois, vous aurez probablement un joint de soudure à froid en cas de problème.

LOGICIEL

L'état de chaque LED du cube est défini par un tableau global de 5x5x5 octets appelé cube[ ][ ][ ]. Un 1 signifie que la LED est allumée, un 0 qu'elle est éteinte. Donc toutes les animations du cube sont créées en plaçant des 1 et des 0 dans le cube[ ][ ][ ].

Le cœur de tout logiciel de cube est l'interruption temporisée qui rafraîchit le cube. Ma routine d'interruption est lancée dans setup() et réside ensuite à la toute fin du programme. Il est appelé toutes les 10 ms. et prend environ 6 ms. pour rafraîchir le cube. Cela laisse 4 ms. entre chaque rafraîchissement pour l'exécution de choses dans la boucle principale.

Pendant l'actualisation, chaque couche est activée pendant 1,2 ms. L'actualisation se produit 100 fois par seconde. Ainsi, toute LED individuelle allumée est allumée pendant 120 ms/seconde ou un cycle de service de 12%. Les 100 fois par seconde sont assez rapides pour que l'œil humain le voit comme allumé en continu, et le cycle d'utilisation de 12% est suffisant pour que les LED s'allument assez brillamment, pas autant que si elles étaient allumées en continu, mais étonnamment proche de cela .

Pour garder le cycle de rafraîchissement aussi court que possible et maximiser la durée d'allumage des LED, nous évitons de perdre du temps avec les commandes digitalWrite et utilisons un accès direct au port pour configurer les broches. Si vous regardez le code dans la routine d'interruption, vous verrez 25 lignes distinctes où ce port direct est utilisé, ce qui n'a pas l'air très joli, mais est en fait beaucoup, beaucoup plus rapide que les quelques lignes de code qui pourraient être utilisé pour définir les broches avec digitalWrite.

La boucle() appelle simplement chaque animation, parcourt la liste puis recommence. Les animations sont chacune dans le propre sous-programme. Certaines routines d'animation appellent d'autres routines. Voir le code lui-même pour des explications sur les différentes animations. Il existe également quelques routines utilitaires utilisées par toutes les animations, telles que clearCube() qui éteint toutes les LED, ou copyDown(); qui déplace le contenu de chaque calque vers le calque inférieur, puis efface le calque supérieur.

Vous pouvez télécharger trois croquis différents. La principale contient les 15 animations que vous avez vues dans la vidéo. Les esquisses de test de panneau et de test de cube ne sont utilisées que pour tester votre cube pendant la construction.

Code

  • Logiciel 5x5x5 Cube
Logiciel 5x5x5 CubeArduino
Contient 3 croquis :Panel Test, Cube Test,
et The Show avec les 15 animations
Aucun aperçu (téléchargement uniquement).

Pièces et boîtiers personnalisés

Totalement facultatif, mais si vous avez accès à une imprimante 3D et souhaitez la box que vous voyez dans mes vidéos, la voici :

Schémas

Un schéma des bases Affiche les connexions exactes entre le cube et Mega

Processus de fabrication

  1. Planche à repasser
  2. Cube de Rubik
  3. Carte de circuit imprimé
  4. Planche de surf
  5. diode électroluminescente (DEL)
  6. Carte RaspiRobot V2
  7. Horloge de mots simple (Arduino)
  8. Mélodie de la danse du cercueil
  9. Carte Smart Touch Switch