[Conseil] Projet 9LED affichage d'un nombre aléatoire après mouvement (shaking)

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

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);
 

}

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.

Notez qu’il vous Manque l’index dans le tableau LED dans la boucle for

for (int i=0; i<9; i++)
 {
   pinMode(LED, OUTPUT);
 }

Sinon êtes vous sûr d’avoir tout posté??

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

J-M-L:
Notez qu’il vous Manque l’index dans le tableau LED dans la boucle for

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.

for (int i=0; i<9; i++) pinMode(LED[i] , OUTPUT);.............................................................................................. ^

Mais LED est un tableau!

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

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

Klaus3333:
Je viens de modifier. Il manquait en fait '[i]' . Toutes ces LED sont en sortie.

(bon le '[i]' a été mangé dans son post)

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 !

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

Oui c'est le gros manque :slight_smile:

lesept:
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)

Chuis dans le RER... :wink:

É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 !

Merci Al1, qu'il arrive à destination me suffira.. :wink:

lesept:
Édit. Je comprends, on ne voit pas sa correction car elle le fait passer en italiques... Sacré forum !

oui la balise

[nobbc][nobbc][/nobbc]...[nobbc][/nobbc][/nobbc]

n'est pas pour tout le monde :slight_smile:

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 !

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...

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...

Référence des leds bicolores ? 2 fils ? 3 fils ?

Klaus3333:
Mon gros problème est comment changer la couleur de mes LED.

Je ne pense pas :slight_smile:

expliquez quelles LEDs vous avez. apprenez à les allumer d'une couleur puis d'une autre.

si vos LEDs n'ont que 2 pattes c'est que les diodes de couleur sont tête-bêche et Il va donc falloir piloter les deux pattes --> elles devront être reliée toute deux sur une pin disons X et Y avec sur un des côtés en plus une résistance de limitation de courant (sous 20mA)

X ----- R ------ Patte1-(LED)-Patte2 ------ Y

X=Y=HIGH : pas de couleur
X=Y=LOW : pas de couleur
X=HIGH, Y=LOW: différence de potentiel de X vers Y --> Couleur 1
X=LOW, Y=HIGH: différence de potentiel de Y vers X --> Couleur 2