ENIB 2022 - groupe C : flipper : Différence entre versions

De Les Fabriques du Ponant
Aller à : navigation, rechercher
(Code)
Ligne 21 : Ligne 21 :
 
* [[Fichier:Haut gachette.stl]] à imprimer en 3D deux fois
 
* [[Fichier:Haut gachette.stl]] à imprimer en 3D deux fois
 
* [[Fichier:Bas.stl]] à imprimer en 3D deux fois également
 
* [[Fichier:Bas.stl]] à imprimer en 3D deux fois également
 +
 +
==Comment faire==
 +
 +
  
 
==Sources==
 
==Sources==
 
* gestion de la mémoire arduino : https://zestedesavoir.com/tutoriels/374/gestion-de-la-memoire-sur-arduino/
 
* gestion de la mémoire arduino : https://zestedesavoir.com/tutoriels/374/gestion-de-la-memoire-sur-arduino/
  
#include "EEPROM.h"
+
==Code==
#include <Wire.h>
+
<pre>
#include "rgb_lcd.h"
+
////////////////////////////////
   
+
//          Test              //
rgb_lcd lcd;
+
// capteur de pression Piezo //
//branchement ecran lcd à Arduino Nano :    GND relié à la masse    VCC relié au 5V     SDA relié à A4      SCL relié à A5
+
////////////////////////////////
const int colorR = 255;
+
/*
const int colorG = 255;
+
*  vendredi 30 juillet 2021
const int colorB = 255;
+
*  D1 mini
 +
*  code inspiré de Arduino FlossManual - https://fr.flossmanuals.net/arduino/_draft/_v/1.0/perroquet/
 +
*  matériel
 +
*  - D1 mini
 +
*  - breadboard
 +
*  - jumper
 +
*  - piezo
 +
*  - résistance 10 Mégaohms
 +
 +
*  *                            BROCHAGE                           
 +
                                _________________                       
 +
                                /    D1 mini    \                     
 +
                            -  |[ ]RST        TX[ ]| -                   
 +
Résistance - Capteur Piezo  -  |[X]A0  -GPIO  RX[ ]| -                   
 +
                              |[ ]D0-16    5-D1[ ]| -                   
 +
                              |[ ]D5-14    4-D2[ ]| -                   
 +
                            -  |[ ]D6-12    0-D3[ ]| -             
 +
                            -  |[ ]D7-13   2-D4[ ]| LED_BUILTIN         
 +
                            -  |[ ]D8-15    GND[X]| - GND - Capteur Piezo - resistance           
 +
                            -  |[ ]3V3 .      5V[X]| - ruban de Led       
 +
                              |      +---+      |                   
 +
                              |_______|USB|_______|                     
  
  
int currentState;
+
*  Antony Le Goïc-Auffret
const int BUTTON_PIN = 6;
+
int startgame = 0;
+
*/
int endgame = 0;
 
  
//branchement capteur piezo  :  brancher en parallèle une résistance et le capteur piezo,  les broches du capteur piezo : Une broche sur GND  l'autre broche sur A0
 
 
// Variable pour désigner quelle pin est utilisée pour le capteur  
 
// Variable pour désigner quelle pin est utilisée pour le capteur  
 
int capteurPiezo = A0; // pin Analog 0
 
int capteurPiezo = A0; // pin Analog 0
 
// Variable pour contenir la valeur du capteur
 
// Variable pour contenir la valeur du capteur
 
int valeurPiezo ;
 
int valeurPiezo ;
int score;
 
int highscore;
 
  
 
