Advertisement
Guest User

Untitled

a guest
Jul 28th, 2017
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.47 KB | None | 0 0
  1. #define POT1 0
  2. #define LATCH 7
  3. #define CLOCK 8
  4. #define DATA 4
  5. #define BUT 10
  6. #define BUZZER 3
  7. #define pitch 1000
  8. #define LED1 5
  9.  
  10. int NumOfTries, PotNum;
  11. int buttonState = digitalRead(BUT);
  12. unsigned long timeStart, timeEnd;
  13. float average, total, reactionTime;
  14. float selectTries();
  15. int i;
  16. float reactionTimer();
  17.  
  18. const byte three = B10110000; //Constants for the 7seg display
  19. const byte four = B10011001;
  20. const byte five = B10010010;
  21. const byte six = B10000010;
  22. const byte seven = B11111000;
  23. const byte eight = B10000000;
  24. const byte nine = B10010000;
  25.  
  26.  
  27.  
  28. void setup()
  29. {
  30. Serial.begin(9600);
  31. pinMode(LED1, OUTPUT);
  32. pinMode(LATCH, OUTPUT);
  33. pinMode(CLOCK, OUTPUT);
  34. pinMode(DATA,OUTPUT);
  35. pinMode(BUT,INPUT);
  36. pinMode(BUZZER,OUTPUT);
  37. }
  38. void loop()
  39. {
  40.   NumOfTries = selectTries();
  41.   i = 0;
  42.   total = 0;
  43.   while (i < NumOfTries)
  44.   {
  45.     reactionTime = reactionTimer();
  46.   }
  47.  
  48.   float reactionTimer()
  49.   {
  50.     delay(random(2000,5000));
  51.     timeStart = millis();
  52.     while (digitalRead(BUT) == HIGH)
  53.     {
  54.     digitalWrite(LED1, HIGH);
  55.     }
  56.     digitalWrite(LED1, LOW);
  57.     timeEnd = millis();
  58.     reactionTime = timeEnd - timeStart;
  59.    
  60.     return reactionTime;
  61.   }
  62.  
  63.   float selectTries()
  64.   while (buttonState == HIGH) {//Select number of tries function
  65.    PotNum = analogRead(POT1);
  66.    if (PotNum <= 146)
  67.   {  
  68.    digitalWrite(LATCH,LOW);
  69.   shiftOut(DATA,CLOCK,MSBFIRST,three);
  70.   digitalWrite(LATCH,HIGH);
  71.   NumOfTries = 3;
  72.   }
  73.  
  74. if (PotNum <= 292 && PotNum > 146)
  75.   {
  76.   digitalWrite(LATCH,LOW);
  77.   shiftOut(DATA,CLOCK,MSBFIRST,four);
  78.   digitalWrite(LATCH,HIGH);
  79.   NumOfTries = 4;
  80.   }
  81.  
  82. if (PotNum <= 438 && PotNum > 292)
  83.   {
  84.   digitalWrite(LATCH,LOW);
  85.   shiftOut(DATA,CLOCK,MSBFIRST,five);
  86.   digitalWrite(LATCH,HIGH);
  87.   NumOfTries = 5;
  88.   }
  89.  
  90. if (PotNum <= 584 && PotNum > 438)
  91.   {
  92.   digitalWrite(LATCH,LOW);
  93.   shiftOut(DATA,CLOCK,MSBFIRST,six);
  94.   digitalWrite(LATCH,HIGH);
  95.   NumOfTries = 6;
  96.   }
  97.  
  98. if (PotNum <= 730 && PotNum > 584)
  99.   {
  100.   digitalWrite(LATCH,LOW);
  101.   shiftOut(DATA,CLOCK,MSBFIRST,seven);
  102.   digitalWrite(LATCH,HIGH);
  103.   NumOfTries = 7;
  104.   }
  105.  
  106. if (PotNum <= 876 && PotNum > 730)
  107.   {  
  108.   digitalWrite(LATCH,LOW);
  109.   shiftOut(DATA,CLOCK,MSBFIRST,eight);
  110.   digitalWrite(LATCH,HIGH);
  111.   NumOfTries = 8;
  112.   }
  113.  
  114. if (PotNum > 876)
  115.   {
  116.   digitalWrite(LATCH,LOW);
  117.   shiftOut(DATA,CLOCK,MSBFIRST,nine);
  118.   digitalWrite(LATCH,HIGH);
  119.   NumOfTries = 9;
  120.   }
  121. }
  122. tone(BUZZER,1000,500);
  123. tone(BUZZER,2000,500);
  124. return NumOfTries;
  125. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement