Go Down

Topic: [Conseil] Projet 9LED affichage d'un nombre aléatoire après mouvement (shaking) (Read 501 times) previous topic - next topic

Klaus3333

Bonjour,

J'ai un projet informatique en Arduino à faire et j'ai besoin de votre aide. Voilà en quoi consiste le projet : j'ai 9 LED que je veux utiliser pour afficher des nombres. Je vais utiliser un accéléromètre comme capteur. Dès qu'on fait bouger mon ensemble, l'accéléromètre détecte cela et avec ma série de LED, un nombre est affiché au hasard. Aussi j'aimerais pouvoir choisir la couleur en laquelle je veux afficher mes LED (elles sont bicolores).

Voici un début de code que j'ai entamé, j'ai besoin de vos remarques, aides, compléments pour finaliser le code svp. Merci
Je voudrais coder l'allumage des LED avec les trois premiers bits de droite de (0b00000000) et la couleur avec les bits 5 à 6 en comptant de la droite...
Ou que me proposeriez-vous pour optimiser les choses ? Je suis tout à fait novice... mais j'aime bien la programmation

Code: [Select]

byte LED[]={3, 4, 5, 6, 7, 8, 9, 10, 11};
boolean etat;
boolean couleur;
int choixV=12; // Vert
int choixR=13; //Rouge
byte ligne[]={0b00000000, 0b0000000, 0b00000000};


void setup ()
{
 for (int i=0; i<9; i++)
 {
   pinMode(LED[i], OUTPUT);
 }
 pinMode(choixV, OUTPUT);
 pinMode(choixR, OUTPUT);

}

void loop ()
{
 ligne[1]=0b00000001;
 ligne[0]=0b00000100;affiche();delay(10);
 ligne[0]=0b00000010;affiche();delay(10);
 ligne[0]=0b00000001;affiche();delay(10);
 

}

lesept

Pour l'instant pas facile de donner un avis, le code est loin d'être terminé. Mais ça commence bien. Pense à donner une valeur initiale aux variables que tu déclares dans l'entête, notamment les booléens, ça ne peut pas faire de mal.
A force d'essayer on finit par réussir... Donc, plus ça rate, plus on a de chances que ça marche (proverbe Sharduinok).

J-M-L

Notez qu'il vous Manque l'index dans le tableau LED dans la boucle for
Code: [Select]
for (int i=0; i<9; i++)
 {
   pinMode(LED, OUTPUT);
 }


Sinon êtes vous sûr d'avoir tout posté??
Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

dbrion06

Que fait affiche? (je rejoins JML)
Aurez vous toujours 9 LEDs? (sinon, utiliser un  const uint8_t ou  #define)

Klaus3333

Notez qu'il vous Manque l'index dans le tableau LED dans la boucle for
Code: [Select]
for (int i=0; i<9; i++)
 {
   pinMode(LED, OUTPUT);
 }


Sinon êtes vous sûr d'avoir tout posté??
Je viens de modifier. Il manquait en fait ''. Toutes ces LED sont en sortie.

lesept

Code: [Select]
for (int i=0; i<9; i++) pinMode(LED[i] , OUTPUT);.............................................................................................. ^
A force d'essayer on finit par réussir... Donc, plus ça rate, plus on a de chances que ça marche (proverbe Sharduinok).

dbrion06

Mais LED est un tableau!

pinMode(LED[ind] , OUTPUT); // ne soulignez quand même pas dans le code définitif

J-M-L

je ne comprends pas les deux derniers posts ?
j'ai signalé le manque de l'indice en #2 et l'OP a corrigé dans son premier post comme il le dit en #4
Je viens de modifier. Il manquait en fait '[i]' . Toutes ces LED sont en sortie.
(bon le '[i]'  a été mangé dans son post)
Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

lesept

Il manque encore la fonction affiche et le code pour gérer l'accéléromètre...

Les deux derniers posts se sont croisés, ils visent à lui faire comprendre le problème que tu soulevais auparavant

Édit. Je comprends, on ne voit pas sa correction car elle le fait passer en italiques... Sacré forum !
A force d'essayer on finit par réussir... Donc, plus ça rate, plus on a de chances que ça marche (proverbe Sharduinok).

J-M-L

Il manque encore la fonction affiche et le code pour gérer l'accéléromètre...
Oui c'est le gros manque :)

Les deux derniers posts se sont croisés, ils visent à lui faire comprendre le problème que tu soulevais auparavant
OK (mais il a répondu à 12:39 et vous à 13:14 donc c'est pour cela que je ne comprenais pas)
Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

lesept

A force d'essayer on finit par réussir... Donc, plus ça rate, plus on a de chances que ça marche (proverbe Sharduinok).

al1fch

Quote
Édit. Je comprends, on ne voit pas sa correction car elle le fait passer en italiques... Sacré forum !
... ou sacrés forumeurs :  si chaque élément de code a ses balises  ... pas de pb, pas de smileys à lunnettes et autres blagues  qui font perdre du temps à tous

je te souhaite , lesept un  RER "zéro défaut'........un RER exceptionnel , hors du commun !

lesept

A force d'essayer on finit par réussir... Donc, plus ça rate, plus on a de chances que ça marche (proverbe Sharduinok).

J-M-L

Édit. Je comprends, on ne voit pas sa correction car elle le fait passer en italiques... Sacré forum !
oui la balise [nobbc]...[/nobbc] n'est pas pour tout le monde :)
Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

Klaus3333

Il manque encore la fonction affiche et le code pour gérer l'accéléromètre...

Les deux derniers posts se sont croisés, ils visent à lui faire comprendre le problème que tu soulevais auparavant

Édit. Je comprends, on ne voit pas sa correction car elle le fait passer en italiques... Sacré forum !
Effectivement. Je vais utiliser une bibliothèque pour la partie lien entre la fonction de l'accéléromètre et le code. Mon gros problème est comment changer la couleur de mes LED. Comment faire en sorte qu'elles s'affichent toutes en rouge et après une autre modif qu'elles s'affichent en vert par exemple...

Go Up