void setup() {
 
void setup() {
 
// Établit la connexion série à 9600 bauds
 
// Établit la connexion série à 9600 bauds
Serial.begin(9600);
+
Serial.begin(9600);  
pinMode(BUTTON_PIN, INPUT_PULLUP);
 
highscore = EEPROM.read(600);
 
//Serial.println("Highscore");Serial.println(highscore);
 
 
 
// set up the LCD's number of columns and rows:
 
lcd.begin(16, 2);
 
 
lcd.setRGB(colorR, colorG, colorB);
 
 
    // Print a message to the LCD.
 
lcd.clear();
 
lcd.setCursor(0,0);
 
 
 
 
}
 
}
  
 
void loop() {
 
void loop() {
 
currentState = digitalRead(BUTTON_PIN);
 
//Serial.println("currentState");Serial.println(currentState);
 
 
if(currentState==0)
 
{
 
  delay(100);
 
  if(startgame==0)
 
{startgame=1;
 
score=0;
 
endgame=0;}
 
else
 
{startgame=0;
 
endgame=1;}
 
}
 
 
if (startgame==0)
 
{
 
lcd.clear();
 
lcd.setCursor(0,0);
 
lcd.print("Highscore : ");lcd.print(highscore);
 
if(score!=0)
 
{
 
lcd.setCursor(0,1);
 
lcd.print("Your score : ");lcd.print(score);
 
}
 
}
 
 
if (startgame==1)
 
{
 
 
 
// Lit la pin du capteur et l'assigne à la variable valeurPiezo  
 
// Lit la pin du capteur et l'assigne à la variable valeurPiezo  
 
valeurPiezo = analogRead(capteurPiezo);
 
valeurPiezo = analogRead(capteurPiezo);
 
// Affiche au moniteur série la valeur de valeurPiezo  
 
// Affiche au moniteur série la valeur de valeurPiezo  
if (valeurPiezo >= 1 )
+
Serial.println(valeurPiezo);
{
 
  score+=1;
 
  //Serial.println("score");Serial.println(score);  
 
}
 
 
 
 
// Laisse un court délai afin que l'utilisateur puisse lire les valeurs correctement
 
// Laisse un court délai afin que l'utilisateur puisse lire les valeurs correctement
delay(50);
+
delay(100);  
 
 
if(score>highscore)
 
{EEPROM.write(600,score);
 
}
 
lcd.clear();
 
lcd.setCursor(0,0);
 
lcd.print("Highscore : ");lcd.print(highscore);
 
lcd.setCursor(0,1);
 
lcd.print("Your score : ");lcd.print(score);
 
}
 
 
 
 
}
 
}
 +
</pre>
  
 
==Catégories==
 
==Catégories==
  
 
[[Catégorie:Enib2022]]
 
[[Catégorie:Enib2022]]

Version du 17 janvier 2022 à 16:18

photo de l'équipe

Photoenib2018.jpg

Que fait ce projet ?

L'objectif est de recréer un flipper taille miniature.

Liste des composants

  • carte arduino nano
  • 2 gachettes de flipper (voir le fichier stl puis les imprimer)
  • planches en bois à couper aux bonnes dimensions
  • x capteurs piezo avec résistance d'un MegΩ
  • 4 élastiques
  • une bille
  • 1 bouchon en liège
  • une tige en bois (dans laquelle on pourra embrocher des bouchons en lièges)

vignette|haut des gachettes du flipper

Fichiers à avoir

Comment faire

Sources

Code

////////////////////////////////
//          Test              //
// capteur de pression Piezo  //
////////////////////////////////
/* 
 *  vendredi 30 juillet 2021
 *  D1 mini
 *  code inspiré de Arduino FlossManual - https://fr.flossmanuals.net/arduino/_draft/_v/1.0/perroquet/
 *  matériel 
 *  - D1 mini
 *  - breadboard
 *  - jumper
 *  - piezo
 *  - résistance 10 Mégaohms
 *  
 *   *                             BROCHAGE                            
                                 _________________                        
                                /     D1 mini     \                       
                            -  |[ ]RST        TX[ ]| -                    
Résistance - Capteur Piezo  -  |[X]A0  -GPIO  RX[ ]| -                    
                               |[ ]D0-16    5-D1[ ]| -                    
                               |[ ]D5-14    4-D2[ ]| -                    
                            -  |[ ]D6-12    0-D3[ ]| -              
                            -  |[ ]D7-13    2-D4[ ]| LED_BUILTIN          
                            -  |[ ]D8-15     GND[X]| - GND - Capteur Piezo - resistance             
                            -  |[ ]3V3 .      5V[X]| - ruban de Led        
                               |       +---+       |                     
                               |_______|USB|_______|                      


 *  Antony Le Goïc-Auffret
 *  
 */

// Variable pour désigner quelle pin est utilisée pour le capteur 
int capteurPiezo = A0; // pin Analog 0
// Variable pour contenir la valeur du capteur
int valeurPiezo ;

void setup() {
// Établit la connexion série à 9600 bauds
Serial.begin(9600); 
}

void loop() {
// Lit la pin du capteur et l'assigne à la variable valeurPiezo 
valeurPiezo = analogRead(capteurPiezo);
// Affiche au moniteur série la valeur de valeurPiezo 
Serial.println(valeurPiezo);
// Laisse un court délai afin que l'utilisateur puisse lire les valeurs correctement
delay(100); 
}

Catégories