Avec ce projet, je montre comment contrôler une balle sur une matrice LED 8 × 8.
Avec les deux potentiomètres, vous pouvez déplacer la bille sur les axes X et Y de la matrice.
Dans ce projet, vous apprendrez à utiliser une matrice LED et à lire les valeurs d'un potentiomètre.
- Niveau - Débutant / Intermédiaire 40%
- Durée - 45/60 Min 60%
- Coûts - 36,51 € complets 30%
Étape 1: Fournitures
- 1X Arduino UNO
- 1X dans le painboard
- 13X Fils de pontage M/M
- 1X Matrice led 8×8
- 2X Potentiomètre 10K
Étape 2: Construire et câbler
Étape 3: programmation
Si tout est correctement connecté, vous pouvez commencer à écrire le programme.
C'est un programme assez volumineux, mais il est généralement constant avec seulement quelques valeurs changeantes.
Ce code a maintenant été fait pour une matrice led qui n'a qu'un axe X et Y.
Si vous souhaitez également utiliser un axe Z, vous devez connecter un potentiomètre supplémentaire, puis ajuster le code afin que les valeurs puissent être lues.
Vous pouvez copier le code ci-dessous, mais nous vous recommandons de le taper vous-même car vous en apprendrez plus.
#include LedControl.h
// ici nous donnons un nom à la matrice LED et les broches d'E / S qu'elle peut contrôler
LedControl L = LedControl (12, 11, 10);
// on définit ici les potentiomètres
pot int const = 0;
const entier pot2 = 1 ;
// ici on s'assure que l'on peut stocker les valeurs du potentiomètre
valeur pot int;
int potvalue2 ;
void setup () {
// ici nous définissons la matrice led en l'éteignant puis en ajustant l'intensité et en effaçant la mémoire
L.shutdown (0, faux);
L.setIntensity (0);
L.clearDisplay (0);
}
boucle vide () {
// ici nous disons que l'Arduino doit lire les ports analogiques pour les valeurs
potvalue = analogRead (pot);
// on définit ici les valeurs que le potentiomètre peut indiquer
potvalue = map (potvalue, 0, 1000, 0, 7);
potvalue2 = analogRead (pot2);
potvalue2 = map (potvalue2, 0, 1000, 0, 7);
// ici nous vérifions si les deux valeurs sont égales à 0, si c'est le cas, la lumière 0,0 s'allume
// ce qui dit réellement ici, c'est que si 1 et 2 sont égaux à 0, alors 0,0 s'active
if (potvalue == 0 && potvalue2 == 0) {
ligne int = 0;
entier col = 0 ;
L.setLed (0, ligne, col, vrai);
}
// ici on vérifie si l'une de ces valeurs n'est pas 0 si c'est vrai 0,0 s'éteint
// nous répétons ce processus jusqu'à ce que toutes les coordonnées soient définies
// ce qu'il dit ici, c'est que si 1 ou 2 n'est pas égal à 0, alors 0,0 s'éteint
if (valeur du pot! = 0 || valeur du pot2! = 0) {
ligne int = 0;
entier col = 0 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 1 && potvalue2 == 0) {
ligne int = 1;
entier col = 0 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 1 || valeur du pot2! = 0) {
ligne int = 1;
entier col = 0 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 2 && potvalue2 == 0) {
ligne int = 2;
entier col = 0 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 2 || valeur du pot2! = 0) {
ligne int = 2;
entier col = 0 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 3 && potvalue2 == 0) {
ligne int = 3;
entier col = 0 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 3 || valeur du pot2! = 0) {
ligne int = 3;
entier col = 0 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 4 && potvalue2 == 0) {
ligne int = 4;
entier col = 0 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 4 || valeur du pot2! = 0) {
ligne int = 4;
entier col = 0 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 5 && potvalue2 == 0) {
ligne int = 5;
entier col = 0 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 5 || valeur du pot2! = 0) {
ligne int = 5;
entier col = 0 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 6 && potvalue2 == 0) {
ligne int = 6;
entier col = 0 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 6 || valeur du pot2! = 0) {
ligne int = 6;
entier col = 0 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 7 && potvalue2 == 0) {
ligne int = 7;
entier col = 0 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 7 || valeur du pot2! = 0) {
ligne int = 7;
entier col = 0 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 0 && potvalue2 == 1) {
ligne int = 0;
entier col = 1 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 0 || valeur du pot2! = 1) {
ligne int = 0;
entier col = 1 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 1 && potvalue2 == 1) {
ligne int = 1;
entier col = 1 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 1 || valeur du pot2! = 1) {
ligne int = 1;
entier col = 1 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 2 && potvalue2 == 1) {
ligne int = 2;
entier col = 1 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 2 || valeur du pot2! = 1) {
ligne int = 2;
entier col = 1 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 3 && potvalue2 == 1) {
ligne int = 3;
entier col = 1 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 3 || valeur du pot2! = 1) {
ligne int = 3;
entier col = 1 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 4 && potvalue2 == 1) {
ligne int = 4;
entier col = 1 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 4 || valeur du pot2! = 1) {
ligne int = 4;
entier col = 1 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 5 && potvalue2 == 1) {
ligne int = 5;
entier col = 1 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 5 || valeur du pot2! = 1) {
ligne int = 5;
entier col = 1 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 6 && potvalue2 == 1) {
ligne int = 6;
entier col = 1 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 6 || valeur du pot2! = 1) {
ligne int = 6;
entier col = 1 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 7 && potvalue2 == 1) {
ligne int = 7;
entier col = 1 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 7 || valeur du pot2! = 1) {
ligne int = 7;
entier col = 1 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 0 && potvalue2 == 2) {
ligne int = 0;
entier col = 2 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 0 || valeur du pot2! = 2) {
ligne int = 0;
entier col = 2 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 1 && potvalue2 == 2) {
ligne int = 1;
entier col = 2 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 1 || valeur du pot2! = 2) {
ligne int = 1;
entier col = 2 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 2 && potvalue2 == 2) {
ligne int = 2;
entier col = 2 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 2 || valeur du pot2! = 2) {
ligne int = 2;
entier col = 2 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 3 && potvalue2 == 2) {
ligne int = 3;
entier col = 2 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 3 || valeur du pot2! = 2) {
ligne int = 3;
entier col = 2 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 4 && potvalue2 == 2) {
ligne int = 4;
entier col = 2 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 4 || valeur du pot2! = 2) {
ligne int = 4;
entier col = 2 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 5 && potvalue2 == 2) {
ligne int = 5;
entier col = 2 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 5 || valeur du pot2! = 2) {
ligne int = 5;
entier col = 2 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 6 && potvalue2 == 2) {
ligne int = 6;
entier col = 2 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 6 || valeur du pot2! = 2) {
ligne int = 6;
entier col = 2 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 7 && potvalue2 == 2) {
ligne int = 7;
entier col = 2 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 7 || valeur du pot2! = 2) {
ligne int = 7;
entier col = 2 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 0 && potvalue2 == 3) {
ligne int = 0;
entier col = 3 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 0 || valeur du pot2! = 3) {
ligne int = 0;
entier col = 3 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 1 && potvalue2 == 3) {
ligne int = 1;
entier col = 3 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 1 || valeur du pot2! = 3) {
ligne int = 1;
entier col = 3 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 2 && potvalue2 == 3) {
ligne int = 2;
entier col = 3 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 2 || valeur du pot2! = 3) {
ligne int = 2;
entier col = 3 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 3 && potvalue2 == 3) {
ligne int = 3;
entier col = 3 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 3 || valeur du pot2! = 3) {
ligne int = 3;
entier col = 3 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 4 && potvalue2 == 3) {
ligne int = 4;
entier col = 3 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 4 || valeur du pot2! = 3) {
ligne int = 4;
entier col = 3 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 5 && potvalue2 == 3) {
ligne int = 5;
entier col = 3 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 5 || valeur du pot2! = 3) {
ligne int = 5;
entier col = 3 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 6 && potvalue2 == 3) {
ligne int = 6;
entier col = 3 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 6 || valeur du pot2! = 3) {
ligne int = 6;
entier col = 3 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 7 && potvalue2 == 3) {
ligne int = 7;
entier col = 3 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 7 || valeur du pot2! = 3) {
ligne int = 7;
entier col = 3 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 0 && potvalue2 == 4) {
ligne int = 0;
entier col = 4 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 0 || valeur du pot2! = 4) {
ligne int = 0;
entier col = 4 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 1 && potvalue2 == 4) {
ligne int = 1;
entier col = 4 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 1 || valeur du pot2! = 4) {
ligne int = 1;
entier col = 4 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 2 && potvalue2 == 4) {
ligne int = 2;
entier col = 4 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 2 || valeur du pot2! = 4) {
ligne int = 2;
entier col = 4 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 3 && potvalue2 == 4) {
ligne int = 3;
entier col = 4 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 3 || valeur du pot2! = 4) {
ligne int = 3;
entier col = 4 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 4 && potvalue2 == 4) {
ligne int = 4;
entier col = 4 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 4 || valeur du pot2! = 4) {
ligne int = 4;
entier col = 4 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 5 && potvalue2 == 4) {
ligne int = 5;
entier col = 4 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 5 || valeur du pot2! = 4) {
ligne int = 5;
entier col = 4 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 6 && potvalue2 == 4) {
ligne int = 6;
entier col = 4 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 6 || valeur du pot2! = 4) {
ligne int = 6;
entier col = 4 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 7 && potvalue2 == 4) {
ligne int = 7;
entier col = 4 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 7 || valeur du pot2! = 4) {
ligne int = 7;
entier col = 4 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 0 && potvalue2 == 5) {
ligne int = 0;
entier col = 5 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 0 || valeur du pot2! = 5) {
ligne int = 0;
entier col = 5 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 1 && potvalue2 == 5) {
ligne int = 1;
entier col = 5 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 1 || valeur du pot2! = 5) {
ligne int = 1;
entier col = 5 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 2 && potvalue2 == 5) {
ligne int = 2;
entier col = 5 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 2 || valeur du pot2! = 5) {
ligne int = 2;
entier col = 5 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 3 && potvalue2 == 5) {
ligne int = 3;
entier col = 5 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 3 || valeur du pot2! = 5) {
ligne int = 3;
entier col = 5 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 4 && potvalue2 == 5) {
ligne int = 4;
entier col = 5 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 4 || valeur du pot2! = 5) {
ligne int = 4;
entier col = 5 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 5 && potvalue2 == 5) {
ligne int = 5;
entier col = 5 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 5 || valeur du pot2! = 5) {
ligne int = 5;
entier col = 5 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 6 && potvalue2 == 5) {
ligne int = 6;
entier col = 5 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 6 || valeur du pot2! = 5) {
ligne int = 6;
entier col = 5 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 7 && potvalue2 == 5) {
ligne int = 7;
entier col = 5 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 7 || valeur du pot2! = 5) {
ligne int = 7;
entier col = 5 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 0 && potvalue2 == 6) {
ligne int = 0;
entier col = 6 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 0 || valeur du pot2! = 6) {
ligne int = 0;
entier col = 6 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 1 && potvalue2 == 6) {
ligne int = 1;
entier col = 6 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 1 || valeur du pot2! = 6) {
ligne int = 1;
entier col = 6 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 2 && potvalue2 == 6) {
ligne int = 2;
entier col = 6 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 2 || valeur du pot2! = 6) {
ligne int = 2;
entier col = 6 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 3 && potvalue2 == 6) {
ligne int = 3;
entier col = 6 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 3 || valeur du pot2! = 6) {
ligne int = 3;
entier col = 6 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 4 && potvalue2 == 6) {
ligne int = 4;
entier col = 6 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 4 || valeur du pot2! = 6) {
ligne int = 4;
entier col = 6 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 5 && potvalue2 == 6) {
ligne int = 5;
entier col = 6 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 5 || valeur du pot2! = 6) {
ligne int = 5;
entier col = 6 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 6 && potvalue2 == 6) {
ligne int = 6;
entier col = 6 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 6 || valeur du pot2! = 6) {
ligne int = 6;
entier col = 6 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 7 && potvalue2 == 6) {
ligne int = 7;
entier col = 6 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 7 || valeur du pot2! = 6) {
ligne int = 7;
entier col = 6 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 0 && potvalue2 == 7) {
ligne int = 0;
entier col = 7 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 0 || valeur du pot2! = 7) {
ligne int = 0;
entier col = 7 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 1 && potvalue2 == 7) {
ligne int = 1;
entier col = 7 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 1 || valeur du pot2! = 7) {
ligne int = 1;
entier col = 7 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 2 && potvalue2 == 7) {
ligne int = 2;
entier col = 7 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 2 || valeur du pot2! = 7) {
ligne int = 2;
entier col = 7 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 3 && potvalue2 == 7) {
ligne int = 3;
entier col = 7 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 3 || valeur du pot2! = 7) {
ligne int = 3;
entier col = 7 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 4 && potvalue2 == 7) {
ligne int = 4;
entier col = 7 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 4 || valeur du pot2! = 7) {
ligne int = 4;
entier col = 7 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 5 && potvalue2 == 7) {
ligne int = 5;
entier col = 7 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 5 || valeur du pot2! = 7) {
ligne int = 5;
entier col = 7 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 6 && potvalue2 == 7) {
ligne int = 6;
entier col = 7 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 6 || valeur du pot2! = 7) {
ligne int = 6;
entier col = 7 ;
L.setLed (0, ligne, col, faux);
}
if (potvalue == 7 && potvalue2 == 7) {
ligne int = 7;
entier col = 7 ;
L.setLed (0, ligne, col, vrai);
}
if (valeur du pot! = 7 || valeur du pot2! = 7) {
ligne int = 7;
entier col = 7 ;
L.setLed (0, ligne, col, faux);
}
}
Bonjour, d'où vient ledcontrol.h? Je suis un débutant 😉
Merci d'avance!
Ouvrez le logiciel arduino IDE et cliquez sur sketch. Ensuite, utilisez la bibliothèque. Ensuite, gérez les bibliothèques. Puis il ouvre Library Manager. Ensuite, vous recherchez : LedControl en haut. Sélectionnez celui du haut. Faites attention! Il DOIT avoir été fait par Eberhard Fahle.
De rien! ??