Table des matières:

Cube LED RVB avec application Bluetooth + AnimationCreator : 14 étapes (avec photos)
Cube LED RVB avec application Bluetooth + AnimationCreator : 14 étapes (avec photos)

Vidéo: Cube LED RVB avec application Bluetooth + AnimationCreator : 14 étapes (avec photos)

Vidéo: Cube LED RVB avec application Bluetooth + AnimationCreator : 14 étapes (avec photos)
Vidéo: How To Use Addressable RGB WS2812B LED Strips With a Raspberry Pi Single Board Computer 2024, Novembre
Anonim
Cube LED RVB avec application Bluetooth + AnimationCreator
Cube LED RVB avec application Bluetooth + AnimationCreator

Il s'agit d'une instructable sur la façon de construire un Cube LED RVB 6x6x6 (Anodes communes) contrôlé par une application Bluetooth à l'aide d'un Arduino Nano. L'ensemble de la construction est facilement adaptable à un cube disons 4x4x4 ou 8x8x8. Ce projet est inspiré de GreatScott. J'ai décidé d'opter pour une construction plus sophistiquée utilisant des LED plus grandes (8 mm), avec moins de distance + l'ajout d'une communication Bluetooth, ce qui facilite l'ajout de nouvelles fonctions et ajoute également la possibilité de créer une application pour contrôler le cube. Cela me permet également, par ex. codez un Snake Game (3ème vidéo vitrine à la fin). En plus de cela, j'ai ajouté un mode Audio Visualizer qui permet au cube de visualiser une entrée AUX, par exemple. Musique à l'aide d'un MSGEQ7 (vidéo de présentation à la fin). De plus, j'ai écrit une application AnimationCreator en Java avec une interface utilisateur facile à utiliser pour créer et modifier des animations, afin que tout le monde puisse créer des animations personnalisées très rapidement. Ainsi, l'application Sketch + Bluetooth fournit un cadre pour toute configuration de cube LED et avec Animation Creator, vous n'avez pas à vous soucier de la mise en œuvre d'animations personnalisées.

Liens vers l'application Arduino Sketch et Bluetooth:

RGBCube_Arduino Sketch (Github) + Animation Creator.jar

Application Bluetooth Cubo (Github)

Liste des pièces pour le Cube:

  • 216x RVB LED (Anode Commune) (8mm)(AliExpress / Ebay) -> 6x6x6=216
  • Câble ruban (1m 40Pin devrait être suffisant) (AliExpress / Ebay / Amazon)
  • En-têtes femelles et mâles (au moins 4x40 broches chacun) (AliExpress / Ebay / Amazon)
  • Fil de cuivre/argent étamé 0,8 mm (~ 25 mètres) (AliExpress / Ebay / Amazon)
  • Tube rétractable (AliExpress / Ebay / Amazon)

Liste des pièces pour les tableaux de commande:

  • 7 x pilote LED TLC5940 (Ebay/AliExpress)
  • 6 x MOSFET IRF 9540 P-Channel (Amazon/Ebay/AliExpress)
  • Condensateurs 8 x 10 uF (Amazon/Ebay/AliExpress)
  • 3 condensateurs 1000 uF (Amazon/Ebay/AliExpress)
  • Résistances 14x 2.2kOhm (Amazon/Ebay/AliExpress)
  • 1 x résistance 1kOhm (Amazon/Ebay/AliExpress)
  • 7 x 28 broches IC Sockets (Amazon/Ebay/AliExpress)
  • 1 x Arduino Nano (Amazon/Ebay/AliExpress)
  • 1 x 1N4001 Diode (Toute Diode commune) (Amazon/Ebay/AliExpress)
  • 8 condensateurs 0,1 uF (Ebay)
  • 1 x support PCB DC Jack (Amazon/Ebay/AliExpress)
  • 1 x module Bluetooth HC-05 (Amazon/Ebay/AliExpress)

Étape 1: Théorie

Théorie
Théorie

Si vous n'êtes pas intéressé par la théorie du multiplexage, passez à l'étape 2 pour le début de la construction réelle

Étant donné que le matériel et les logiciels sont des éléments tout aussi importants de ce projet, examinons d'abord la théorie.

