Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Modérateur : Jérémy
simon says
Bonjour, j’espère que vous allez bien, moi ça va.
Je viens a vous via un nouveau topic, concernant " simon says " pour ceux qui ne connaissent pas, c'est un jeu de mémo qui se présente comme ceux-ci
Pour résumé, je jeux allume les lumières ( vert, rouge, bleu, jaune ) aléatoirement en ajoutant une en plus au fur et a mesure.
Exemple :
Vert
Vert, Bleu
Vert, Bleu, Jaune etc..
jusqu’à ce qu'on se trompe. bref une vidéo est plus compréhensible
Et donc c'est un projet que j'avais commencer ( sur breadboard ) et simulation isis. Pour le moment chaque bouton allume sa led avec un son sur le speaker
Screen :
La dans un premier temps, je cherche le moyen de créer une partie aléatoire . Vous feriez de quel manière a ma place ? Vers quoi m'orienter ? Perso je penser a sauvegarder dans eeprom une série de 30 chiffres aléatoire entre 1 et 4 qui correspond a chaque led ? qu'en pensez vous ?
Merci de votre aide.
@++
Je viens a vous via un nouveau topic, concernant " simon says " pour ceux qui ne connaissent pas, c'est un jeu de mémo qui se présente comme ceux-ci
Pour résumé, je jeux allume les lumières ( vert, rouge, bleu, jaune ) aléatoirement en ajoutant une en plus au fur et a mesure.
Exemple :
Vert
Vert, Bleu
Vert, Bleu, Jaune etc..
jusqu’à ce qu'on se trompe. bref une vidéo est plus compréhensible
Et donc c'est un projet que j'avais commencer ( sur breadboard ) et simulation isis. Pour le moment chaque bouton allume sa led avec un son sur le speaker
Screen :
La dans un premier temps, je cherche le moyen de créer une partie aléatoire . Vous feriez de quel manière a ma place ? Vers quoi m'orienter ? Perso je penser a sauvegarder dans eeprom une série de 30 chiffres aléatoire entre 1 et 4 qui correspond a chaque led ? qu'en pensez vous ?
Merci de votre aide.
@++
simon says
Bonjour
juste de passage
Pas simple de faire de l’aléatoire, sur PC c'est le rafraîchissement de la ram qui tient de compteur. Sur pic perso ,faire tourner un timer à chaque appuie, lire la valeur du compteur.Apres a déterminer les butées du timer.
Heu EEPROM pas bien compris pourquoi
A plus
PS beaucoup de monde en vacances comme moi sur Fantas-pic
juste de passage
Pas simple de faire de l’aléatoire, sur PC c'est le rafraîchissement de la ram qui tient de compteur. Sur pic perso ,faire tourner un timer à chaque appuie, lire la valeur du compteur.Apres a déterminer les butées du timer.
Heu EEPROM pas bien compris pourquoi
A plus
PS beaucoup de monde en vacances comme moi sur Fantas-pic
simon says
- paulfjujo
Expert- Messages : 2589
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
bonjour,
j'abonde à la proposition de Maï,
un compteur timer ex: Timer2 ou timer3 , avec auto reload qui tourne tout seul dans son coin , sans activer d'interrupt!
PR2=255
avec T=1mS ou moins
on lit le timer2 et result=1 + TMR2 >>6 => entre 1 et 4
un petit test
resultat
delay_ms(147); ou pas ? profiter des rebonds de BP1
un test sans la tempo delay_ms(147);
semble d'ailleurs donner un meilleur aleas
au timming, on voit q'un seul appui (+ rebonds) pris en compte en <= 50mS (resolution timming Vbray)
j'abonde à la proposition de Maï,
un compteur timer ex: Timer2 ou timer3 , avec auto reload qui tourne tout seul dans son coin , sans activer d'interrupt!
PR2=255
avec T=1mS ou moins
on lit le timer2 et result=1 + TMR2 >>6 => entre 1 et 4
un petit test
Code : Tout sélectionner
sbit BP1 at RD7_bit;
sbit BP1_Direction at TRISD7_bit;
char Table_Alea[34];
char c1;
int i;
void Init_Timer2() // specifique 18F87J50 .. à verifier avec autre PIC
{
TMR2=255 ;
// si FOSC=48MHZ Prescaler=1/4 Postscaler=1/8 Time=0,68mS
// si FOSC=8MHz Prescaler=1/1 Postscaler=1/8 Time=1,02mS
// prescaler =1/16 avec 48Mhz 00=>1/1 01=>1/4 10=>1/16
T2CON.T2CKPS1=0;
T2CON.T2CKPS0=1;
// PostScaler=>1/1 0000=>1/1 0011=> 1/4 0111=>1/8 1111=> 1/16
T2CON.T2OUTPS3 =0;
T2CON.T2OUTPS2 =1;
T2CON.T2OUTPS1 =1;
T2CON.T2OUTPS0 =1;
T2CON.TMR2ON=1;
IPR1.TMR2IP =0;
PIR1.TMR2IF=0;
PIE1.TMR2IE=0; // no interrupt
}
void main()
{
// ...FOSC
Hardware_Init();
UART1_Init(38400);
UART1_Write(CLS);
// ....etc
Init_Timer2();
i=0;
UART1_Write_CText("Appui successif ou appui suffisament long sur BP1 pour remplir la table Aleas :\r\n");
while(i<32)
{
while(BP1==1);
if(BP1==0) // BP1=1 au repos
{
c1=(TMR2 >>6) +1 ;
Table_Alea[i]= c1 ;
i++;
Delay_ms(147); // valeur quelconque ,non multiple de Timer2 , pour sauter par desssus les rebonds BP1 .. ou garder les rebonds ?
}
CRLF1();
}
UART1_Write_CText(" Contenu Table Aleas :\r\n");
for (i=0;i<32;i++)
{ if (i%8==0) CRLF1();
c1=Table_Alea[i];
UART1_Write(c1+48); UART1_Write(' ');
}
CRLF1();
while(1);
resultat
chaque ligne correspond à une valeur stockée
avec plusieurs appui sur BP1 ! jusqu'à remplir les 32 valeurs
11:15:38.484> Appui successif ou appui suffisament long sur BP1 pour remplir la table Aleas :
11:15:44.796>
11:15:44.921>
11:15:45.921>
11:15:46.046>
11:15:46.234>
11:15:46.359>
11:15:47.546>
11:15:47.671>
11:15:47.796>
11:15:48.484>
11:15:48.609>
11:15:50.609>
11:15:50.734>
11:15:51.421>
11:15:51.921>
11:15:52.109>
11:15:52.734>
11:15:52.921>
11:15:53.359>
11:15:53.546>
11:15:53.671>
11:15:53.859>
11:15:54.484>
11:15:54.609>
11:15:55.109>
11:15:55.296>
11:15:55.421>
11:15:55.546>
11:15:55.734>
11:15:55.859>
11:15:56.484>
11:15:56.671>
11:15:56.671> Contenu Table Aleas :
11:15:56.671>
11:15:56.671> 4 3 4 1 1 1 1 1
11:15:56.671> 2 3 3 4 4 3 4 1
11:15:56.671> 4 4 4 4 4 4 3 3
11:15:56.671> 3 4 4 4 4 4 1 1
delay_ms(147); ou pas ? profiter des rebonds de BP1
un test sans la tempo delay_ms(147);
semble d'ailleurs donner un meilleur aleas
au timming, on voit q'un seul appui (+ rebonds) pris en compte en <= 50mS (resolution timming Vbray)
11:36:56.984> Appui successif ou appui suffisament long sur BP1 pour remplir la table Aleas :
11:36:58.234>
11:36:58.234>
11:36:58.234>
11:36:58.234>
11:36:58.234>
11:36:58.234>
11:36:58.296>
11:36:58.296>
11:36:58.296>
11:36:58.296>
11:36:58.296>
11:36:58.296>
11:36:58.296>
11:36:58.296>
11:36:58.296>
11:36:58.296>
11:36:58.296>
11:36:58.296>
11:36:58.296>
11:36:58.296>
11:36:58.296>
11:36:58.296>
11:36:58.296>
11:36:58.296>
11:36:58.296>
11:36:58.296>
11:36:58.296>
11:36:58.296>
11:36:58.296>
11:36:58.296>
11:36:58.296>
11:36:58.296>
11:36:58.296> Contenu Table Aleas :
11:36:58.296>
11:36:58.296> 1 2 4 3 2 1 4 2
11:36:58.296> 1 4 3 2 4 3 2 1
11:36:58.296> 4 3 1 4 3 2 1 3
11:36:58.296> 2 1 4 3 1 4 3 2
simon says
-
Jérémy
Administrateur du site- Messages : 2722
- Âge : 44
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Bonsoir,
Je pense aussi que c'est la meilleur idée . ( en même temps je vais pas contredire Paul et Maï ).
Par contre le contenu est bizare non ?
dans la première série , un seul "2" apparait sur 32 chiffres
dans la deuxième série aucun chiffre ne se répète deux fois de suite !!
Je pense aussi que c'est la meilleur idée . ( en même temps je vais pas contredire Paul et Maï ).
Par contre le contenu est bizare non ?
dans la première série , un seul "2" apparait sur 32 chiffres
dans la deuxième série aucun chiffre ne se répète deux fois de suite !!
simon says
- Claudius
Passioné- Messages : 260
- Âge : 69
- Enregistré en : septembre 2015
- Localisation : ELANCOURT (78 - YVELINES)
- Contact :
Bonsoir,
Très intéressant comme sujet...
La série produite ne sera de toute façon que pseudo-aléatoire à moins d'acquérir du bruit et encore cela ne sera jamais de l'aléatoire pur ;-)
Sans être puriste, si la série est "assez longue", des solutions:
- Utiliser un site qui produit lesdites séries aléatoires et les enregistrer comme Download random numbers from quantum origin
- Implémenter un polynôme générateur comme Prpduire Des Nombres « Au Hasard »
- Lire et relire Générateur de nombres aléatoires
- etc.
Très intéressant comme sujet...
La série produite ne sera de toute façon que pseudo-aléatoire à moins d'acquérir du bruit et encore cela ne sera jamais de l'aléatoire pur ;-)
Sans être puriste, si la série est "assez longue", des solutions:
- Utiliser un site qui produit lesdites séries aléatoires et les enregistrer comme Download random numbers from quantum origin
- Implémenter un polynôme générateur comme Prpduire Des Nombres « Au Hasard »
- Lire et relire Générateur de nombres aléatoires
- etc.
Enregistreur de traces GPS & Boussole GPS parlante (PIC & Arduino)
simon says
simon says
Merci pour vos divers explication.
Je vais éplucher et essayer de comprendre le code de paulfjujo. ;)
C'est pas si simple que ça un random ; s lol
Je n'ai pas compris pour le "bruit" ???
@++
Je vais éplucher et essayer de comprendre le code de paulfjujo. ;)
C'est pas si simple que ça un random ; s lol
Je n'ai pas compris pour le "bruit" ???
@++
simon says
-
Jérémy
Administrateur du site- Messages : 2722
- Âge : 44
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Bonjour à tous,
le "Bruit" , je pense, s'agit sûrement de parasites ambiants sur les fils . Un peu courbe une courbe d'un oscilloscope pret d'un parasite .
Sinon tu pourrais aussi utilisé le temps d'appui sur le BP comme "hasardeux " en complément du timing .
Le chrono tourne très vite, a l'appui il s’arrête sur un certain chiffre , et suivant le temps de l'appui ( on parle en millisecondes donc presque impossible a reproduire volontairement), on additionne le tout , et par une formule savante on en sort un chiffre.
est-ce que je me trompe, après la lecture des liens de Claudius si je dis, plus il y a de critères non maitrisé par l'homme plus la part du hasard est grande ?
Si j'ai le temps je te ferais ça ce week end par curiosité .
Ça pourrait faire un bon tuto ca aussi, la création de nombre aléatoire ou plutôt "pseudo-aléatoire".
le "Bruit" , je pense, s'agit sûrement de parasites ambiants sur les fils . Un peu courbe une courbe d'un oscilloscope pret d'un parasite .
Sinon tu pourrais aussi utilisé le temps d'appui sur le BP comme "hasardeux " en complément du timing .
Le chrono tourne très vite, a l'appui il s’arrête sur un certain chiffre , et suivant le temps de l'appui ( on parle en millisecondes donc presque impossible a reproduire volontairement), on additionne le tout , et par une formule savante on en sort un chiffre.
est-ce que je me trompe, après la lecture des liens de Claudius si je dis, plus il y a de critères non maitrisé par l'homme plus la part du hasard est grande ?
Si j'ai le temps je te ferais ça ce week end par curiosité .
Ça pourrait faire un bon tuto ca aussi, la création de nombre aléatoire ou plutôt "pseudo-aléatoire".
simon says
Bonjour
Comme dab rapide
HA...le mode aléatoire , le vrai celui qui n'existe pas
Pour un pic un timer doit faire l'affaire, bien sur le faire tourner le plus rapidement possible . Cela nous donne 1/65535 chances de tomber sur la même valeur(suivant le timer utilisé).
On est loin de la tartine beurrée 1/2. Bon après il y a le coté cyclique et tout est la .Cela ne change rien au problème toujours du PSEUDO,même si on rajoute comme paramètre une horloge, elle est cyclique ou autre ,dur dur de sortir de la......
allez A+
bon petit vent..
Comme dab rapide
HA...le mode aléatoire , le vrai celui qui n'existe pas
Pour un pic un timer doit faire l'affaire, bien sur le faire tourner le plus rapidement possible . Cela nous donne 1/65535 chances de tomber sur la même valeur(suivant le timer utilisé).
On est loin de la tartine beurrée 1/2. Bon après il y a le coté cyclique et tout est la .Cela ne change rien au problème toujours du PSEUDO,même si on rajoute comme paramètre une horloge, elle est cyclique ou autre ,dur dur de sortir de la......
allez A+
bon petit vent..
simon says
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 48 invités