ENIB 2022 - groupe D : Tirolaser

De Les Fabriques du Ponant
Révision datée du 18 janvier 2022 à 17:51 par Tirolaser (discussion | contributions) (Photo de l'équipe)
Aller à : navigation, rechercher

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