ENIB 2022 - groupe D : Tirolaser : Différence entre versions

De Les Fabriques du Ponant
Aller à : navigation, rechercher
(Photo de l'équipe)
Ligne 16 : Ligne 16 :
 
               \__  /        /nn_) (        /nn__\_) (
 
               \__  /        /nn_) (        /nn__\_) (
 
                 `--'          /nn__\            /nn__\
 
                 `--'          /nn__\            /nn__\
 +
 +
                      _
 +
                    : \
 +
                    ;\ \_                  _
 +
                    ;@: ~:              _,-;@)
 +
                    ;@: ;~:          _,' _,'@;
 +
                    ;@;  ;~;      ,-'  _,@@@,'
 +
                    |@(    ;      ) ,-'@@@-;
 +
                    ;@;  |~~(  _/ /@@@@@@/
 +
                    \@\  ; _/ _/ /@@@@@@;~
 +
                    \@\  /  / ,'@@@,-'~
 +
                      \\  (  ) :@@(~
 +
                    ___ )-'[[Utilisateur:Tirolaser|Tirolaser]] ([[Discussion utilisateur:Tirolaser|discussion]]) 18 janvier 2022 à 17:51 (CET)`--/ ___
 +
                  (  `--_    _,--'  )
 +
                  (~`- ___ \  / ___ -'~)
 +
                __~\_(  \_~~_/  )_/~__
 +
/\ /\ /\    ,-'18 janvier 2022 à 17:51 (CET)`-._ 0\/0 _,-'18 janvier 2022 à 17:51 (CET)`-.
 +
| |:  ::|    ;    ______ `----'  ______    :
 +
| `'  `'|    ;    {      \  ~  /      }  |
 +
\_  _/    `-._      ,-,' ~~  `.-.      _,'        |\
 +
  \ /_          `----' ,'      `, `----'          : \
 +
  |_( )                `-._/#\_,-'                  :  )
 +
,-'  ~)          _,--./  (###)__                  :  :
 +
([[Utilisateur:Tirolaser|Tirolaser]] ([[Discussion utilisateur:Tirolaser|discussion]]) 18 janvier 2022 à 17:51 (CET)_)          /      ; `-'  `--,              |  ;
 +
([[Utilisateur:Tirolaser|Tirolaser]] ([[Discussion utilisateur:Tirolaser|discussion]])' )        ;      /@@@@@@.    `.              | /
 +
`.HH~;        ,-'  ,-  |@@@ @@@@.  `.            .')
 +
  `HH `.      ,'  /    |@@@@@ @@@@.  `.          / /(~)
 +
  HH  \_  ,'  _/`.    |@@@@@ @@@@@;  `.          ; (~~)
 +
  ~~`.  \_,'  /  ;  .@@@@@ @@@@@@;\_  \___      ; H~\)
 +
      \_    _/    `.  |@@@@@@ @@@@@;  \    `----'_HH[~)
 +
        \___/      `. :@@@@@ @@@@@@'  \__,------' HH ~
 +
        ______        ; |@@@@@@ @@@'                HH
 +
      _)      \_,    ; :@@@@@@@@@;                  ~~
 +
    _;          \\  ,' |@@@@@@@@@:
 +
  ,'    ; :      \_,  :@@@@@@@@@@.
 +
  `.__,-'~~`._,-.  ,    :@@@@@@@@@@`.
 +
                \/    /@@@@@@@@@@@@:
 +
                /    ,@@@@@@@@@@@@@@.
 +
                |    ,@@@@@@@@@@@@@@@:
 +
                |    :@@@@@@@@@@@@@@@'
 +
                `.  \@@@@/  `@@@@@/(
 +
                  )  [[Utilisateur:Tirolaser|Tirolaser]] ([[Discussion utilisateur:Tirolaser|discussion]])/    \[[Utilisateur:Tirolaser|Tirolaser]] ([[Discussion utilisateur:Tirolaser|discussion]]) 18 janvier 2022 à 17:51 (CET)  \
 +
                  :    /      \_    \
 +
                  (    /          \_  `.
 +
                  /  ;            \_  `.
 +
                /  /                \  `.
 +
                /  /                  `.  \
 +
              ,'  ,'/~~)                ;  /
 +
              {  `'  (              /  /
 +
              `.___,-'  \            /  /
 +
                __/    |          /  /
 +
                /        |          : :  __
 +
                :        |          ; : _;  )__
 +
                (  |  |  /          /  `,'  ~  )_
 +
                `-:__;-'          :  ,'      ~~  ;
 +
                                  /          (_,--'
 +
                                (      ,-'~~
 +
                                  \__,-'~
  
 
==Que fait ce projet ? ==
 
==Que fait ce projet ? ==

Version du 18 janvier 2022 à 17:51

Photo de l'équipe

                             ,-.             __
                            ,'   `---.___.---'  `.
                          ,'   ,-                 `-._
                        ,'    /                       \
                     ,\/     /                        \\
                 )`._)>)     |                         \\
                 `>,'    _   \                  /       |\
                   )      \   |   |            |        |\\
          .   ,   /        \  |    `.          |        | ))
          \`. \`-'          )-|      `.        |        /((
           \ `-`   a`     _/ ;\ _     )`-.___.--\      /  `'
            `._         ,'    \`j`.__/        \  `.    \
              / ,    ,'       _)\   /`        _) ( \   /
              \__   /        /nn_) (         /nn__\_) (
                `--'           /nn__\             /nn__\
                     _
                    : \
                    ;\ \_                   _
                    ;@: ~:              _,-;@)
                    ;@: ;~:          _,' _,'@;
                    ;@;  ;~;      ,-'  _,@@@,'
                   |@(     ;      ) ,-'@@@-;
                   ;@;   |~~(   _/ /@@@@@@/
                   \@\   ; _/ _/ /@@@@@@;~
                    \@\   /  / ,'@@@,-'~
                      \\  (  ) :@@(~
                   ___ )-'Tirolaser (discussion) 18 janvier 2022 à 17:51 (CET)`--/ ___
                  (   `--_    _,--'   )
                 (~`- ___ \  / ___ -'~)
                __~\_(   \_~~_/   )_/~__
/\ /\ /\     ,-'18 janvier 2022 à 17:51 (CET)`-._ 0\/0 _,-'18 janvier 2022 à 17:51 (CET)`-.

| |:  ::|  ; ______ `----' ______  : | `' `'|  ; { \ ~ / } |

\_   _/     `-._      ,-,' ~~  `.-.      _,'        |\
  \ /_          `----' ,'       `, `----'           : \
  |_( )                `-._/#\_,-'                  :  )
,-'  ~)           _,--./  (###)__                   :  :
(Tirolaser (discussion) 18 janvier 2022 à 17:51 (CET)_)          /       ; `-'   `--,               |  ;
(Tirolaser (discussion)' )         ;       /@@@@@@.    `.              | /
`.HH~;        ,-'  ,-   |@@@ @@@@.   `.             .')
 `HH `.      ,'   /     |@@@@@ @@@@.  `.           / /(~)
  HH   \_   ,'  _/`.    |@@@@@ @@@@@;  `.          ; (~~)
  ~~`.   \_,'  /   ;   .@@@@@ @@@@@@;\_  \___      ; H~\)
      \_     _/    `.  |@@@@@@ @@@@@;  \     `----'_HH[~)
        \___/       `. :@@@@@ @@@@@@'   \__,------' HH ~
       ______        ; |@@@@@@ @@@'                 HH
     _)      \_,     ; :@@@@@@@@@;                  ~~
   _;          \\   ,' |@@@@@@@@@:
 ,'     ; :      \_,   :@@@@@@@@@@.
 `.__,-'~~`._,-.  ,    :@@@@@@@@@@`.
                \/    /@@@@@@@@@@@@:
                /    ,@@@@@@@@@@@@@@.
               |    ,@@@@@@@@@@@@@@@:
               |    :@@@@@@@@@@@@@@@'
               `.   \@@@@/  `@@@@@/(
                 )   Tirolaser (discussion)/    \Tirolaser (discussion) 18 janvier 2022 à 17:51 (CET)  \
                 :     /       \_    \
                 (    /          \_   `.
                 /   ;             \_  `.
                /   /                \  `.
               /   /                  `.  \
             ,'  ,'/~~)                ;  /
             {   `'   (               /  /
             `.___,-'  \             /  /
                __/     |           /  /
               /        |           : :   __
               :        |           ; : _;  )__
               (  |  |  /          /  `,'  ~   )_
                `-:__;-'          :  ,'      ~~  ;
                                 /          (_,--'
                                (       ,-'~~
                                 \__,-'~

Que fait ce projet ?

C'est un stand de tir avec un pistolet laser.

Liste des composants

  • 1 boite en bois
  • 1 plaque de carton
  • 4 LEDs RGB
  • Une Arduino Nano et son câble d'alimentation USB 5V
  • Une diode laser
  • 3 Piles AA + un rack de 3 piles
  • Le boitier de pistolet fait par imprimante 3D
  • 2 Photorésistances
  • Des câbles
  • Un plaque Labdec

Comment refaire ce projet?

Débrouillez vous

Code

#define LDR1 A1  // composante photorésistance sur la pin A1
#define LDR2 A2  // composante photorésistance sur la pin A1
#define LDR3 A3  // composante photorésistance sur la pin A1
#define LDR4 A4  // composante photorésistance sur la pin A1
#define LDR5 A5  // composante photorésistance sur la pin A1
int value_LDR1;
int value_LDR2;
int value_LDR3;
int value_LDR4;
int value_LDR5;

int target;
int new_target;
int score;
int miss;

long T;
unsigned long previousMicros_target;
unsigned long previousMillis_score;
int actual_score;
int previous_score;

int red_light_pin1 = 2;
int green_light_pin1 = 3;

int red_light_pin2 = 11;
int green_light_pin2 = 10;

int green_on;
int orange_on;
int red_on;
 
void setup() {

randomSeed(analogRead(7));
  
Serial.begin(9600);
pinMode(LDR1, INPUT);
pinMode(LDR2, INPUT);
pinMode(LDR3, INPUT);
pinMode(LDR4, INPUT);
pinMode(LDR5, INPUT);

pinMode(red_light_pin1, OUTPUT);
pinMode(green_light_pin1, OUTPUT);

pinMode(red_light_pin2, OUTPUT);
pinMode(green_light_pin2, OUTPUT);

value_LDR1 = 0;

green_on = 0;
orange_on = 0;
red_on = 0;

T = 1000;
previousMicros_target = 0;
previousMillis_score = 0;
score = 0;


}

void loop() {

if (target == 0 or new_target == 1){
  target = random(1,3);
  new_target = 0;
}

unsigned long currentMicros = millis();     //attribution du temps d'éxécution du programme à une variable


value_LDR1 = analogRead(LDR1);
value_LDR2 = analogRead(LDR2);
value_LDR3 = analogRead(LDR3);
value_LDR4 = analogRead(LDR4);
value_LDR5 = analogRead(LDR5);


if (new_target == 0){
  if (currentMicros - previousMicros_target >= T and green_on == 0 and orange_on == 0 and red_on == 0){
    if (target == 1){
      RGB_color_1(255,0);
      RGB_color_2(255,255);
    }
    else if (target == 2){
      RGB_color_2(255,0);
      RGB_color_1(255,255);
    }
    previousMicros_target = currentMicros;
    green_on = 1;
  }
  if (currentMicros - previousMicros_target >= T and currentMicros - previousMicros_target <= 2*T and green_on == 1 and orange_on == 0 and red_on == 0){
    if (target == 1){
      RGB_color_1(0,100);
    }
    else if (target == 2){
      RGB_color_2(0,100);
    }
    green_on = 0;
    orange_on = 1;
  }
  if (currentMicros - previousMicros_target >= 2*T and currentMicros - previousMicros_target <= 3*T and green_on == 0 and orange_on == 1 and red_on == 0){
    if (target == 1){
      RGB_color_1(0,255);
    }
    else if (target == 2){
      RGB_color_2(0,255);
    }
    orange_on = 0;
    red_on = 1;
  }
  if (currentMicros - previousMicros_target >= 3*T and currentMicros - previousMicros_target <= 4*T and green_on == 0 and orange_on == 0 and red_on == 1){
    if (target == 1){
      RGB_color_1(255,255);
      miss = miss + 1;
      new_target = 1;
    }
    else if (target == 2){
      RGB_color_2(255,255);
      miss = miss + 1;
      new_target = 1;
    }
    red_on = 0;
  }
}

  if (target == 1 and value_LDR1 > 950 and currentMicros - previousMillis_score >= 100){
    RGB_color_1(255,255);
    new_target = 1;
    green_on = 0;
    orange_on = 0;
    red_on = 0;
    score = score + 1;
    previousMillis_score = currentMicros;
  }
  else if (target == 2 and value_LDR2 > 950 and currentMicros - previousMillis_score >= 100){
    RGB_color_1(255,255);
    new_target = 1;
    green_on = 0;
    orange_on = 0;
    red_on = 0;
    score = score + 1;
    previousMillis_score = currentMicros;
  }

}












void RGB_color_1(int red_light_value1, int green_light_value1)
 {
  analogWrite(red_light_pin1, red_light_value1);
  analogWrite(green_light_pin1, green_light_value1);
}
void RGB_color_2(int red_light_value2, int green_light_value2)
 {
  analogWrite(red_light_pin2, red_light_value2);
  analogWrite(green_light_pin2, green_light_value2);
}
//void RGB_color_3(int red_light_value3, int green_light_value3, int blue_light_value3)
// {
//  analogWrite(red_light_pin3, red_light_value3);
//  analogWrite(green_light_pin3, green_light_value3);
//  analogWrite(blue_light_pin3, blue_light_value3);
//}
//void RGB_color_4(int red_light_value4, int green_light_value4, int blue_light_value4)
// {
//  analogWrite(red_light_pin4, red_light_value4);
//  analogWrite(green_light_pin4, green_light_value4);
//  analogWrite(blue_light_pin4, blue_light_value4);
//}
//void RGB_color_5(int red_light_value5, int green_light_value5, int blue_light_value5)
// {
//  analogWrite(red_light_pin5, red_light_value5);
//  analogWrite(green_light_pin5, green_light_value5);
//  analogWrite(blue_light_pin5, blue_light_value5);
//}

Catégories