What is the basic hardware needed to control a single LED with a Raspberry Pi?
You need a Raspberry Pi, an LED, a resistor (usually 220Ω), and connecting wires. The resistor protects the LED from too much current.
Click to reveal answer
beginner
Which Raspberry Pi pin type is used to control an LED?
A GPIO (General Purpose Input/Output) pin is used to control an LED by turning it on or off.
Click to reveal answer
beginner
What Python library is commonly used to control GPIO pins on a Raspberry Pi?
The RPi.GPIO library is commonly used to control GPIO pins in Python on a Raspberry Pi.
Click to reveal answer
beginner
How do you turn an LED on using Python and RPi.GPIO?
Set the GPIO pin connected to the LED as output, then set it to HIGH to turn the LED on.
Click to reveal answer
beginner
Why do we need a resistor when connecting an LED to a Raspberry Pi?
The resistor limits the current flowing through the LED to prevent it from burning out or damaging the Raspberry Pi.
Click to reveal answer
Which pin mode should you set for an LED control pin on Raspberry Pi?
AGPIO.OUT
BGPIO.IN
CGPIO.PWM
DGPIO.ANALOG
✗ Incorrect
You set the pin as GPIO.OUT to send signals to the LED.
What does setting a GPIO pin to HIGH do to an LED connected to it?
AMakes the LED blink
BTurns the LED on
CTurns the LED off
DChanges LED color
✗ Incorrect
Setting the pin HIGH sends voltage to the LED, turning it on.
Why is a resistor used with an LED on a Raspberry Pi?
ATo connect multiple LEDs
BTo increase voltage
CTo limit current and protect the LED
DTo change LED color
✗ Incorrect
The resistor limits current to prevent damage.
Which Python command imports the GPIO library for Raspberry Pi?
Aimport gpio
Bimport gpiozero
Cimport raspberrypi.GPIO
Dimport RPi.GPIO as GPIO
✗ Incorrect
The standard library is imported with 'import RPi.GPIO as GPIO'.
What is the first step before controlling a GPIO pin in Python?
ASet GPIO mode (e.g., BCM or BOARD)
BTurn on the LED
CConnect the resistor
DRun the program
✗ Incorrect
You must set the GPIO mode to define pin numbering before use.
Explain the steps to turn on a single LED using a Raspberry Pi and Python.
Think about hardware setup and Python code steps.
You got /5 concepts.
Why is it important to use a resistor when connecting an LED to a Raspberry Pi GPIO pin?
Consider what happens if too much current flows.
You got /4 concepts.
Practice
(1/5)
1. What is the main purpose of setting a GPIO pin as output when controlling a single LED on a Raspberry Pi?
easy
A. To send signals that turn the LED on or off
B. To read the LED's brightness level
C. To connect the LED to the internet
D. To power the Raspberry Pi itself
Solution
Step 1: Understand GPIO pin modes
GPIO pins can be set as input or output. Output pins send signals to devices like LEDs.
Step 2: Purpose of output mode for LED
Setting a pin as output allows the Raspberry Pi to send HIGH or LOW signals to turn the LED on or off.
Final Answer:
To send signals that turn the LED on or off -> Option A
Quick Check:
Output mode controls LED state [OK]
Hint: Output pins send signals to control devices like LEDs [OK]
Common Mistakes:
Confusing input with output mode
Thinking GPIO controls power supply
Assuming GPIO reads LED brightness
2. Which of the following is the correct way to import the GPIO library and set pin 18 as output in Python for Raspberry Pi?
easy
A. import RPi.GPIO as GPIO\nGPIO.setup(18, GPIO.OUT)
B. import RPi.GPIO as GPIO\nGPIO.setup(18, GPIO.IN)
C. import gpiozero\nGPIO.setup(18, GPIO.OUT)
D. import RPi.GPIO as GPIO\nGPIO.output(18, GPIO.OUT)
Solution
Step 1: Import the correct library
Use import RPi.GPIO as GPIO to access GPIO functions.
Step 2: Set pin 18 as output
Use GPIO.setup(18, GPIO.OUT) to configure pin 18 for output.
Final Answer:
import RPi.GPIO as GPIO\nGPIO.setup(18, GPIO.OUT) -> Option A
Quick Check:
GPIO setup output = correct syntax [OK]
Hint: Use GPIO.setup(pin, GPIO.OUT) to set output pin [OK]
Common Mistakes:
Using GPIO.IN instead of GPIO.OUT
Calling GPIO.output instead of GPIO.setup for pin mode
Importing wrong library like gpiozero
3. What will be the output on the LED when running this Python code on Raspberry Pi?
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.OUT)
GPIO.output(17, GPIO.HIGH)
time.sleep(2)
GPIO.output(17, GPIO.LOW)
GPIO.cleanup()
medium
A. LED stays off for 2 seconds, then turns on
B. LED blinks rapidly for 2 seconds
C. LED turns on for 2 seconds, then turns off
D. Code causes an error and LED does not light
Solution
Step 1: Analyze GPIO output commands
The code sets pin 17 HIGH, turning LED on, waits 2 seconds, then sets pin 17 LOW, turning LED off.
Step 2: Understand timing and cleanup
The LED stays on during time.sleep(2), then turns off before cleanup.
Final Answer:
LED turns on for 2 seconds, then turns off -> Option C
Quick Check:
GPIO.HIGH = LED on, GPIO.LOW = LED off [OK]
Hint: HIGH turns LED on, LOW turns it off [OK]
Common Mistakes:
Confusing HIGH and LOW signals
Ignoring the sleep delay effect
Forgetting GPIO.cleanup() importance
4. Identify the error in this Raspberry Pi LED control code:
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(12, GPIO.OUT)
GPIO.output(12, HIGH)
GPIO.cleanup()
medium
A. GPIO.cleanup() should be called before output
B. Missing import for time module
C. Pin 12 cannot be used as output
D. Incorrect use of GPIO.HIGH without prefix
Solution
Step 1: Check GPIO output command
The code uses HIGH without GPIO. prefix, causing a NameError.
Step 2: Correct usage of HIGH signal
It should be GPIO.output(12, GPIO.HIGH) to properly reference the constant.
Final Answer:
Incorrect use of GPIO.HIGH without prefix -> Option D
Quick Check:
Use GPIO.HIGH, not just HIGH [OK]
Hint: Always prefix HIGH with GPIO. [OK]
Common Mistakes:
Using HIGH instead of GPIO.HIGH
Calling cleanup before output
Confusing BOARD and BCM modes
5. You want to write a Python program on Raspberry Pi that turns an LED on for 1 second, off for 1 second, and repeats this 5 times. Which code snippet correctly implements this behavior?
hard
A. import RPi.GPIO as GPIO\nGPIO.setmode(GPIO.BCM)\nGPIO.setup(21, GPIO.OUT)\nGPIO.output(21, GPIO.HIGH)\ntime.sleep(5)\nGPIO.output(21, GPIO.LOW)\nGPIO.cleanup()
B. import RPi.GPIO as GPIO\nimport time\nGPIO.setmode(GPIO.BCM)\nGPIO.setup(21, GPIO.OUT)\nfor i in range(5):\n GPIO.output(21, GPIO.HIGH)\n time.sleep(1)\n GPIO.output(21, GPIO.LOW)\n time.sleep(1)\nGPIO.cleanup()
C. import RPi.GPIO as GPIO\nimport time\nGPIO.setmode(GPIO.BCM)\nGPIO.setup(21, GPIO.OUT)\nfor i in range(5):\n GPIO.output(21, GPIO.LOW)\n time.sleep(1)\n GPIO.output(21, GPIO.HIGH)\n time.sleep(1)\nGPIO.cleanup()
D. import RPi.GPIO as GPIO\nimport time\nGPIO.setmode(GPIO.BCM)\nGPIO.setup(21, GPIO.OUT)\nGPIO.output(21, GPIO.HIGH)\ntime.sleep(1)\nGPIO.output(21, GPIO.LOW)\ntime.sleep(1)
Solution
Step 1: Understand the loop for repetition
The code uses for i in range(5): to repeat the on/off cycle 5 times.
Step 2: Correct on/off timing inside loop
Inside the loop, the LED is turned on (GPIO.HIGH) for 1 second, then off (GPIO.LOW) for 1 second.
Final Answer:
Code snippet C correctly repeats LED on/off 5 times with 1 second intervals -> Option B
Quick Check:
Loop with GPIO.HIGH then GPIO.LOW and sleep [OK]
Hint: Use a loop with GPIO.HIGH, sleep, GPIO.LOW, sleep [OK]
Common Mistakes:
Swapping HIGH and LOW timing order
Missing import of time module
Not using a loop for repetition
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.