首页 > 编程语言 >Micropython 呼吸灯,使用 machine.pwm

Micropython 呼吸灯,使用 machine.pwm

时间:2023-01-10 22:13:05浏览次数:57  
标签:duty Micropython PWM led Pin machine freq pwm pwm0

学习 ESP32 micropython,使用网路课件最方便:

三、PWM呼吸灯

利用PWM的调制作用,制作呼吸灯,pwm() 没有解释的很清楚,再来一个连接

PWM (脉宽调制)

from machine import Pin, PWM

pwm0 = PWM(Pin(0))      # 从1个引脚中创建PWM对象
pwm0.freq()             # 获取当前频率
pwm0.freq(1000)         # 设置频率
pwm0.duty()             # 获取当前占空比
pwm0.duty(200)          # 设置占空比
pwm0.deinit()           # 关闭引脚的 PWM

pwm2 = PWM(Pin(2), freq=20000, duty=512) # 在同一语句下创建和配置 PWM

 

套上 ESC32-C3 CORE开发板

保存 + 执行 breath_pwmt_ESP32-C3_USB.py

# 合宙CORE ESP32-C 核心板板载2颗LED +  16MB Flash(原4MB)
# D4(GPIO12) 高电平有效
# D5(GPIO13) 高电平有效

from machine import Pin, PWM
import time

# pwm2 = PWM(Pin(2), freq=20000, duty=512) # 在同一语句下创建和配置 PWM
led_d4 = PWM(Pin(12), freq=1024, duty=0) # create PWM object from D4-GPIO12
led_d5 = PWM(Pin(13), freq=1024, duty=1023) # create PWM object from D5-GPIO13
# led_d4.freq(1024)            # set PWM frequency from 1Hz to 40MHz
# led_d5.freq(1024)            # set PWM frequency from 1Hz to 40MHz
time.sleep_ms(1000)

while True:
    for i in range(0, 1024):
        led_d4.duty(i)
        led_d5.duty(1023-i)
        time.sleep_ms(1)
    for i in range(1023, -1, -1):
        led_d4.duty(i)
        led_d5.duty(1023-i)
        time.sleep_ms(1)

  

 

 LED D4/ D5 交替呼吸,心得:

  1. pwm2 = PWM(Pin(2), freq=20000, duty=512) # 在同一语句下创建和配置 PWM

  2. line 17 报错,竟然是 line 16 for 循环漏了冒号:。低级错误,呵呵

 

标签:duty,Micropython,PWM,led,Pin,machine,freq,pwm,pwm0
From: https://www.cnblogs.com/zmq-2023/p/17041503.html

相关文章

  • rt-thread 中pwm组件不起作用的问题 stm32L431
    board.h中打开如下定义,并新增要使用的通道#defineBSP_USING_PWM1/*#defineBSP_USING_PWM2*//*#defineBSP_USING_PWM3*/#defineBSP_USING_PWM1_CH1drv_pwm.c中......
  • 有限自动状态机(Finite State Machine)
    有限状态自动机是拥有有限数量的状态,并且每个状态可以变换其他状态的数学模型。Afinite-statemachine(FSM)orfinite-stateautomaton(FSA,plural:automata),fin......
  • Copy a Conda env to another machine
    ThefollowingsulutionsarefromchatGPTandhasbeenverified.1.TocopyaCondaenvironmentfromoneLinuxmachinetoanother,youcanusethecondaenvexp......
  • 撒花!吴恩达《Machine Learning Yearning》完结!
    前几天,红色石头还在发文给大家整理了吴恩达新书《MachineLearningYearning》的前52章的pdf下载。传送门:​​重磅|吴恩达新书《MachineLearningYearning》1-52......
  • 重磅 | 吴恩达新书《Machine Learning Yearning》最新版分享
    公众号:AI有道(ID:redstonewill)前言说起吴恩达(AndrwewNg),相信大家都不陌生了。吴恩达是斯坦福大学计算机科学系和电子工程系副教授,人工智能实验室主任,Coursera的联合创始人,14年......
  • MassTransit | 基于StateMachine实现Saga编排式分布式事务
    什么是状态机状态机作为一种程序开发范例,在实际的应用开发中有很多的应用场景,其中.NET中的async/await的核心底层实现就是基于状态机机制。状态机分为两种:有限状态机和......
  • 机器学习技法---(Week2)Dual Support Vector Machine
      上节课把原始的优化问题改写成二次规划的形式,通过软件包来求解参数。这节课通过研究原问题的对偶问题,在一定条件下,对偶问题的最优解和解参数和原问题一致,继而得到原问题......
  • 机器学习技法---(Week1)Linear Support Vector Machine
      技法的课,相对更关注算法,希望1个月内搞掂~课程介绍  共计16周课程,主要内容:哲学上直观的理解、关键理论、核心算法和实际操作的注意点。围绕特征变换,本次课程涉及到以......
  • 机器学习基石---How Can Machines Learn Better
      对Week12-Week16做简单的总结,不仔细看所有细节。大体内容:借由非线性分类模型引出Overfitting的问题,从而提出Regularization和Validation,以及机器学习中三个原则。非线性......
  • Docker Machine
    DockerMachine简介DockerMachine是一种可以让您在虚拟主机上安装Docker的工具,并可以使用docker-machine命令来管理主机。DockerMachine也可以集中管理所有的docker主......