Introduction In this course, we’ll look at a simple example of how to use the Raspberry Pi’s GPIOS by connecting aLED. We’ll see how to make it flash and vary its brightness using PWM.Here’s the circuit for connecting your LED to the Raspberry Pi: The board has GPIOS which operate at +3.3V. We therefore use a 220 ohm resistor to limit the LED input current. Programming Here is the program to make the LED blink: import RPi.GPIO as GPIO import time # Pin configuration led_pin = 17 # Initial GPIO configuration GPIO.setmode(GPIO.BCM) GPIO.setup(led_pin, GPIO.OUT) try: # Flash LED for 10 seconds for j in range(10): GPIO.output(led_pin, GPIO.HIGH) # Turn on LED time.sleep(0.5) # Wait 0.5 seconds GPIO.output(led_pin, GPIO.LOW) # Turn off LED time.sleep(0.5) # Wait 0.5 seconds finally: # Clean GPIO resources GPIO.cleanup() Here is the program to vary the brightness of the LED: import RPi.GPIO as GPIO import time # Pin configuration led_pin = 17 # Initial GPIO configuration GPIO.setmode(GPIO.BCM) GPIO.setup(led_pin, GPIO.OUT) # PWM configuration pwm_frequency = 1000 # PWM frequency in Hertz pwm = GPIO.PWM(led_pin, pwm_frequency) try: pwm.start(0) # Start PWM with 0% duty cycle # Dim the LED for 10 seconds for duty_cycle in range(0, 101, 5): pwm.ChangeDutyCycle(duty_cycle) time.sleep(0.5) for duty_cycle in range(100, -1, -5): pwm.ChangeDutyCycle(duty_cycle) time.sleep(0.5) finally: # Clean GPIO resources pwm.stop() GPIO.cleanup()