Le cerveau du cube est un Arduino Nano. Il fournit suffisamment d'E/S pour interagir avec les pilotes LED utilisés ainsi que pour établir une connexion Bluetooth avec un module HC-05 et d'autres matériels de contrôle. Si vous avez regardé d'autres versions de LED Cube, vous saurez que la plupart des gens utilisent de simples registres à décalage pour stocker les valeurs de luminosité des couleurs des LED individuelles. Cette version n'utilise pas de registres à décalage, mais à la place des pilotes de LED "TLC5940". Comme nous le verrons plus tard, cela nous fait gagner beaucoup de temps ainsi que des tonnes de matériel supplémentaire (par exemple des résistances).

La fonctionnalité de base du contrôle du cube utilise le multiplexage. Dans ce cas, nous multiplexons les 6 couches du cube, ce qui signifie que toutes les anodes (+) de toutes les LED d'une couche sont connectées, tandis que les cathodes individuelles de toutes les LED de la même colonne sont connectées vers le bas. Cela signifie que si vous voulez allumer la LED à la position x=1, y=2, z=3, couleur: vert vous devez fournir 5V à l'anode de la couche 3 et connecter GND à la cathode de la colonne correspondant à Broche verte de x=1, y=2. Donc, en réalité, à un moment donné, une seule couche du cube est réellement activée, mais comme vous le verrez plus tard dans le code, nous éteignons et réactivons les couches individuelles si rapidement que notre œil pense que tout le cube est activé..

Pour contrôler des éléments tels que la luminosité, les animations, etc., nous utilisons un module Bluetooth HC-05 connecté à l'Arduino Nano. Il est très simple d'utiliser le module avec un Arduino car vous n'avez besoin que d'une connexion 4 broches et pouvez simplement interfacer le module via la communication série par défaut de l'Arduino. Vers la fin de cette instructable, vous verrez à quel point il est facile d'écrire votre propre application Bluetooth pour contrôler le Cube.

REMARQUE

Dans mon schéma de la carte de circuit Arduino, vous pouvez également voir un petit schéma pour l'interfaçage d'une puce MSGEQ7 pour traiter l'entrée audio, ce n'est absolument pas nécessaire pour le cube réel et c'est juste une fonctionnalité supplémentaire que j'ai ajoutée, vous pouvez donc simplement ignorer le schéma marqué avec "MSGEQ7"

Étape 2: Matériel: Construire un cube LED

Matériel: Construire un cube LED
Matériel: Construire un cube LED
Matériel: Construire un cube LED
Matériel: Construire un cube LED
Matériel: Construire un cube LED
Matériel: Construire un cube LED

Voyons donc comment construire le Cube lui-même, avant de parler du circuit de contrôle autour de l'Arduino Nano.

Liste des pièces pour la construction du cube:

  • 216x RVB LED (Anode commune) (AliExpress / Ebay) -> 6x6x6=216
  • Câble ruban (1m 40Pin devrait être suffisant) (AliExpress / Ebay / Amazon)
  • En-têtes femelles et mâles (au moins 4x40pin) (AliExpress/Ebay/Amazon)
  • Fil de cuivre/argent étamé 0,8 mm (~ 25 mètres) (AliExpress / Ebay / Amazon)
  • Tube rétractable (AliExpress / Ebay / Amazon)

La première chose à faire, et moi maintenant c'est fastidieux mais nécessaire, il faut tester les leds. Pour ce faire, nous connectons simplement une alimentation, par exemple un bloc de batterie 9V avec clip à une platine. Comme vous pouvez le voir sur l'image 3, la broche la plus longue des LED est l'anode (+) donc vous connectez cette broche au +9V de la batterie. Maintenant, avant de connecter GND aux cathodes de couleurs individuelles (rouge, vert, bleu), ajoutez une résistance de 220 ohms à chaque cathode pour limiter le courant. Amusez-vous maintenant à tester toutes les couleurs des 216 LED.

Dans l'étape suivante, nous préparerons les LED testées afin de pouvoir les assembler facilement en colonnes plus tard.

Étape 3: rangées de LED

Lignes LED
Lignes LED
Lignes LED
Lignes LED
Lignes LED
Lignes LED

Avant de pouvoir souder les LED dans leurs rangées respectives, nous devons plier et couper les fils.

Comme vous pouvez le voir sur la première photo, j'ai simplement percé un trou de 8 mm (pour les LED de 8 mm) dans un morceau de bois et j'ai percé 3 très petits forets à gauche du trou de LED et un autre à droite du trou. Ces forets sont des marqueurs pour plier correctement les fils et doivent avoir une distance d'environ 1 cm du milieu du trou pour la LED.

