Bird
Raised Fist0
Raspberry Piprogramming~10 mins

Why gpiozero simplifies hardware in Raspberry Pi - Test Your Understanding

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to import the gpiozero library.

Raspberry Pi
from gpiozero import [1]
Drag options to blanks, or click blank then click option'
AGPIO
BLED
CPin
DBoard
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'GPIO' which is not a class in gpiozero
Using 'Pin' or 'Board' which are not classes to control LEDs
2fill in blank
medium

Complete the code to create an LED object on GPIO pin 17.

Raspberry Pi
led = LED([1])
Drag options to blanks, or click blank then click option'
A27
B5
C22
D17
Attempts:
3 left
💡 Hint
Common Mistakes
Choosing pin numbers not matching the example
Confusing physical pin numbers with GPIO numbers
3fill in blank
hard

Fix the error in the code to turn the LED on.

Raspberry Pi
led.[1]()
Drag options to blanks, or click blank then click option'
Aoff
Benable
Con
Dstart
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'off' which turns the LED off
Using 'start' or 'enable' which are not gpiozero methods
4fill in blank
hard

Fill both blanks to create a Button on pin 2 and check if it is pressed.

Raspberry Pi
button = Button([1])
if button.[2]:
    print('Pressed!')
Drag options to blanks, or click blank then click option'
A2
B3
Cis_pressed
Dpressed
Attempts:
3 left
💡 Hint
Common Mistakes
Using pin 3 instead of 2
Using 'pressed' which is not a gpiozero property
5fill in blank
hard

Fill all three blanks to create a PWMLED on pin 18, set brightness to 50%, and turn it on.

Raspberry Pi
pwm_led = PWMLED([1])
pwm_led.[2] = [3]
pwm_led.on()
Drag options to blanks, or click blank then click option'
A18
Bbrightness
C0.5
D17
Attempts:
3 left
💡 Hint
Common Mistakes
Using pin 17 instead of 18
Setting brightness to 1 instead of 0.5

Practice

(1/5)
1. What is the main advantage of using gpiozero on a Raspberry Pi?
easy
A. It only works with LEDs and no other devices.
B. It requires writing complex C code for hardware control.
C. It allows easy control of hardware devices with simple Python code.
D. It replaces the need for any physical wiring.

Solution

  1. Step 1: Understand gpiozero purpose

    gpiozero is designed to simplify hardware control on Raspberry Pi using Python.
  2. Step 2: Compare options

    It allows easy control of hardware devices with simple Python code. correctly states it allows easy control with simple Python code. Other options are incorrect because gpiozero does not require complex C code, supports many devices beyond LEDs, and does not remove the need for wiring.
  3. Final Answer:

    It allows easy control of hardware devices with simple Python code. -> Option C
  4. Quick Check:

    gpiozero simplifies hardware control = It allows easy control of hardware devices with simple Python code. [OK]
Hint: Remember gpiozero means easy Python hardware control [OK]
Common Mistakes:
  • Thinking gpiozero only works with LEDs
  • Believing gpiozero replaces wiring
  • Assuming it needs complex code
2. Which of the following is the correct way to import the LED class from gpiozero in Python?
easy
A. import gpiozero.LED
B. import LED from gpiozero
C. from gpiozero import led
D. from gpiozero import LED

Solution

  1. Step 1: Recall Python import syntax

    The correct syntax to import a class from a module is: from module import ClassName.
  2. Step 2: Check options

    from gpiozero import LED matches this syntax exactly with correct capitalization. import gpiozero.LED is invalid syntax, import LED from gpiozero reverses the import order (JavaScript syntax), and from gpiozero import led uses lowercase 'led' which is incorrect.
  3. Final Answer:

    from gpiozero import LED -> Option D
  4. Quick Check:

    Correct Python import syntax = from gpiozero import LED [OK]
Hint: Use 'from module import Class' for classes [OK]
Common Mistakes:
  • Using wrong import syntax
  • Incorrect capitalization of class name
  • Trying to import with 'import Class from module'
