- La matrice d'affichage LED P10
- Composants requis pour le tableau de bord Arduino
- Schéma de circuit pour tableau de bord Arduino
- Explication du code du tableau de bord Arduino
Un tableau de bord électronique est l'un des gadgets les plus importants que l'on puisse avoir lors d'un tournoi sportif. Un ancien tableau de bord manuel utilisant des méthodes conventionnelles prend beaucoup de temps et est sujet aux erreurs, par conséquent un tableau de bord informatisé devient nécessaire lorsque l'unité d'affichage doit être changée en temps réel. C'est pourquoi, dans ce projet, nous allons construire un tableau de bord sans fil contrôlé par Bluetooth dans lequel nous pouvons changer le score sur le tableau simplement en utilisant une application Android. Le cerveau de ce projet est un Arduino Nano, et pour la partie affichage, nous utiliserons une matrice LED P10 pour afficher le score à distance en temps réel.
La matrice d'affichage LED P10
Un écran matriciel LED P10 est le meilleur moyen disponible pour créer une carte LED pour une utilisation en extérieur ou en intérieur. Ce panneau a un total de 512 LED haute luminosité montées sur un boîtier en plastique conçu pour de meilleurs résultats d'affichage. Il est également livré avec un indice d'étanchéité IP65, ce qui le rend parfait pour une utilisation en extérieur. Avec cela, vous pouvez créer un grand panneau LED en combinant n'importe quel nombre de ces panneaux dans n'importe quelle structure de rangées et de colonnes.
Notre module a une taille de 32 * 16, ce qui signifie qu'il y a 32 LED dans chaque rangée et 16 LED dans chaque colonne. Ainsi, il y a un total de 512 LED présentes dans chaque panneau LED. En dehors de cela, il a un indice d'étanchéité IP65, il peut être alimenté par une seule source d'alimentation 5V, il a un angle de vision très large et la luminosité peut aller jusqu'à 4500 nits. Ainsi, vous pourrez le voir clairement à la lumière du jour. Auparavant, nous avons également utilisé cet écran P10 avec Arduino pour construire une simple carte LED.
Description de la broche de la matrice LED P10 :
Cette carte d'affichage LED utilise un en-tête de courrier à 10 broches pour la connexion d'entrée et de sortie, dans cette section, nous avons décrit toutes les broches nécessaires de ce module. En outre, vous pouvez voir qu'il y a un connecteur externe 5V au milieu du module qui est utilisé pour connecter l'alimentation externe à la carte.
- Enable: Cette broche est utilisée pour contrôler la luminosité du panneau LED, en lui donnant une impulsion PWM.
- A, B: Celles-ci sont appelées broches de sélection multiplex. Ils prennent une entrée numérique pour sélectionner toutes les lignes multiplex.
- Horloge de décalage (CLK), horloge de stockage (SCLK) et données: ce sont les broches de commande normales du registre à décalage. Ici, un registre à décalage 74HC595 est utilisé.
Interfaçage du module d'affichage LED P10 avec Arduino:
La connexion du module d' affichage matriciel P10 à Arduino est un processus très simple, dans notre circuit, nous avons configuré la broche 9 de l'Arduino comme broche d'activation, la broche 6 comme broche A, la broche 7 comme broche B, la broche 13 est le CLK, la broche 8 est le SCLK, la broche 11 est le DATA, et enfin la broche GND est la broche GND pour le module et Arduino, un tableau complet ci-dessous explique clairement la configuration des broches.
Module LED P10 |
Arduino UNO |
ACTIVER |
9 |
UNE |
6 |
B |
sept |
CLK |
13 |
SCLK |
8 |
LES DONNÉES |
11 |
GND |
GND |
Remarque: connectez la borne d'alimentation du module P10 à une source d'alimentation externe 5 V, car 512 LED consomment beaucoup d'énergie. Il est recommandé de connecter une alimentation CC 5 V, 3 A à une seule unité du module LED P10. Si vous prévoyez de connecter plus de module de numéros, augmentez votre capacité SMPS en conséquence.
Composants requis pour le tableau de bord Arduino
Comme il s'agit d'un projet très simple, les exigences en matière de composants sont très génériques, une liste des composants requis est présentée ci-dessous, vous devriez être en mesure de trouver tout le matériel répertorié dans votre magasin de bricolage local.
- Arduino Nano
- Affichage matriciel LED P10
- Planche à pain
- SMPS 5 V, 3 AMP
- Module Bluetooth HC-05
- Connexion des fils
Schéma de circuit pour tableau de bord Arduino
Le schéma du tableau de bord Arduino LED est illustré ci-dessous car ce projet est très simple, j'ai utilisé le logiciel populaire Fritzing pour développer le schéma.
Le fonctionnement du circuit est très simple, nous avons une application Android et un module Bluetooth, pour réussir à communiquer avec le module Bluetooth, vous devez coupler le module HC-05 avec l'application Android. Une fois que nous sommes connectés, nous pouvons envoyer la chaîne que nous voulons afficher, une fois la chaîne envoyée, Arduino traitera la chaîne et la convertira en un signal que la résistance de décalage interne 74HC595 peut comprendre, une fois les données envoyées au poste de travail résistance, son prêt à afficher.
Explication du code du tableau de bord Arduino
Une fois la configuration matérielle terminée avec succès, il est maintenant temps de programmer Arduino Nano. La description étape par étape du code est donnée ci-dessous. En outre, vous pouvez obtenir le code complet du tableau de bord Arduino au bas de ce didacticiel.
Tout d'abord, nous devons inclure toutes les bibliothèques. Nous avons utilisé la bibliothèque DMD.h afin de contrôler l'affichage LED P10. Vous pouvez le télécharger et l'inclure à partir du lien GitHub donné. Après cela, vous devez inclure la bibliothèque TimerOne.h, qui sera utilisée pour la programmation d'interruption dans notre code.
Il existe de nombreux fronts disponibles dans cette bibliothèque, nous avons utilisé « Arial_black_16 » pour ce projet.
#comprendre
Dans l'étape suivante, le nombre de lignes et de colonnes est défini pour notre carte matricielle LED. Nous n'avons utilisé qu'un seul module dans ce projet, donc la valeur ROW et la valeur COLUMN peuvent être définies comme 1.
#define ROW 1 #define COLUMN 1 #define FONT Arial_Black_16 DMD led_module (ROW, COLUMN);
Après cela, toutes les variables utilisées dans le code sont définies. Une variable de caractère est utilisée pour recevoir les données série de l'application Android, deux valeurs entières sont utilisées pour stocker les scores et un tableau est défini qui stocke les données finales à afficher sur la matrice.
entrée char; int a = 0, b = 0; indicateur int = 0; char cstr1;
Une fonction scan_module () est définie, qui vérifie en permanence toutes les données entrantes d'Arduino Nano via le SPI. Si oui, alors il déclenchera une interruption pour faire certains événements tels que définis par l'utilisateur dans le programme.
void scan_module () { led_module.scanDisplayBySPI (); }
À l'intérieur de setup (), le minuteur est initialisé et l'interruption est attachée à la fonction scan_module, qui a été discutée précédemment. Initialement, l'écran a été effacé à l'aide de la fonction clear screen (true), ce qui signifie que tous les pixels sont définis sur OFF.
Dans la configuration, la communication série a également été activée à l'aide de la fonction Serial.begin (9600) où 9600 est le débit en bauds pour la communication Bluetooth.
void setup () { Serial.begin (9600); Timer1.initialize (2000); Timer1.attachInterrupt (scan_module); led_module.clearScreen (vrai); }
Ici, la disponibilité des données série est vérifiée, s'il existe des données valides provenant d'Arduino ou non. Les données reçues de l'application sont stockées dans une variable.
if (Serial.available ()> 0) { flag = 0; entrée = Serial.read ();
Ensuite, la valeur reçue a été comparée à la variable prédéfinie. Ici, dans l'application Android, deux boutons permettent de sélectionner les scores des deux équipes. Lorsque le bouton 1 est enfoncé, le caractère «a» est transmis à Arduino et lorsque le bouton 2 est enfoncé, le caractère «b» est transmis à Arduino. Par conséquent, dans cette section, ces données sont mises en correspondance et, si elles correspondent, les valeurs de score respectives sont incrémentées comme indiqué dans le code.
if (input == 'a' && flag == 0) { flag = 1; a ++; } else if (input == 'b' && flag == 0) { flag = 1; b ++; } else;
Ensuite, les données reçues sont converties en un tableau de caractères, car la fonction de matrice P10 est uniquement capable d'afficher le type de données de caractère. C'est pourquoi toutes les variables sont converties et concaténées en un tableau de caractères.
(String ("HOME:") + String (a) + String ("-") + String ("AWAY:") + String (b)). ToCharArray (cstr1, 50);
Ensuite, pour afficher les informations dans le module, la police est sélectionnée à l'aide de la fonction selection (). Ensuite, la fonction drawMarquee () est utilisée pour afficher les informations souhaitées sur la carte P10.
led_module.selectFont (FONT); led_module.drawMarquee (cstr1,50, (32 * ROW), 0);
Enfin, comme nous avons besoin d'un affichage de message défilant, j'ai écrit un code pour déplacer tout notre message de la droite vers la gauche en utilisant une certaine période.
long début = millis (); longue temporisation = début; indicateur booléen = faux; while (! flag) { if ((timming + 30) <millis ()) { flag = led_module.stepMarquee (-1, 0); timming = millis (); } }
Cela marque la fin de notre processus de codage. Et maintenant, il est prêt pour le téléchargement.
Tableau de bord contrôlé par smartphone - Test
Après avoir téléchargé le code sur Arduino, il est temps de tester le projet. Avant cela, l'application Android doit être installée sur notre smartphone. Vous pouvez télécharger l'application P10 Score Board à partir du lien indiqué. Une fois installé, ouvrez l'application et l'écran d'accueil devrait ressembler à l'image ci-dessous.
Cliquez sur le bouton SCAN pour ajouter le module Bluetooth avec App. Cela affichera la liste des appareils Bluetooth couplés du téléphone. Si vous n'avez jamais jumelé le module Bluetooth HC-05 auparavant, jumelez le module à l'aide du paramètre Bluetooth de votre téléphone, puis procédez comme suit. L'écran ressemblera à celui montré:
Ensuite, dans la liste, cliquez sur «HC-05» car c'est le nom de notre module Bluetooth utilisé ici. Après avoir cliqué dessus, il s'affichera connecté à l'écran. Ensuite, nous pouvons procéder au tableau de bord.
Cliquez sur n'importe quel bouton entre "Domicile" et "Absent" comme indiqué dans l'application. Si le bouton Home est sélectionné, le score de Home sera incrémenté dans l'affichage P10. De même, si le bouton Away est sélectionné, le score de Away sera incrémenté. L'image ci-dessous montre à quoi ressemble l'écran final.
J'espère que vous avez aimé le projet et appris quelque chose de nouveau, si vous avez d'autres questions concernant le projet, n'hésitez pas à commenter ci-dessous ou vous pouvez poser votre question dans notre forum.