Pages: 1 [2]   Go Down
Author Topic: Plusieurs LEDS  (Read 2392 times)
0 Members and 1 Guest are viewing this topic.
France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

avec le code commençant par 1, le i doit être déclaré non ?? ou il se fait automatiquement dans le for qui déclare les broches en sortie ?
Le i est déclaré dans le for smiley-wink
C'est une particularité syntaxique du c++

En c :
byte i;
for(i = 0; .........

En c++ :
for(byte i = 0; .........

(La porté de la variable i est différente par contre, en c i est local à toute la fonction, alors qu'avec la syntaxe c++ i est local à la boucle et à son contenu uniquement.)
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Newbie
*
Karma: 0
Posts: 19
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

oki merci pour les détails ! Ça m'aidera, j'en suis sur. comment pourrais-je définir la variable i ?
Si demain je branche les leds sur les broches (je sais déjà comment les brancher), tout devrait bien marcher ? smiley-sad
« Last Edit: March 14, 2012, 02:09:41 pm by pierro421 » Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 19
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


J'ai essayé le code, j'ai modifié certains trucs, ... Tout marche !!  smiley-grin
Mais voilà, quand je regarde l'ordre avec lequel les leds se sont allumées, je me rend compte qu'il y a un problème, car les séries ce répètent, je m'explique :
1ère série : led allumée 1, puis la 2, puis la 6 puis la 8,.......
2ème série : led allumée 5, puis 4, 6 ,1, 1 ,2 ....;
3ème série : led allumée  3 puis 4, 6, 8, 4 .....
4ème série  : led allumée 1, puis la 2, puis la 6 puis la 8,.......  EXACTEMENT LA MÊME QUE LA SÉRIE 1...

j'en ai conclu que cela venait de l'instruction randomSeed()
Après de nombreuses recherches, de programmes essayés, je n'arrive pas à répondre à cette question :comment faire pour que la série ne soit jamais la même ????

D'avance merci .
Logged

Ales
Online Online
Faraday Member
**
Karma: 39
Posts: 3591
Do or DIY
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Poste nous ton code, ça nous éclairera un peu plus ...
Logged


France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

j'en ai conclu que cela venait de l'instruction randomSeed()
Après de nombreuses recherches, de programmes essayés, je n'arrive pas à répondre à cette question :comment faire pour que la série ne soit jamais la même ????
randomSeed() permet d'initialiser le générateur de nombre aléatoire.
Si tu ne fait pas un randomSeed() avec un valeur non fixe (comme par exemple un analogRead(A0) avec rien de brancher sur A0) tu aura toujours la même série de nombre, donc plus du tout de l'aléatoire.
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Offline Offline
Newbie
*
Karma: 0
Posts: 19
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

oui mais alors que mettre dans cette broche A0 ?
est ce qu’un  potentiomètre pourrait être utile ?
Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 185
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

comme l'as dit Skywodd : rien. (ou un simple fil volant de quelque cms :] )

A0 va capter un signal aléatoire (le 50 hz ambiant, les parasistes , etc...).

A chaque initialisation, il y a peut de chances que la valeur lue par analogRead(A0) soit identique à une autre, donc la série que tu obtiendras sera différente.
Logged

pas taper... sauf application de l'article 35 ...

Offline Offline
Newbie
*
Karma: 0
Posts: 19
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

en mettant rien , il m'arrive d'avoir les mêmes suites ...
c'est ça qui est surprenant
Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 185
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

étonnant oui. REste la solution de te faire ton propre GNA (soit en programmant un lib pour ton arduino, soit via un générateur électronique externe)

Tape "GNA" sur un moteur de recherche.

mets ton code ; on sait jamais, nos grands gourous codeurs pourrait y trouver un ch'ti truc smiley-wink
Logged

pas taper... sauf application de l'article 35 ...

0
Offline Offline
God Member
*****
Karma: 2
Posts: 802
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Yep!

Le problème d'allumage aléatoire me semble avoir été traité dans un autre sujet.

Pour l'idée génerale, chaque nouvelle valeur générée par une fonction random() remplie un tableau qui sert à les sauvegarder (longueur du tableau à ajuster).
Les nouvelles valeurs générées sont comparées à celles contenues dans le tableau. Si elle existe, on fait un nouveau tirage, si elle n'existe pas, on valide la valeur/sauvegarde/utilise.

On peut à partir de là envisager quelques possibilités : décaler de 1 bit, les sequences identiques, génerer une nouvelle suite avec substitution, etc.

@+

Zoroastre.
« Last Edit: March 21, 2012, 12:46:58 am by zoroastre » Logged

Veuillez indiquer [RESOLU] dans l'entête du titre en éditant votre premier message smiley-wink

Offline Offline
Newbie
*
Karma: 0
Posts: 19
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour à tous,

Tout d'abord merci pour vos réponses.

Ce matin j'ai essayé en branchant un fil sur la broche A0, les séquences se répétaient encore trop souvent.
J'ai donc décidé de brancher un potentiomètre.
Pour le potentiomètre j'ai branché la broche du milieu (j'ai oublié son nom) sur la broche A0.
En tournant la petite molette, ceci me permet de modifier le Seed et ce qui me permet de ne jamais retombé sur la même série. (Sauf bien évidement en butées  smiley-cool)

encore merci !!!

Logged

Pages: 1 [2]   Go Up
Jump to: