Ruslan_nig

time_reaction_ard

Nov 14th, 2022
1,099
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #define Button 12
  2. #define MY_PERIOD 500
  3. bool flagBlue=false;//флаг загорался ли синий светодиод
  4. void miganie(int a, int b);
  5. uint32_t tmr1;
  6. void setup() {
  7.   Serial.begin(9600);
  8.   pinMode(Button, INPUT);
  9.   pinMode (13, OUTPUT);
  10.    pinMode (11, OUTPUT);
  11. randomSeed(analogRead(A0));
  12.    while (true){
  13.       miganie(13,50); //мигает зелёный светодиод
  14.       if ((millis()>10000)&& millis()%10==random(0,9)) break;
  15.    }
  16.       digitalWrite(13,LOW);
  17.         digitalWrite(11,HIGH);
  18.         tmr1=millis(); //фиксируем время загорания синего светодиода
  19.         int x=0;
  20.         int y = random(10,99);
  21.         int z = random(10,99);
  22.         x=y+z;
  23.         Serial.print("Please calculate x=  ");
  24.         Serial.print(y); Serial.print("+");Serial.println(z);
  25.         //Serial.println(tmr1);
  26.  
  27.         while(true){
  28.         if (digitalRead(Button)==1){
  29.         Serial.print("Time of reaction, milliseconds =  ");
  30.         Serial.println(millis()-tmr1);
  31.         Serial.print("x =  ");
  32.         Serial.println(x);
  33.         break;
  34.         }
  35.         }
  36.         digitalWrite(11,LOW);
  37.         Serial.println("END OF TEST");
  38. }         //end setup
  39.  
  40. void loop() {
  41.   /*
  42. if (flagBlue==false){//если синий светодиод не загорался
  43.   miganie(13,50); //мигает зелёный светодиод
  44. }
  45.  
  46.  
  47. if ((millis()%10)==random(0,9)){
  48. miganie(11,100);//включаем светодиод ненадолго и запускаем таймер
  49. flagBlue = true;
  50. tmr1 = millis();//фиксируем время включения светодиода
  51. Serial.print("Time of Svetodiod On= ");
  52. Serial.println(tmr1);
  53.   if (digitalRead(Button)==1){
  54.   Serial.print("YOUR REACTION TIME IS:   ");
  55.   Serial.println(millis()-tmr1);
  56.   flagBlue = false;
  57.   }
  58. }
  59. */
  60. }
  61. void miganie (int a,int b){
  62.     digitalWrite(a,HIGH);
  63.   delay(b);
  64.   digitalWrite(a,LOW);
  65.   delay(b);
  66. }
  67.  
Advertisement
Add Comment
Please, Sign In to add comment