What does PWM stand for and what is its basic function?
PWM stands for Pulse Width Modulation. It controls the amount of power delivered to a device by switching it on and off very quickly, changing the width of the 'on' pulses.
Click to reveal answer
beginner
Why can't Raspberry Pi output true analog voltage directly?
Raspberry Pi GPIO pins can only output digital signals: either ON (3.3V) or OFF (0V). They cannot produce a smooth range of voltages like an analog signal.
Click to reveal answer
beginner
How does PWM create an analog-like effect using digital signals?
By changing the ratio of ON time to OFF time (duty cycle), PWM makes devices behave as if they receive different voltage levels, even though the signal is digital.
Click to reveal answer
beginner
Give a real-life example of PWM controlling brightness.
A lamp connected to a PWM signal will appear dimmer or brighter depending on how long the signal stays ON versus OFF in each cycle, similar to turning a dimmer switch.
Click to reveal answer
beginner
What is the advantage of using PWM over a simple ON/OFF switch for controlling devices?
PWM allows smooth control of power, making devices like motors or LEDs run at different speeds or brightness levels instead of just fully ON or OFF.
Click to reveal answer
What does PWM control to simulate analog output?
AThe ratio of ON to OFF time in a digital signal
BThe voltage level of the GPIO pin
CThe frequency of the Raspberry Pi CPU
DThe temperature of the device
✗ Incorrect
PWM changes the duty cycle, which is the ratio of ON time to OFF time, to simulate different power levels.
Why can't Raspberry Pi GPIO pins output true analog voltage?
AThey only work with sensors
BThey are too slow
CThey have low current
DThey only output digital signals (ON or OFF)
✗ Incorrect
GPIO pins can only be ON (3.3V) or OFF (0V), so they cannot produce a smooth range of voltages.
What happens if the PWM duty cycle is 100%?
AThe device is fully ON
BThe device is fully OFF
CThe device blinks slowly
DThe device runs at half power
✗ Incorrect
A 100% duty cycle means the signal is ON all the time, so the device receives full power.
How does PWM help control the brightness of an LED?
ABy changing the LED temperature
BBy changing how long the LED is ON in each cycle
CBy changing the LED size
DBy changing the LED color
✗ Incorrect
PWM adjusts the ON time in each cycle, making the LED appear dimmer or brighter.
Which of these is NOT a benefit of PWM?
ASmooth control of power
BReduced heat generation
CDirect analog voltage output
DEnergy efficiency
✗ Incorrect
PWM does not output true analog voltage; it simulates it by switching digital signals.
Explain why PWM is used on Raspberry Pi to control devices like motors or LEDs instead of just turning them ON or OFF.
Think about how PWM changes the time the signal is ON versus OFF.
You got /4 concepts.
Describe how changing the duty cycle in PWM affects the behavior of a connected device.
Consider what happens when the ON time is longer or shorter.
You got /4 concepts.
Practice
(1/5)
1. Why do we use PWM (Pulse Width Modulation) on a Raspberry Pi to control devices like LEDs instead of just turning them fully on or off?
easy
A. Because PWM is the only way to turn devices on.
B. Because PWM makes the Raspberry Pi run faster.
C. Because PWM simulates different power levels by switching on and off quickly, making devices appear dimmer or brighter.
D. Because PWM uses less electricity than turning devices fully on.
Solution
Step 1: Understand what PWM does
PWM switches power on and off very fast to create the effect of different power levels.
Step 2: Compare PWM to simple on/off
Simple on/off only gives full power or no power, so devices can't appear dim or partially powered.
Final Answer:
Because PWM simulates different power levels by switching on and off quickly, making devices appear dimmer or brighter. -> Option C
Quick Check:
PWM simulates analog power = Because PWM simulates different power levels by switching on and off quickly, making devices appear dimmer or brighter. [OK]
Hint: PWM controls brightness by fast on/off switching [OK]
Common Mistakes:
Thinking PWM makes the Pi run faster
Believing PWM is only for turning devices fully on
Assuming PWM always saves electricity
2. Which of the following is the correct way to start PWM on a Raspberry Pi GPIO pin using the RPi.GPIO library?
easy
A. pwm = GPIO.PWM(pin, frequency); pwm.start(duty_cycle)
B. pwm = GPIO.startPWM(pin, duty_cycle); pwm.setFrequency(frequency)
C. pwm = GPIO.PWMStart(pin, frequency, duty_cycle)
D. pwm = GPIO.beginPWM(pin); pwm.setDutyCycle(frequency)
Solution
Step 1: Recall RPi.GPIO PWM syntax
The correct syntax is to create a PWM object with GPIO.PWM(pin, frequency) and then start it with pwm.start(duty_cycle).
Step 2: Check each option's method names
Only pwm = GPIO.PWM(pin, frequency); pwm.start(duty_cycle) uses the correct method names and order as per RPi.GPIO documentation.
Final Answer:
pwm = GPIO.PWM(pin, frequency); pwm.start(duty_cycle) -> Option A
C. You forgot to call GPIO.cleanup() before starting PWM.
D. The duty cycle is set to 100%, so the LED is always fully on.
Solution
Step 1: Check the duty cycle value
The code uses pwm.start(100), which means 100% duty cycle (always on).
Step 2: Understand effect of 100% duty cycle
At 100% duty cycle, the LED receives full power constantly, so it stays fully on.
Final Answer:
The duty cycle is set to 100%, so the LED is always fully on. -> Option D
Quick Check:
100% duty cycle = LED fully on = The duty cycle is set to 100%, so the LED is always fully on. [OK]
Hint: 100% duty cycle means always on [OK]
Common Mistakes:
Thinking frequency 100 is too low to work
Believing GPIO.cleanup() is needed before PWM start
Assuming pin 18 can't do PWM
5. You want to control a motor speed smoothly using PWM on Raspberry Pi. The motor needs a voltage between 0V (off) and 5V (full speed). Which PWM setup will best simulate this analog voltage control?
hard
A. Use a low frequency (e.g., 1 Hz) PWM with fixed 50% duty cycle.
B. Use a high frequency (e.g., 1 kHz) PWM with varying duty cycle from 0% to 100%.
C. Use a high frequency PWM with fixed 100% duty cycle.
D. Use a low frequency PWM with duty cycle always 0%.
Solution
Step 1: Understand motor voltage control with PWM
Varying the duty cycle changes the average voltage the motor receives, controlling speed smoothly.
Step 2: Choose frequency and duty cycle range
High frequency PWM (like 1 kHz) avoids motor jerks and noise; duty cycle must vary from 0% (off) to 100% (full speed).
Final Answer:
Use a high frequency (e.g., 1 kHz) PWM with varying duty cycle from 0% to 100%. -> Option B
Quick Check:
High freq + variable duty = smooth motor speed [OK]
Hint: High freq PWM + variable duty = smooth analog control [OK]
Common Mistakes:
Using low frequency causes jerky motor movement
Fixing duty cycle prevents speed control
Using 0% or 100% duty cycle only gives off or full speed
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.