Table des matières:

Affichage matriciel 8x8 avec BT : 5 étapes (avec images)
Affichage matriciel 8x8 avec BT : 5 étapes (avec images)

Vidéo: Affichage matriciel 8x8 avec BT : 5 étapes (avec images)

Vidéo: Affichage matriciel 8x8 avec BT : 5 étapes (avec images)
Vidéo: USTHB, FEI, M2 ST B, Cours TV Num 24 01 2021 2024, Juillet
Anonim

J'ai acheté une matrice 4 panneaux 8x8 sur Ebay (Chine) il y a quelques mois.

J'ai été un peu déçu quand j'ai réalisé que c'était câblé côte à côte, pas de haut en bas pour lequel la plupart des exemples sur le Net sont écrits ! Voir l'étape 2.

Je suppose que j'aurais pu modifier le code (je ne sais pas comment), mais ma paresse habituelle m'a dit de chercher quelque chose de déjà écrit. Je suis tombé sur un exemple et j'y suis resté !

J'ai joué avec des messages fixes mais j'ai ensuite décidé d'essayer de programmer le message via Bluetooth.

Ensuite, j'ai voulu sauvegarder et récupérer les messages !

Il y a eu beaucoup d'essais et d'erreurs, mais après quelques heures de codage, j'ai réussi à le faire fonctionner.

J'essaye toujours de lui trouver une utilisation pratique !!:-)

Étape 1: L'affichage

L'affichage
L'affichage
L'affichage
L'affichage

Comme mentionné précédemment, l'affichage est câblé de gauche à droite, plutôt que de haut en bas.

Je suis sûr qu'un autre code aurait pu être modifié pour compenser cela !

Je ne me souviens pas d'où j'ai téléchargé le code de travail, cependant, une recherche de "cosmicvoid matrix ou LedControlMS.h" peut aider. La bibliothèque LedControlMS.h est requise pour ce projet.

La seule partie de ce code que j'ai modifiée était le nombre d'affichages car il semble qu'il ait été défini sur 5, je viens de le changer en 4.

J'ai commandé un autre écran x4 pour voir comment cela fonctionne avec 8 matrices au lieu de 4 !

Étape 2: le bit Bluetooth

Le bit Bluetooth
Le bit Bluetooth

Chaque fois que je joue avec un appareil Bluetooth, je me réfère toujours à cet excellent instructable !

www.instructables.com/id/Modify-The-HC-05-B…

Ce Instructable vous dira tout ce que vous devez savoir sur la façon de configurer et de coupler le HC-05 à un téléphone mobile ou une tablette.

Je l'ai couplé avec un Samsung Galaxy 6 Edge et une Tab A sans problème.

J'ai modifié la vitesse de communication à 57600.

Étape 3: Communication BT et le programme

BT Communication et le programme
BT Communication et le programme

Pour communiquer avec le HC-05, j'ai téléchargé une application gratuite sur le Play Store, il y en a plusieurs disponibles, - celle que j'ai choisie s'appelle Bluetooth Terminal HC-05 - c'est une excellente application !

Une fois que vous avez couplé le HC-05 à un téléphone ou une tablette, voici ce qui se produit.

Lorsque l'arduino est réinitialisé, le programme lit tous les messages stockés dans l'EEPROM et les affiche sur le téléphone/tablette - voir photo.

Les informations affichées sont l'emplacement de la mémoire (0-9), la longueur du message et le message lui-même à chaque emplacement.

J'ai arrangé le code pour stocker jusqu'à un message de 90 caractères à l'adresse 5 pour Msg 0, 105 pour Msg 1 …….905 pour Msg 9.

Adresse 0, 100 …. 900 contiennent la longueur du message.

Le dernier message enregistré / récupéré s'affiche.

L'envoi de quoi que ce soit à l'Arduino via BT remplace le message actuel.

Pour stocker le message affiché (utilisez le tilde "~"), envoyez ~0 pour stocker à l'emplacement 0, ~5 pour stocker à l'emplacement 5, etc.

Pour récupérer et afficher un message stocké, utilisez "^" (carat), par exemple ^3 chargera et affichera le message à l'emplacement Mem 3.

Lorsqu'un message est stocké ou récupéré, l'emplacement mémoire actuel est stocké à l'adresse EEPROM 1023 - elle est utilisée à la mise sous tension pour afficher le dernier message affiché.

Étape 4: Le code et le pouvoir

Comme d'habitude, mon code est rangé comme une chambre d'ado, mais j'ai plein de commentaires dedans !

Il peut y avoir du code superflu car il y a eu quelques essais et erreurs.

La routine d'affichage affichera tout ce qui se trouve dans le tableau msg. La police n'est pas complète donc l'affichage de certains caractères entraînera des résultats imprévisibles !

Si quelqu'un pouvait me dire comment modifier le signe $ pour le signe £ ou mieux encore l'ajouter, alors je lui en serais extrêmement reconnaissant

Il peut être nécessaire de coder en dur un message à l'emplacement 0 juste pour donner un point de départ, cela peut être écrasé lorsque le programme est opérationnel !

par exemple

EEPROM.write(0, '5'); // longueur du msg stocké à l'emplacement 0

EEPROM.write(5, 'L'); //msg stocké à l'emplacement 05EEPROM.write(6, 'o');

EEPROM.write(7, 'c');

EEPROM.write(8, ' ');

EEPROM.write(9, '0');

En l'absence de messages stockés, à la mise sous tension, l'affichage sera imprévisible et le téléphone / la tablette affichera des informations étranges mais cohérentes car, comme pour la plupart des EEPROM, les données par défaut à chaque emplacement sont FF Hex (225 décimal).

Ce prototype a été construit à l'aide d'un Arduino Uno, mais j'utiliserai un mini pro pour le projet fini.

J'ai l'intention d'utiliser 3 piles de 1,5 V, donc pour économiser de l'énergie, j'éteindrai le HC-05 après avoir sélectionné un message. Le simple fait de déconnecter/reconnecter l'alimentation n'est pas suffisant car il enverra des informations tronquées à l'écran.

Il semblerait nécessaire d'isoler les pins TR & RX avant de brancher/débrancher l'alimentation !

Étape 5: Mise à jour 2020 - Affichages matriciels 2 X 4 (8x8)

Après une meilleure compréhension du MAX7219, j'ai réussi à relier 2 écrans ensemble !

il y avait juste quelques lignes de code qui devaient être modifiées - voir ino ci-joint.

Conseillé: