Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define POT1 0
- #define LATCH 7
- #define CLOCK 8
- #define DATA 4
- #define BUT 10
- #define BUZZER 3
- #define pitch 1000
- #define LED1 5
- int NumOfTries, PotNum;
- int buttonState = digitalRead(BUT);
- unsigned long timeStart, timeEnd;
- float average, total, reactionTime;
- float selectTries();
- int i;
- float reactionTimer();
- const byte three = B10110000; //Constants for the 7seg display
- const byte four = B10011001;
- const byte five = B10010010;
- const byte six = B10000010;
- const byte seven = B11111000;
- const byte eight = B10000000;
- const byte nine = B10010000;
- void setup()
- {
- Serial.begin(9600);
- pinMode(LED1, OUTPUT);
- pinMode(LATCH, OUTPUT);
- pinMode(CLOCK, OUTPUT);
- pinMode(DATA,OUTPUT);
- pinMode(BUT,INPUT);
- pinMode(BUZZER,OUTPUT);
- }
- void loop()
- {
- NumOfTries = selectTries();
- i = 0;
- total = 0;
- while (i < NumOfTries)
- {
- reactionTime = reactionTimer();
- }
- float reactionTimer()
- {
- delay(random(2000,5000));
- timeStart = millis();
- while (digitalRead(BUT) == HIGH)
- {
- digitalWrite(LED1, HIGH);
- }
- digitalWrite(LED1, LOW);
- timeEnd = millis();
- reactionTime = timeEnd - timeStart;
- return reactionTime;
- }
- float selectTries()
- while (buttonState == HIGH) {//Select number of tries function
- PotNum = analogRead(POT1);
- if (PotNum <= 146)
- {
- digitalWrite(LATCH,LOW);
- shiftOut(DATA,CLOCK,MSBFIRST,three);
- digitalWrite(LATCH,HIGH);
- NumOfTries = 3;
- }
- if (PotNum <= 292 && PotNum > 146)
- {
- digitalWrite(LATCH,LOW);
- shiftOut(DATA,CLOCK,MSBFIRST,four);
- digitalWrite(LATCH,HIGH);
- NumOfTries = 4;
- }
- if (PotNum <= 438 && PotNum > 292)
- {
- digitalWrite(LATCH,LOW);
- shiftOut(DATA,CLOCK,MSBFIRST,five);
- digitalWrite(LATCH,HIGH);
- NumOfTries = 5;
- }
- if (PotNum <= 584 && PotNum > 438)
- {
- digitalWrite(LATCH,LOW);
- shiftOut(DATA,CLOCK,MSBFIRST,six);
- digitalWrite(LATCH,HIGH);
- NumOfTries = 6;
- }
- if (PotNum <= 730 && PotNum > 584)
- {
- digitalWrite(LATCH,LOW);
- shiftOut(DATA,CLOCK,MSBFIRST,seven);
- digitalWrite(LATCH,HIGH);
- NumOfTries = 7;
- }
- if (PotNum <= 876 && PotNum > 730)
- {
- digitalWrite(LATCH,LOW);
- shiftOut(DATA,CLOCK,MSBFIRST,eight);
- digitalWrite(LATCH,HIGH);
- NumOfTries = 8;
- }
- if (PotNum > 876)
- {
- digitalWrite(LATCH,LOW);
- shiftOut(DATA,CLOCK,MSBFIRST,nine);
- digitalWrite(LATCH,HIGH);
- NumOfTries = 9;
- }
- }
- tone(BUZZER,1000,500);
- tone(BUZZER,2000,500);
- return NumOfTries;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement