Bird
Raised Fist0
Raspberry Piprogramming~5 mins

Reaction time game in Raspberry Pi - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the main goal of a reaction time game?
The main goal is to measure how quickly a player responds to a visual or audio signal by pressing a button or key as fast as possible.
Click to reveal answer
beginner
Which Raspberry Pi component is commonly used to detect player input in a reaction time game?
A button connected to the GPIO pins is commonly used to detect when the player presses it to record their reaction time.
Click to reveal answer
intermediate
Why do we use a random delay before showing the signal in a reaction time game?
A random delay prevents the player from predicting when the signal will appear, ensuring the reaction time is genuine and not guessed.
Click to reveal answer
intermediate
How can you measure the reaction time in a Raspberry Pi reaction time game?
By recording the time when the signal appears and the time when the player presses the button, then subtracting the two times to get the reaction duration.
Click to reveal answer
beginner
What Python module can be used to handle time delays and measure time intervals in a reaction time game?
The 'time' module is used for delays (time.sleep) and to get the current time (time.time) to measure reaction intervals.
Click to reveal answer
What is the purpose of using GPIO pins in a Raspberry Pi reaction time game?
ATo connect buttons and detect player input
BTo display graphics on the screen
CTo store the game code
DTo increase the processor speed
Why should the delay before the signal be random in a reaction time game?
ATo make the game more predictable
BTo prevent players from guessing the signal time
CTo slow down the game
DTo save battery power
Which Python function can pause the program for a set amount of time?
Atime.delay()
Btime.wait()
Ctime.pause()
Dtime.sleep()
How do you calculate reaction time in a reaction time game?
AAdd the signal time and button press time
BMultiply the signal time by the button press time
CSubtract the signal time from the button press time
DDivide the signal time by the button press time
What is a good way to give feedback to the player after they press the button?
AShow their reaction time on the screen
BTurn off the Raspberry Pi
CPlay a random song
DRestart the game immediately
Explain how you would build a simple reaction time game on a Raspberry Pi using a button and Python.
Think about hardware setup, timing, and user feedback.
You got /7 concepts.
    Describe why randomness is important in a reaction time game and how you would implement it in Python.
    Consider how predictable signals affect player response.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of a reaction time game on a Raspberry Pi?
      easy
      A. To measure how quickly a player presses a button after an LED lights up
      B. To count how many times a button is pressed in a minute
      C. To display random colors on an LED strip
      D. To control the brightness of an LED using a sensor

      Solution

      1. Step 1: Understand the game goal

        The reaction time game tests how fast a player reacts to a signal, usually an LED lighting up.
      2. Step 2: Identify the key action

        The player must press a button as soon as the LED lights up to measure reaction speed.
      3. Final Answer:

        To measure how quickly a player presses a button after an LED lights up -> Option A
      4. Quick Check:

        Reaction time = button press speed after LED [OK]
      Hint: Focus on measuring speed after LED signal [OK]
      Common Mistakes:
      • Confusing reaction time with counting presses
      • Thinking the game controls LED brightness
      • Assuming it displays colors randomly
      2. Which Python code snippet correctly sets up GPIO pin 17 as an input for a button on Raspberry Pi?
      easy
      A. GPIO.setup(17, GPIO.OUT)
      B. GPIO.setup(17, GPIO.IN)
      C. GPIO.input(17, GPIO.IN)
      D. GPIO.output(17, GPIO.IN)

      Solution

      1. Step 1: Recall GPIO setup syntax

        To set a pin as input, use GPIO.setup(pin_number, GPIO.IN).
      2. Step 2: Match the correct option

        GPIO.setup(17, GPIO.IN) uses GPIO.setup(17, GPIO.IN), which is correct for input pin setup.
      3. Final Answer:

        GPIO.setup(17, GPIO.IN) -> Option B
      4. Quick Check:

        GPIO.setup(pin, GPIO.IN) sets input pin [OK]
      Hint: Use GPIO.setup with GPIO.IN for input pins [OK]
      Common Mistakes:
      • Using GPIO.OUT instead of GPIO.IN for input
      • Confusing GPIO.input() with GPIO.setup()
      • Trying to use GPIO.output() on input pins
      3. What will be the output of this code snippet in a reaction time game?
      import time
      start = time.time()
      # LED lights up here
      input('Press Enter as fast as you can!')
      end = time.time()
      print(f'Reaction time: {end - start:.2f} seconds')
      medium
      A. No output because input() is not called
      B. Reaction time: 0.00 seconds
      C. SyntaxError due to missing parentheses
      D. Reaction time: time taken between prompt and Enter press

      Solution

      1. Step 1: Understand timing with time.time()

        The code records time before and after waiting for user input.
      2. Step 2: Calculate reaction time

        The difference end - start measures how long the user took to press Enter after the prompt.
      3. Final Answer:

        Reaction time: time taken between prompt and Enter press -> Option D
      4. Quick Check:

        Reaction time = end - start after input [OK]
      Hint: time.time() difference measures reaction delay [OK]
      Common Mistakes:
      • Assuming reaction time is always zero
      • Confusing syntax errors with correct code
      • Thinking input() is not called
      4. Identify the error in this Raspberry Pi reaction game code snippet:
      GPIO.setup(18, GPIO.OUT)
      GPIO.setup(23, GPIO.IN)
      GPIO.output(23, GPIO.HIGH)
      # Wait for button press on pin 23
      medium
      A. Pin 23 should be set as GPIO.OUT
      B. GPIO.setup() missing for pin 18
      C. GPIO.output() used on input pin 23, which is incorrect
      D. No error, code is correct

      Solution

      1. Step 1: Check pin setup

        Pin 23 is set as input with GPIO.setup(23, GPIO.IN).
      2. Step 2: Identify incorrect usage

        GPIO.output() cannot be used on input pins; it is only for output pins.
      3. Final Answer:

        GPIO.output() used on input pin 23, which is incorrect -> Option C
      4. Quick Check:

        GPIO.output() only for output pins [OK]
      Hint: Use GPIO.output only on output pins [OK]
      Common Mistakes:
      • Trying to write output on input pins
      • Forgetting to setup pins before use
      • Assuming no error when pin modes mismatch
      5. You want to improve your Raspberry Pi reaction time game by adding a random delay before lighting the LED. Which code snippet correctly adds a random delay between 1 and 5 seconds before turning on the LED on pin 18?
      hard
      A. import random import time wait = random.randint(1, 5) time.sleep(wait) GPIO.output(18, GPIO.HIGH)
      B. import random wait = random.random(1, 5) time.sleep(wait) GPIO.output(18, GPIO.HIGH)
      C. import random wait = random.randint(1, 5) GPIO.output(18, GPIO.HIGH) time.sleep(wait)
      D. import time wait = random.randint(1, 5) time.sleep(wait) GPIO.output(18, GPIO.HIGH)

      Solution

      1. Step 1: Use random.randint for integer delay

        random.randint(1, 5) returns an integer between 1 and 5 seconds.
      2. Step 2: Sleep before turning LED on

        time.sleep(wait) pauses the program before GPIO.output(18, GPIO.HIGH) lights the LED.
      3. Final Answer:

        import random import time wait = random.randint(1, 5) time.sleep(wait) GPIO.output(18, GPIO.HIGH) -> Option A
      4. Quick Check:

        random.randint + sleep before LED ON [OK]
      Hint: Sleep before LED ON using random.randint delay [OK]
      Common Mistakes:
      • Using random.random with arguments (invalid)
      • Sleeping after turning LED on
      • Not importing random module
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard