ENIB 2022 - groupe A : Leds Spotting : Différence entre versions
| Ligne 26 : | Ligne 26 : | ||
Le design de la borne d'arcade est réussit et s'est terminé dans les temps. Nous avons donc utilisé une boîte en carton recouverte d'autocollants de couleurs flashy. | Le design de la borne d'arcade est réussit et s'est terminé dans les temps. Nous avons donc utilisé une boîte en carton recouverte d'autocollants de couleurs flashy. | ||
La boîte attire l'œil (voir photo ci-dessous), et, pour nous, elle convient vraiment au style forain. | La boîte attire l'œil (voir photo ci-dessous), et, pour nous, elle convient vraiment au style forain. | ||
| − | + | ||
[[Fichier:Borne arcade.jpg|vignette]] | [[Fichier:Borne arcade.jpg|vignette]] | ||
| − | + | ||
[[Fichier:Borne arcade1.jpg|vignette]] | [[Fichier:Borne arcade1.jpg|vignette]] | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
[[Catégorie:Enib2022]] | [[Catégorie:Enib2022]] | ||
==Liste des composants== | ==Liste des composants== | ||
Version du 18 janvier 2022 à 12:02
Sommaire
Que fait ce projet ?
Led Spotting est un jeu de comptage en 1 VS 1.
Déroulement du jeu
Pendant un temps déterminé (30 secondes), plusieurs led s'allumeront simultanément toutes les 1.5 secondes. Les deux joueurs devront compter les leds en appuyant sur un bouton devant eux. Le gagnant est le joueur ayant le mieux compté les leds. Si les joueurs ont le même écart par rapport à la réponse, il y a égalité, si les deux joueurs ont bien compté également.
Avancée du projet
Nous avons partagé dans le groupe les tâches suivantes : - Design de la borne d'arcade - Codage du jeu sous Arduino - Codage de l'afficheur LCD sous Arduino - Branchement et test du bon fonctionnement des leds, des boutons poussoirs
Pour le moment, il n'y a pas vraiment de code fonctionnel. Nous avions prévu d'utiliser plusieurs leds RGB mais il est possible que nous changions cela pour une bande RGB, par laquelle nous pourrions contrôler les différentes lumières.
Voici une photo du montage en cours de la boite de notre jeu et de notre banc de test avec nos leds.
Finalité du projet et problèmes rencontrés
Le design de la borne d'arcade est réussit et s'est terminé dans les temps. Nous avons donc utilisé une boîte en carton recouverte d'autocollants de couleurs flashy. La boîte attire l'œil (voir photo ci-dessous), et, pour nous, elle convient vraiment au style forain.
Liste des composants
- Bande RGB
- Boutons poussoir
- Ecran LCD
- Carte Arduino Nano
Code
//CECI N'EST PAS UN CODE FONCTIONNEL
boolean finished = false;
boolean started = false;
void setup() // début de la fonction setup()
{
setupLeds();
Serial.begin(9600); // Ouvre le port série à 9600 bauds
} // fin de la fonction setup()
//***** FONCTION LOOP = Boucle sans fin = cœur du programme *****
// la fonction loop() s'exécute sans fin en boucle aussi longtemps que l'Arduino est sous tension
void loop() // début de la fonction loop()
{
if (!started){
waiting();
} else {
//faire afficher un truc sur le LCD
if (!finished){
int total = random(30,45);
int i = total;
while (!finished){
int j = random(1,7);
allumerRandom(j);
i = i-j;
if ( i == 0){
finished = true;
}
}
} else {
//afficher le bon résultat
//afficher le gagnant
}
while(1){
digitalWrite(10, HIGH); // Met la broche 13 au niveau haut = allume la LED
delay(500); // Pause de 500 ms
digitalWrite(10, LOW); // Met la broche 13 au niveau bas = éteint la LED
delay(500); // Pause 500 ms
}
}
}
} // fin de la fonction loop()
void waiting (){
while(!started){
Serial.print("waiting...\n");
if (digitalRead(13)==1){ //bouton start détecté
started = true;
}
}
}
void setupLeds(){
pinMode(12, OUTPUT); // Initialise la broche 12 comme sortie
pinMode(11, OUTPUT); // Initialise la broche 11 comme sortie
pinMode(10, OUTPUT); // Initialise la broche 10 comme sortie
pinMode(9, OUTPUT); // Initialise la broche 9 comme sortie
pinMode(8, OUTPUT); // Initialise la broche 8 comme sortie
pinMode(7, OUTPUT); // Initialise la broche 7 comme sortie
pinMode(6, OUTPUT); // Initialise la broche 6 comme sortie
pinMode(5, OUTPUT); // Initialise la broche 5 comme sortie
pinMode(4, OUTPUT); // Initialise la broche 4 comme sortie
pinMode(3, OUTPUT); // Initialise la broche 3 comme sortie
pinMode(1, OUTPUT); // Initialise la broche 1 comme sortie
pinMode(0, OUTPUT); // Initialise la broche 0 comme sortie
pinMode(14, OUTPUT); // Initialise la broche 14 comme sortie
pinMode(15, OUTPUT); // Initialise la broche 15 comme sortie
pinMode(16, OUTPUT); // Initialise la broche 16 comme sortie
pinMode(17, OUTPUT); // Initialise la broche 17 comme sortie
pinMode(18, OUTPUT); // Initialise la broche 18 comme sortie
pinMode(19, OUTPUT); // Initialise la broche 19 comme sortie
pinMode(20, OUTPUT); // Initialise la broche 20 comme sortie
pinMode(21, OUTPUT); // Initialise la broche 21 comme sortie
pinMode(13, INPUT); // Initialise la broche 13 comme entrée
pinMode(2, INPUT); // Initialise la broche 12 comme entrée
for (int i = 0; i <22; i++){
if (i != 2 && i != 13){
digitalWrite(i, HIGH);
}
}
}
void allumerRandom(int i){
}
