🍞
Breadstick
  • Breadstick Innovations Website
  • Breadsticks
    • đŸĨ–Raspberry Breadstick
      • Code Examples
        • Demo Code
        • POV Wand
        • Pride Flags POV Wand
        • 6-Axis IMU
        • RGB Blink
        • AsyncIO RGB Blink
        • Digital Input
        • Digital Output
        • PWM
        • ADC
        • Servo Motor
    • đŸĨ–Raspberry Breadstick Lite
    • 🍞Support Boards
      • I2C Devices
        • 🚌I2C Bus Rail Adapter
        • đŸŒĻī¸Weather Crouton
        • 😎Brightness Crouton
        • 📏Distance Crouton
        • đŸĢ¨Motion Crouton
      • I2S Devices
        • đŸ“ĸBoombox
      • SPI Devices
      • đŸ•šī¸Buttons/Switches
    • Learning Resources
    • Troubleshooting
  • Nougat
    • Nougat C3
    • Nougat Quad
    • Installing WLED
  • Pico Slices
    • 🔴Slice 1 - LED Mixer
      • Assembly Guide
      • CircuitPython Code
        • 1 - Blink
        • 2 - Analog Read to Plotter
        • 3 - PWM Fade
        • 4 - Pot Controlled PWM
        • 5 - Gamma Correction
    • âąī¸Slice 2 - Stopwatch
      • Assembly Guide
      • Coding Lessons
        • 1 - 7-Segment Display Intro
        • 2 - Cycling Through All Segments
    • âŦœSlice 3 - 8x8 Dot Matrix
      • Assembly Guide
      • MicroPython Code
        • 1 - Moveable Pixel
        • 2 - Snake
    • Circuit Python Setup
    • Reset Bricked Pico
  • Christmas
    • Christmas Tree DIY kit
  • Protoboards
    • â¤ī¸Proto-Heart
    • đŸĨĒProto-Toast
  • SHOP
Powered by GitBook
On this page
  • Video
  • Code with Detailed Comments
  • Just Code

Was this helpful?

  1. Pico Slices
  2. Slice 1 - LED Mixer
  3. CircuitPython Code

4 - Pot Controlled PWM

Use the analog value from a potentiometer to control the brightness of an LED.

Previous3 - PWM FadeNext5 - Gamma Correction

Last updated 2 years ago

Was this helpful?

Video

Code with Detailed Comments

"""
Pico Slice 1 - RGB Mixer
Tutorial 4 - Pot Controlled PWM
"""

import time
import board
from pwmio import PWMOut
from analogio import AnalogIn


# Represent the Pot in code as an AnalogIn object.
r_pot = AnalogIn(board.A2)

# Represent the Red LED as a PWMOut object.
r_led = PWMOut(board.GP2, duty_cycle=0, frequency=5000, variable_frequency=False)


while True:  # Loop Forever:
    input_val = r_pot.value         # Read the potentiometer's current value (16-bit)
    r_led.duty_cycle = input_val    # Set the red LED's duty-cycle (16-bit) to the current potentiometer value
    print((input_val,))             # Send to computer as a tuple so it will show up in the plotter
    time.sleep(0.1)                 # Do nothing for 100 milliseconds

Just Code

"""
Pico Slice 1 - RGB Mixer
Tutorial 4 - Pot Controlled PWM
"""

import time
import board
from pwmio import PWMOut
from analogio import AnalogIn

r_pot = AnalogIn(board.A2)
r_led = PWMOut(board.GP2, duty_cycle=0, frequency=5000, variable_frequency=False)

while True:
    input_val = r_pot.value
    r_led.duty_cycle = input_val
    print((input_val,))
    time.sleep(0.1)
🔴