Cette technique est inspirée de Steve Manley, vous pouvez trouver une vidéo de lui faisant cela dans une légère variation sur YouTube.

Avant de couper et plier les fils autour des forets comme sur les images 2 et 3, assurez-vous que l'orientation des fils correspond à l'image 1 (Bleu en haut à gauche, puis vert, puis anode + à droite, et rouge à gauche). Le cercle que vous avez plié dans les fils doit avoir un diamètre suffisamment grand pour s'adapter au fil de cuivre étamé (0,8 mm). Cette étape facilite magnifiquement la soudure des LED en place.

Maintenant que toutes les LED sont préparées, nous voulons les assembler en rangées de 6 où les Anodes (+) sont connectées:

  1. Construisez un petit gabarit comme sur l'image 6, percez 6 trous (diamètre 0,8 mm) avec une distance de 2,5 cm jusqu'au trou suivant. Cela nous permet d'installer 6 LED à la fois dans le gabarit
  2. Pour connecter les anodes, nous avons besoin d'un morceau de fil de cuivre étamé droit d'environ 16 cm de longueur (avec une marge supplémentaire). Pour obtenir le fil bien droit, vous pouvez monter une extrémité du fil dans, par exemple, une perceuse électrique, fixer environ 2 m de fils à la fois sur une table, puis tenir la perceuse de sorte que le fil soit tendu et tendu et allumer la perceuse pendant quelques secondes avec redresse le fil très rapidement. Vous pouvez ensuite couper le fil juste à l'endroit où vous avez fixé la pièce. Vous pouvez également utiliser deux pinces et serrer de plus petits morceaux de fil à la fois, mais c'est beaucoup plus fastidieux
  3. Une fois que vous avez des fils de 16 cm de long, vous les dirigez à travers les trous d'anode (+) des LED dans le gabarit et soudez les broches d'anode au fil (image 7)

Pour le cube entier, nous aurons besoin de 6x6 = 36 de ces rangées de LED

Étape 4: Assemblage des couches

Assemblage de couches
Assemblage de couches
Assemblage de couches
Assemblage de couches
Assemblage de couches
Assemblage de couches

Comme je l'ai mentionné précédemment, nous allons multiplexer les couches du cube, mais pour l'assemblage, il est plus facile de construire 6 murs de 6x6 LED puis de les assembler les uns à côté des autres et de faire simplement passer un seul fil de cuivre étamé reliant les anodes du rangées dans une couche ensemble.

Attention, cette étape demande beaucoup de temps et de patience pour bien la faire, au total vous devrez souder environ 1000 joints de soudure pour la construction alors prenez votre temps !

Pour construire un mur LED:

  1. Pour le gabarit: Nous avons besoin d'un morceau de bois avec 6 lignes sculptées pour emboîter 6 rangées les unes au-dessus des autres pour construire un mur. Vous pouvez voir le gabarit lui-même sur l'image 2 (distances entre les rangs: 2,5 cm)
  2. Vous insérez les 6 rangées de LED dans les sculptures, avec le fil d'anode face vers le bas dans la ligne sculptée, de sorte que les 3 cathodes (R, G, B) soient tournées vers le haut
  3. Pour connecter les cathodes placées les unes au-dessus des autres (voir photo 2), nous avons besoin de plus de fil (donc encore une fois nous 6 colonnes x 3 cathodes x 6 murs = 108 morceaux de fil étamé comme décrit dans la dernière étape (2.) (même longueur également))
  4. Faites glisser les morceaux de fil du bas d'une colonne à travers les trous des cathodes jusqu'à la rangée supérieure et soudez le fil en place à chaque LED

Vous faites cela 6 fois pour obtenir 6 murs de LED.

Nous pouvons maintenant assembler les murs dans le cube lui-même. Mais pour tenir le cube, nous devons construire une sorte de plan de masse. Pour cela, j'ai simplement utilisé du contreplaqué fin et j'y ai percé de petits trous de 0,8 mm pour insérer les fils suspendus aux rangées de LED les plus basses (pour les 6 murs LED). Les mesures des trous d'une seule LED sont documentées à l'étape 3 et les distances entre chaque LED sont de 2,5 cm.