3. What will be the output of this code snippet using gpiozero?
from gpiozero import LED
from time import sleep
led = LED(17)
led.on()
sleep(1)
print(led.is_lit)
medium
A. False
B. True
C. 1
D. None

Solution

  1. Step 1: Understand the code actions

    The code imports LED, creates an LED object on pin 17, turns it on, waits 1 second, then prints if the LED is lit.
  2. Step 2: Determine the output of led.is_lit

    Since led.on() was called, led.is_lit returns True, so the printed output is True.
  3. Final Answer:

    True -> Option B
  4. Quick Check:

    LED turned on means is_lit = True [OK]
Hint: led.on() sets is_lit True immediately [OK]
Common Mistakes:
  • Expecting False because of sleep
  • Thinking is_lit returns 1 or None
  • Confusing method names
4. Identify the error in this gpiozero code snippet:
from gpiozero import Button
button = Button(2)
button.pressed = True
print(button.is_pressed)
medium
A. button.pressed is an event, not a property to assign.
B. Button pin number 2 is invalid.
C. print(button.is_pressed) should be print(button.pressed)
D. You cannot assign True to button.pressed; it's a method.

Solution

  1. Step 1: Understand gpiozero Button attributes

    In gpiozero, button.pressed is an event handler property, not a boolean you can assign.
  2. Step 2: Identify the error

    Assigning True to button.pressed is incorrect; it should be used to assign a function callback. The correct property to check button state is button.is_pressed.
  3. Final Answer:

    button.pressed is an event, not a property to assign. -> Option A
  4. Quick Check:

    pressed is event handler, not assignable boolean [OK]
Hint: pressed is event, is_pressed is state boolean [OK]
Common Mistakes:
  • Assigning boolean to event handler
  • Confusing is_pressed and pressed
  • Assuming pin 2 is invalid
5. You want to control two LEDs connected to pins 17 and 27 using gpiozero. Which code snippet correctly turns on both LEDs for 2 seconds, then turns them off?
hard
A. from gpiozero import LED from time import sleep led1 = LED(17) led2 = LED(27) led1.on() led2.on() sleep(2) led1.off() led2.off()
B. from gpiozero import LED from time import sleep led1 = LED(17) led2 = LED(27) led1.on() sleep(2) led2.on() led1.off() led2.off()
C. from gpiozero import LED from time import sleep led1 = LED(17) led2 = LED(27) led1.off() led2.off() sleep(2) led1.on() led2.on()
D. from gpiozero import LED from time import sleep led1 = LED(17) led2 = LED(27) led1.on() led2.off() sleep(2) led1.off() led2.on()

Solution

  1. Step 1: Analyze the goal

    We want both LEDs on at the same time for 2 seconds, then both off.
  2. Step 2: Check each option's sequence

    from gpiozero import LED from time import sleep led1 = LED(17) led2 = LED(27) led1.on() led2.on() sleep(2) led1.off() led2.off() turns both LEDs on, waits 2 seconds, then turns both off. from gpiozero import LED from time import sleep led1 = LED(17) led2 = LED(27) led1.on() sleep(2) led2.on() led1.off() led2.off() turns on led1, waits, then led2 on (not simultaneous). from gpiozero import LED from time import sleep led1 = LED(17) led2 = LED(27) led1.off() led2.off() sleep(2) led1.on() led2.on() turns LEDs off first, then on after sleep (wrong order). from gpiozero import LED from time import sleep led1 = LED(17) led2 = LED(27) led1.on() led2.off() sleep(2) led1.off() led2.on() turns one LED on and the other off, then switches after sleep (not both on together).
  3. Final Answer:

    Code that turns both LEDs on together, waits, then turns both off. -> Option A
  4. Quick Check:

    Both LEDs on simultaneously for 2 seconds = from gpiozero import LED from time import sleep led1 = LED(17) led2 = LED(27) led1.on() led2.on() sleep(2) led1.off() led2.off() [OK]
Hint: Turn both on before sleep, then off after sleep [OK]
Common Mistakes:
  • Turning LEDs on/off at different times
  • Switching off before turning on
  • Not waiting with both LEDs on
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