Python on Raspberry Pi lets you control hardware and create fun projects easily. It helps you learn programming and electronics together.
You want to blink an LED light using code.
You want to read sensor data like temperature or motion.
You want to build a small robot controlled by Python.
You want to create a simple home automation system.
You want to learn programming with real hardware feedback.
Syntax
Raspberry Pi
print('Hello, Raspberry Pi!')
Python code runs on Raspberry Pi just like on any computer.
You can use libraries to control hardware pins and sensors.
Examples
This prints a message on the screen.
Raspberry Pi
print('Hello, Raspberry Pi!')
This turns on an LED connected to pin 18.
Raspberry Pi
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.OUT)
GPIO.output(18, GPIO.HIGH)
This counts from 0 to 4 with a 1-second pause each time.
Raspberry Pi
import time
for i inrange(5):
print(f'Count: {i}')
time.sleep(1)
Sample Program
This program blinks an LED connected to pin 18 five times. It turns the LED on and off with half-second pauses. Finally, it cleans up the pin settings.
Raspberry Pi
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
LED_PIN = 18
GPIO.setup(LED_PIN, GPIO.OUT)
print('Blinking LED 5 times')
for _ inrange(5):
GPIO.output(LED_PIN, GPIO.HIGH)
time.sleep(0.5)
GPIO.output(LED_PIN, GPIO.LOW)
time.sleep(0.5)
GPIO.cleanup()
print('Done')
OutputSuccess
Important Notes
Always call GPIO.cleanup() to reset pins after your program ends.
Use GPIO.setmode(GPIO.BCM) to refer to pins by their Broadcom number.
Make sure your LED is connected with a resistor to avoid damage.
Summary
Python on Raspberry Pi lets you write code to control hardware easily.
You can use the RPi.GPIO library to work with pins and devices.
Simple programs can blink LEDs, read sensors, and make projects come alive.
Practice
(1/5)
1. What is the main purpose of using Python on a Raspberry Pi?
easy
A. To control hardware like LEDs and sensors easily
B. To create websites only
C. To run Windows applications
D. To edit videos
Solution
Step 1: Understand Raspberry Pi's use with Python
Python on Raspberry Pi is mainly used to control hardware components like LEDs and sensors.
Step 2: Compare options with this purpose
The options describing website creation only, running Windows applications, and video editing do not relate to hardware control, so they are incorrect.
Final Answer:
To control hardware like LEDs and sensors easily -> Option A
Quick Check:
Python on Raspberry Pi = hardware control [OK]
Hint: Think about what Raspberry Pi projects usually do [OK]
Common Mistakes:
Confusing Raspberry Pi with a general computer
Thinking Python on Pi is only for web development
Assuming it runs Windows apps natively
2. Which of the following is the correct way to import the GPIO library in Python on Raspberry Pi?
easy
A. import GPIO.RPi
B. import RPi.GPIO as GPIO
C. from GPIO import RPi
D. import raspberry.GPIO
Solution
Step 1: Recall the standard import syntax for GPIO
The correct import statement is import RPi.GPIO as GPIO to use GPIO functions easily.
Step 2: Check other options for syntax errors
The other options ('import GPIO.RPi', 'from GPIO import RPi', 'import raspberry.GPIO') do not follow Python import syntax or correct module names.
Final Answer:
import RPi.GPIO as GPIO -> Option B
Quick Check:
Standard GPIO import = import RPi.GPIO as GPIO [OK]
Hint: Remember the exact module name: RPi.GPIO [OK]
Common Mistakes:
Swapping module and package names incorrectly
Using wrong import syntax
Assuming 'GPIO' alone is a module
3. What will be the output of this Python code on Raspberry Pi?
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.OUT)
GPIO.output(18, GPIO.HIGH)
print(GPIO.input(18))
medium
A. 0
B. HIGH
C. 1
D. Error
Solution
Step 1: Understand GPIO setup and output
Pin 18 is set as output and then set to HIGH, which means voltage is ON (1).
Step 2: Check GPIO.input(18) after setting HIGH
Reading the pin returns 1 because it was set HIGH.
Final Answer:
1 -> Option C
Quick Check:
GPIO.output HIGH means input reads 1 [OK]
Hint: HIGH means 1, LOW means 0 in GPIO [OK]
Common Mistakes:
Confusing HIGH with string 'HIGH'
Expecting 0 instead of 1 after setting HIGH
Thinking GPIO.input returns string values
4. Identify the error in this Raspberry Pi Python code snippet:
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(12, GPIO.OUT)
GPIO.output(12, HIGH)
medium
A. Missing GPIO prefix before HIGH
B. Wrong pin number for BOARD mode
C. GPIO.setmode should be BCM
D. GPIO.setup should be input, not output
Solution
Step 1: Check usage of HIGH constant
HIGH must be referenced as GPIO.HIGH, not just HIGH alone.
Step 2: Verify other code parts
Pin 12 is valid in BOARD mode, setmode can be BOARD, and output pin can be output.
Final Answer:
Missing GPIO prefix before HIGH -> Option A
Quick Check:
Use GPIO.HIGH, not just HIGH [OK]
Hint: Always prefix constants with GPIO. [OK]
Common Mistakes:
Using HIGH without GPIO prefix
Confusing BOARD and BCM pin numbering
Setting output pin as input by mistake
5. You want to blink an LED connected to pin 17 on Raspberry Pi using Python. Which code snippet correctly blinks the LED once with a 1-second delay?
hard
A. import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.IN)
GPIO.output(17, GPIO.HIGH)
time.sleep(1)
GPIO.output(17, GPIO.LOW)
B. import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.OUT)
GPIO.output(17, 1)
time.sleep(1)
GPIO.output(17, 0)
C. import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
GPIO.setup(17, GPIO.OUT)
GPIO.output(17, GPIO.HIGH)
time.sleep(1)
GPIO.output(17, GPIO.LOW)
D. import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.OUT)
GPIO.output(17, GPIO.HIGH)
time.sleep(1)
GPIO.output(17, GPIO.LOW)
Solution
Step 1: Check pin numbering and setup
BCM mode, import time, GPIO.setup(17, GPIO.OUT) are all correct.
Step 2: Verify output and delay
GPIO.output(17, GPIO.HIGH), time.sleep(1), GPIO.output(17, GPIO.LOW) blinks once (on for 1s then off).
Step 3: Identify errors in other options
One lacks import time (NameError on sleep); another uses BOARD mode (pin 17 ≠ BCM pin 17 physically); another sets GPIO.IN (should be OUT).
Final Answer:
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.OUT)
GPIO.output(17, GPIO.HIGH)
time.sleep(1)
GPIO.output(17, GPIO.LOW) -> Option D
Quick Check:
Use BCM mode, output pin, and time.sleep for blinking [OK]
Hint: Use GPIO.HIGH/LOW with time.sleep for blinking [OK]
Common Mistakes:
Mixing BOARD and BCM pin numbers
Setting pin as input instead of output
Forgetting to import time module
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.