Files
ESP32-C3_Breadboard-Adapter/examples/led_pwm.py
2025-01-26 23:32:19 -05:00

31 lines
774 B
Python

import machine
from machine import Pin
import time, math
ONBOARD_LED = 10 # GPIO10, PIN 7
ONBOARD_BTN = 3 # GPIO3, 13
# Configure on-board LED and push button
# Stated GPIOs correspond to the wiring schematic
onboard_button = Pin(ONBOARD_BTN, Pin.IN, Pin.PULL_UP)
led = machine.PWM(ONBOARD_LED, freq=1000)
def pulse(l, t):
for i in range(20):
l.duty(int(math.sin(i/10 * math.pi) * 500 + 500))
time.sleep_ms(t)
l.duty(0)
# Interrupt function to turn LED ON when on-board button is pressed
def button_interrupt(pin):
pulse(led, 70)
def main():
# Assign interrupt to the on-board push button
onboard_button.irq(trigger=Pin.IRQ_FALLING, handler=button_interrupt)
if __name__ == '__main__':
main()