Avec les trous en place, nous prenons maintenant le premier mur et le manœuvrons dans les trous à l'extrême gauche du contreplaqué. La rangée de LED en bas doit reposer directement sur le bois, de sorte qu'à la fin tous les murs soient alignés de la même manière.

Continuez à faire la même chose avec le reste des murs LED, mais rappelez-vous que les anodes des murs font toujours face à la même direction. (sur la photo 3 toutes les anodes des murs sont tournées vers la gauche)

Une fois que l'ensemble du cube est en place, nous devons souder les anodes de chaque couche ensemble. Pour ce faire, nous prenons un autre morceau de fil droit d'environ 16 cm et le posons sur la première couche, de sorte que le fil touche tous les fils d'anode des 6 murs d'une seule couche. Attention à ce que le nouveau fil ne touche aucune des cathodes. Soudez le fil en place et répétez la même chose pour les 5 couches restantes.

Étape 5: Câblage du cube

Carte de commande de LED
Carte de commande de LED
Carte de commande de LED
Carte de commande de LED
Carte de commande de LED
Carte de commande de LED

Pièces pour la carte de commande LED:

  • 7 x TLC5940
  • Condensateurs 6/7 x 10 uF
  • 2 x 1000 uF condensateurs
  • 7 résistances 2.2kOhm
  • 7 prises IC 28 broches
  • Condensateurs 7 x 0,1 uF
  • Câble plat

Passant aux circuits de contrôle, jetons d'abord un coup d'œil à la carte LED Driver. Comme mentionné précédemment, nous avons besoin de 7 TLC5940 connectés à l'Arduino Nano. Toutes les puces TLC5940 sont connectées en guirlande, ce qui signifie que toutes les broches de contrôle des pilotes sont interconnectées (par exemple, la broche BLANK du premier TLC est connectée à BLANK du deuxième, troisième, quatrième, … TLC) et sont toutes connectées à l'Arduino avec les mêmes fils, sauf le Serial In qui est d'abord connecté d'une broche numérique Arduino au premier TLC, puis la broche Serial Out de ce premier TLC est connectée à la broche SIN du deuxième TLC et ainsi de suite (voir photo 4)…

Le schéma de la carte TLC est donc assez simple, comme vous pouvez le voir dans le schéma ci-joint.

