Bird
Raised Fist0
Raspberry Piprogramming~5 mins

PWMLED for brightness in Raspberry Pi - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does PWM stand for in PWMLED?
PWM stands for Pulse Width Modulation. It is a technique to control the brightness of an LED by switching it on and off very quickly with varying durations.
Click to reveal answer
beginner
How does PWM control LED brightness?
PWM controls brightness by changing the ratio of ON time to OFF time in each cycle. More ON time means brighter LED; less ON time means dimmer LED.
Click to reveal answer
beginner
In Raspberry Pi, which library is commonly used to control PWMLED?
The gpiozero library is commonly used in Raspberry Pi to control PWMLED easily with simple commands.
Click to reveal answer
beginner
What is the range of brightness values you can set for PWMLED in gpiozero?
Brightness values range from 0 (LED off) to 1 (LED fully on). You can set any decimal value in between for different brightness levels.
Click to reveal answer
beginner
Write a simple Python code snippet to set a PWMLED on GPIO pin 17 to half brightness.
from gpiozero import PWMLED
led = PWMLED(17)
led.value = 0.5  # Sets brightness to 50%
Click to reveal answer
What does PWM control in an LED?
ABrightness by changing ON/OFF time ratio
BColor of the LED
CTemperature of the LED
DVoltage supplied to the LED
Which Python library is used to control PWMLED on Raspberry Pi?
Anumpy
Bmatplotlib
Cgpiozero
Dpandas
What value sets the PWMLED to full brightness?
A1
B0.5
C0
D255
If you want the LED to be off using PWMLED, what value should you set?
A-1
B1
C0.5
D0
What does a PWM cycle consist of?
AOnly ON time
BON time and OFF time
COnly OFF time
DVoltage and current
Explain how PWM controls the brightness of an LED on a Raspberry Pi.
Think about how fast switching affects how bright the LED looks.
You got /4 concepts.
    Write a short Python code example to set an LED connected to GPIO 17 to 75% brightness using PWMLED.
    Use the gpiozero PWMLED class and set the value property.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the PWMLED class control on a Raspberry Pi?
      easy
      A. The speed of the Raspberry Pi fan
      B. The color of an LED by mixing red, green, and blue lights
      C. The temperature of the Raspberry Pi CPU
      D. The brightness of an LED by changing how long it is on and off quickly

      Solution

      1. Step 1: Understand PWMLED purpose

        PWMLED is used to control LED brightness by adjusting the time it stays on and off rapidly.
      2. Step 2: Compare options

        Only The brightness of an LED by changing how long it is on and off quickly describes brightness control using on/off timing, which matches PWMLED's function.
      3. Final Answer:

        The brightness of an LED by changing how long it is on and off quickly -> Option D
      4. Quick Check:

        PWMLED controls brightness = A [OK]
      Hint: PWM means brightness by fast on/off timing [OK]
      Common Mistakes:
      • Confusing brightness with color control
      • Thinking PWMLED controls temperature or fan speed
      2. Which of the following is the correct way to set the brightness of a PWMLED named led to half brightness?
      easy
      A. led.set_brightness = 0.5
      B. led.brightness(0.5)
      C. led.brightness = 0.5
      D. led.brightness = 50

      Solution

      1. Step 1: Recall PWMLED brightness syntax

        Brightness is set by assigning a float between 0 and 1 to the brightness attribute.
      2. Step 2: Check each option

        led.brightness = 0.5 uses correct attribute assignment with 0.5 (half brightness). Others use wrong syntax or wrong value type.
      3. Final Answer:

        led.brightness = 0.5 -> Option C
      4. Quick Check:

        Set brightness by attribute = C [OK]
      Hint: Use led.brightness = value between 0 and 1 [OK]
      Common Mistakes:
      • Calling brightness like a function
      • Using integer 50 instead of 0.5
      • Trying to assign to a method
      3. What will be the output behavior of this code snippet?
      from gpiozero import PWMLED
      import time
      led = PWMLED(17)
      led.brightness = 0.2
      time.sleep(2)
      led.brightness = 0.8
      time.sleep(2)
      led.off()
      medium
      A. LED glows dimly for 2 seconds, then brightly for 2 seconds, then turns off
      B. LED glows brightly for 2 seconds, then dimly for 2 seconds, then turns off
      C. LED stays off the whole time
      D. Code causes an error because brightness is set incorrectly

      Solution

      1. Step 1: Analyze brightness settings

        First brightness is 0.2 (dim), then after 2 seconds it changes to 0.8 (bright).
      2. Step 2: Understand timing and off command

        Each brightness level lasts 2 seconds, then LED is turned off.
      3. Final Answer:

        LED glows dimly for 2 seconds, then brightly for 2 seconds, then turns off -> Option A
      4. Quick Check:

        Brightness changes 0.2 to 0.8 then off = A [OK]
      Hint: Brightness values control glow level over time [OK]
      Common Mistakes:
      • Mixing order of brightness values
      • Thinking brightness values cause errors
      • Assuming LED stays on after off()
      4. Identify the error in this code that tries to set LED brightness:
      from gpiozero import PWMLED
      led = PWMLED(18)
      led.brightness(0.7)
      medium
      A. Using parentheses after brightness instead of assignment
      B. Wrong pin number for PWMLED
      C. Missing import for time module
      D. PWMLED does not support brightness control

      Solution

      1. Step 1: Check how brightness is set

        Brightness is an attribute, so it should be assigned a value, not called like a function.
      2. Step 2: Verify other options

        Pin 18 is valid, time module is not needed here, and PWMLED supports brightness.
      3. Final Answer:

        Using parentheses after brightness instead of assignment -> Option A
      4. Quick Check:

        brightness is attribute, not method = D [OK]
      Hint: Set brightness with =, not parentheses [OK]
      Common Mistakes:
      • Calling brightness like a function
      • Assuming pin number causes error
      • Thinking time import is required here
      5. You want to smoothly increase an LED's brightness from off to full over 5 seconds using PWMLED. Which code snippet correctly achieves this?
      hard
      A.
      from gpiozero import PWMLED
      import time
      led = PWMLED(21)
      for i in range(5):
          led.brightness = i
          time.sleep(1)
      led.off()
      B.
      from gpiozero import PWMLED
      import time
      led = PWMLED(21)
      for i in range(6):
          led.brightness = i / 5
          time.sleep(1)
      led.off()
      C.
      from gpiozero import PWMLED
      import time
      led = PWMLED(21)
      for i in range(0, 1, 0.2):
          led.brightness = i
          time.sleep(1)
      led.off()
      D.
      from gpiozero import PWMLED
      import time
      led = PWMLED(21)
      for i in range(5):
          led.brightness = 1 - i / 5
          time.sleep(1)
      led.off()

      Solution

      1. Step 1: Understand brightness range and timing

        Brightness must go from 0 to 1 in steps over 5 seconds, so dividing i by 5 in 6 steps (0 to 5) works.
      2. Step 2: Check each code snippet

        from gpiozero import PWMLED
        import time
        led = PWMLED(21)
        for i in range(6):
            led.brightness = i / 5
            time.sleep(1)
        led.off()
        correctly uses i/5 for brightness from 0 to 1 in 1-second steps.
        from gpiozero import PWMLED
        import time
        led = PWMLED(21)
        for i in range(5):
            led.brightness = i
            time.sleep(1)
        led.off()
        sets brightness to integers >1 (invalid).
        from gpiozero import PWMLED
        import time
        led = PWMLED(21)
        for i in range(0, 1, 0.2):
            led.brightness = i
            time.sleep(1)
        led.off()
        uses range with float step (invalid syntax).
        from gpiozero import PWMLED
        import time
        led = PWMLED(21)
        for i in range(5):
            led.brightness = 1 - i / 5
            time.sleep(1)
        led.off()
        decreases brightness instead of increasing.
      3. Final Answer:

        Code that increases brightness smoothly from 0 to 1 over 5 seconds using i/5 steps -> Option B
      4. Quick Check:

        Brightness from 0 to 1 in steps = B [OK]
      Hint: Divide loop index by max steps for smooth brightness [OK]
      Common Mistakes:
      • Using integer brightness values >1
      • Trying to use float step in range (not allowed)
      • Decreasing brightness instead of increasing
      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