(SI VOUS VOULEZ GRAVURE LA CARTE, PASSEZ À L'ÉTAPE 8)

J'ai également joint une capture d'écran du schéma dans les frisottis, qui comprend des étiquettes de broche et également un fichier GIMP.xcf avec des couches séparées pour chaque connexion de broche de contrôle.

Commencez par souder toutes les prises IC en place, puis ajoutez les condensateurs 100 nF à chaque TLC, suivis des résistances 2,2 kOhm à IREF et GND et de l'en-tête à 7 broches dans le coin supérieur droit. Après cela, vous pouvez simplement suivre le fichier.xcf en en commençant par la "couche SIN" dans le fichier Gimp qui montre comment connecter les broches série IN/OUT des pilotes à l'aide de câbles ruban, puis en activant la couche CLK dans GIMP, etc. Assurez-vous que vous avez de bonnes connexions des broches + et - à l'en-tête des broches en haut à droite Le reste du schéma devrait être explicite, mais assurez-vous d'ajouter suffisamment de condensateurs 1000 uF et 10 uF à la carte, ce n'est pas si pertinent où exactement vous les positionnez.

Une fois cette carte terminée, vous pouvez passer à la carte Arduino à l'étape suivante.

Étape 7: Carte de contrôle Arduino + Bluetooth

Carte de contrôle Arduino + Bluetooth
Carte de contrôle Arduino + Bluetooth

Pièces pour la carte de contrôle:

  • 6 x MOSFET à canal P IRF 9540
  • 1 x 10 uF Condensateurs
  • 1 x 1000 uF Condensateurs
  • 7 résistances de 2,2 kOhm
  • 1 résistance 1kOhm
  • 2 x 14 broches femelle en-tête
  • 1 x Arduino Nano
  • 1x1N4001 Diode
  • 1 condensateurs 0,1 uF
  • 1 x support de carte PCB DC Jack
  • 1 module Bluetooth HC-05
  • 1 prise audio 3,5 mm

La carte de contrôle Arduino gère principalement le multiplexage et fournit la contrepartie de l'en-tête de broche de la carte de commande de LED.

Soudure sur perfboard:

  1. Placez deux en-têtes de broches femelles pour servir de socket pour l'Arduino au milieu de la carte.
  2. Placez les 6 MOSFET côte à côte sur le côté droit de l'Arduino (le côté avec les broches analogiques) et ajoutez une résistance de 2,2 kOhm entre la première et la dernière broche chacune.
  3. Placez maintenant l'en-tête à 6 broches devant les MOSFET (au milieu de la rangée) et connectez les 6 broches DRAIN des FET (broche du milieu) à l'en-tête et les broches GATE (broche gauche) des FET aux broches analogiques Arduino respectives.
  4. Ensuite, soudez l'en-tête à 7 broches pour la connexion LEDDriver de l'autre côté de l'Arduino, laissez de l'espace pour les câbles et soudez toutes les connexions de l'Arduino à l'en-tête à broches.
  5. Ajoutez quelques condensateurs (1-2 1000uF, 1 10uF, 100nF à côté de l'Arduino) pour les drains de courant possibles.
  6. Soudez un en-tête à 4 broches à côté de l'arrière de l'Arduino pour le module HC-05 et effectuez les 4 connexions à VCC, RX, TX, GND et n'oubliez pas de créer un diviseur de tension à partir de la broche RX du HC-05 et la broche TX de l'Arduino (voir ici)
  7. Placez la prise DC sur n'importe quel bord de la carte avec un interrupteur à côté et connectez la broche droite de l'interrupteur à la broche + de la prise DC
  8. Enfin, effectuez toutes les connexions d'alimentation nécessaires de la broche GND de la prise CC et de la broche droite du commutateur (VCC) à l'Arduino, aux MOSFET, aux condensateurs et au HC-05, comme indiqué sur le schéma. N'oubliez pas d'ajouter la diode en accordant uniquement l'alimentation de la broche VCC du commutateur à la broche Arduinos 5V, et non l'inverse (cela protège l'Arduino lors de sa programmation via une connexion USB)

Pour la connexion d'alimentation, j'ai utilisé une prise d'alimentation CC avec un simple interrupteur, vous pouvez également utiliser un connecteur USB si vous le souhaitez. sur la carte Arduino. Comme mentionné dans la première étape, il existe également un circuit de connexion MSGEQ7 dans le schéma, mais ignorez-le simplement si vous n'utilisez pas de MSGEQ7. (Pour plus d'informations sur la fonctionnalité MSGEQ7, cliquez ici)

N'oubliez pas de créer un autre câble ruban à 7 broches avec des en-têtes mâles à chaque extrémité pour connecter la carte Arduino à la carte pilote

Étape 8: Facultatif: gravure des circuits imprimés

Facultatif: gravure des circuits imprimés
Facultatif: gravure des circuits imprimés
Facultatif: gravure des circuits imprimés
Facultatif: gravure des circuits imprimés
Facultatif: gravure des circuits imprimés
Facultatif: gravure des circuits imprimés

Donc, si vous n'aimez pas souder beaucoup de câbles, bien sûr, vous pouvez également graver les PCB nécessaires si vous préférez cela.

Dans mon Cube, la carte Arduino et la carte de connexion Alimentation/Audio sont toutes deux des cartes gravées à l'aide des fichiers schématiques/EAGLE joints. La première fois que j'ai fait une erreur dans le schéma, j'ai dû refaire la carte LED Driver comme je l'ai fait à la dernière étape. Il n'y a pas d'énormes avantages à graver la carte au lieu d'utiliser une carte, alors n'hésitez pas à graver la carte ou à la souder sur une carte perforée.

Dans le fichier.zip ci-joint, vous pouvez trouver à la fois un fichier BOARD ainsi qu'un fichier SCHEMATIC.

Notez que les traces de la couche supérieure (rouge) sont censées être des ponts métalliques (puisque je ne peux pas graver de planches à deux faces à la maison). Les traces non routées présentent les connexions à effectuer via des câbles pour les embases à broches femelles.

Le schéma comprend la fonction MSGEQ7, que vous pouvez simplement omettre en supprimant la section du schéma marquée "(MSGEQ7)" dans la capture d'écran du schéma.pdf.

Étape 9: Connecter le Cube

Connecter le cube
Connecter le cube
Connecter le cube
Connecter le cube
Connecter le cube
Connecter le cube

Pour connecter toutes les parties du Cube, commencez par brancher le câble 7 broches sur la carte Arduino et la carte pilote (assurez-vous que l'orientation est correcte !). Ensuite, branchez le module HC05 sur l'en-tête à 4 broches et connectez la carte d'alimentation si elle est séparée.

Pour connecter les en-têtes 7x16 broches du Cube, assurez-vous de commencer par le premier TLC (celui dont la broche SIN est connectée directement à l'Arduino). Trouvez le bon câble 16 broches dans le cube et connectez-le à la première broche de TLC (assurez-vous que le câble pour la cathode n°0 se connecte à la première broche TLC OUT0 !). Continuez et connectez les autres câbles à 16 broches aux en-têtes TLC correspondants dans le bon ordre.

Enfin, connectez le câble 6 broches pour les anodes du cube à l'en-tête 6 broches de la carte de commande à côté des MOSFET.

Pour finir le Cube, j'ai ajouté des murs au boîtier avec un peu plus de contreplaqué avec de la peinture noire dessus et je les ai collés.

Nous avons maintenant terminé avec tout le matériel requis pour l'ensemble de la construction !

Étape 10: Logiciel: Cycle de multiplexage

Logiciel: Cycle de multiplexage
Logiciel: Cycle de multiplexage

Maintenant, en théorie, l'Arduino exécute constamment le cycle suivant:

  1. Si la LayerDuration est passée, chargez les valeurs de la couche suivante dans les TLC, désactivez la couche actuelle, activez la couche suivante, réinitialisez la LayerDuration, validez les nouvelles valeurs dans les TLC
  2. Si la FrameDuration est passée, chargez la nouvelle Frame de l'animation actuelle en stockant les valeurs de toutes les LED et couleurs dans le tampon ValueLed, réinitialisez FrameDuration
  3. Si les données Bluetooth sont disponibles, réagissez (Modifier les animations, la luminosité, …) (plus d'informations plus tard)

Comme vous pouvez le voir, l'objectif principal du code est la vitesse. Il est important que le temps de changement de couche soit minime.

Plus vous activez/désactivez les calques rapidement, plus vous obtiendrez de "cadres". pour un cube LED RVB 6x6x6 comme celui-ci, j'ai compris qu'une durée de couche de 1700 microsecondes. est assez bon pour maintenir le scintillement au minimum et doit être laissé à cette valeur. La FrameDuration contrôle davantage la vitesse de l'animation afin qu'elle puisse être modifiée pour différentes animations.

Dans la prochaine étape, nous verrons comment nous pouvons réellement écrire nos propres animations.

Étape 11: Animations personnalisées

Animations personnalisées
Animations personnalisées
Animations personnalisées
Animations personnalisées

Pour implémenter une animation, nous devons définir le tampon ValueLed sur les valeurs que nous voulons pour la prochaine image à chaque fois que FrameDuration est passé. Nous le faisons en appelant la fonction Macro "SETLED(x, y, z, COLOR, Brightness)"

x, y, z sont les coordonnées de la LED que nous voulons définir et COULEUR (ROUGE, VERT ou BLEU) est la couleur que nous voulons définir et la luminosité est la valeur réelle pour cette couleur particulière que nous définissons.

Ainsi, par exemple, pour implémenter une animation qui affiche simplement les couleurs rouge, verte et bleue de manière aléatoire sur l'ensemble du cube, vous pouvez simplement faire ceci:

void randomLedsFull(){

pour (uint8_t j = 0; j < CUBE_SIZE; j++){ pour (uint8_t x = 0; x < CUBE_SIZE; x++){ pour (uint8_t y = 0; y < CUBE_SIZE; y++){ uint8_t rand = random8(3); SETLED(x, y, j, rand, maxBright); } } } }

Cette méthode est appelée à chaque fois que FrameDuration est passé et est sélectionnée à partir de la commande switch-case dans la boucle(). Si vous écrivez de nouvelles animations, vous pouvez les ajouter en les ajoutant simplement dans le boîtier de commutation.

Étape 12: Supplémentaire: AnimationCreator

Supplémentaire: AnimationCreator
Supplémentaire: AnimationCreator

J'ai également écrit un AnimationCreator en utilisant JavaFX et Java3D.

Il facilite la création et l'édition d'animations personnalisées en fournissant une interface utilisateur facile à comprendre.

Vous pouvez créer, éditer, renommer et reconfigurer des animations pour les cubes LED 4x4x4, 6x6x6 ou 8x8x8

Pour créer une nouvelle animation, appuyez simplement sur Fichier> Nouveau, sous "Cube", vous pouvez sélectionner la taille du cube, pour définir la couleur d'une LED, sélectionnez la couleur que vous voulez avec le sélecteur de couleur à gauche, puis cliquez sur les LED que vous voulez dans cette couleur pour ce cadre. Pour ajouter un autre cadre, appuyez sur "Suivant" ou "+". Le reste des contrôles de l'interface utilisateur est assez explicite, les cases à cocher à côté des calques de cubes permettent de vérifier quels calques doivent être affectés par le décalage et "Keep Frame". Il suffit de le tester et vous comprendrez tout en un rien de temps.

De plus, pour simuler l'animation, vous pouvez cliquer sur le bouton "Afficher 3D" qui ouvre une autre fenêtre avec un modèle Java3D du cube. Vous pouvez faire pivoter la caméra tout en maintenant enfoncé le bouton gauche de la souris (appuyez sur R pour réinitialiser la caméra). Pour lire/mettre en pause l'animation, appuyez sur la touche P, pour réinitialiser l'animation, appuyez sur Q. Le champ de texte sous le bouton "Afficher 3D" FrameTime, ergo la vitesse de votre animation.

Lorsque vous avez terminé avec l'animation, donnez-lui un nom et appuyez sur Fichier> Enregistrer sous… et enregistrez l'animation dans le même dossier que le croquis Cubo_Control.ino.

Pour inclure votre nouvelle animation dans le croquis, ouvrez le Cubo_Control.ino et ajoutez le code suivant au-dessus du croquis:

#include "RGBit.h" //Remplacer

Faites défiler jusqu'à BTEvent () et ajoutez l'instruction case à la casse des animations

switch(curAnim){

… cas 10: animation= &ani_cubesmove[0][0]; FRAME_TIME= ANI_CUBESMOVE_FRAMTIME; maxCount= ANI_CUBESMOVE_FRAMES; Pause; cas 11: //VOTRE NOUVELLE ANIMATION animation= &ani_rgbit[0][0]; FRAME_TIME= RGBIT_FRAMETIME; maxCount= ANI_RGBIT_FRAMES; Pause; }

Étape 13: Application Bluetooth

Application Bluetooth
Application Bluetooth

Pour contrôler réellement le Cube, grâce au module HC-05, il est assez simple de créer une application Bluetooth pour connecter votre téléphone au Cube.

Lien vers l'application: Github

L'application est open source, alors n'hésitez pas à ajouter vous-même des animations / fonctionnalités supplémentaires.

  • Démarrez l'application, elle vous demande d'activer Bluetooth
  • Cliquez sur "Rechercher" et une liste des connexions Bluetooth disponibles apparaît. Identifiez le module HC-05 dans le cube et cliquez dessus.
  • S'il y a une erreur lors de la tentative de connexion au Cube, essayez de coupler manuellement le module HC-05 dans les paramètres Bluetooth
  • Une fois connectée, l'application passe à l'écran de contrôle et la connexion Bluetooth a été établie

Les contrôles

  • Vitesse et luminosité: modifiez les valeurs du curseur pour accélérer/ralentir l'animation ou modifier la luminosité
  • Animations: Cliquez sur un bouton pour changer l'Animation, par défaut les Animations sont en boucle (En partant du haut à gauche le bouton correspond à currAnim)
  • Défilement de texte: cliquez sur le bouton « Texte » qui ouvre une boîte de dialogue pour saisir du texte qui fera défiler le cube
  • Commande: vous pouvez entrer des commandes manuellement avec le champ de texte de commande (consultez la méthode BTEvent () de Cubo_Control.ino pour la syntaxe)
  • Snake: jeu de serpent classique (rouge: pomme, vert: tête de serpent, bleu: queue de serpent) (Commandes: 4 boutons directionnels, haut et bas est déclenché en tournant le téléphone vers l'avant (haut) ou vers l'arrière (bas))
  • Visualiseur audio: MSGEQ7 utilisé pour visualiser 6 bandes audio à partir de la prise AUX (bouton pour l'animation 7)

Étape 14: Présentez

Conseillé: