当前位置:网站首页>树莓派入门(4)LED闪烁&呼吸灯
树莓派入门(4)LED闪烁&呼吸灯
2022-08-10 05:25:00 【jualay】
一、PWM
PWM就是脉宽调制技术
1.频率
PWM的频率(f):1s内信号从低电平到高电平的总次数
2.周期
PWM周期(T):从一个高电平到下一个高电平的时间
f = 1 T {f=\frac{1}{T}} f=T1
3.脉宽
PWM脉宽(W):一个周期内的高电平时间
4.占空比
占空比(D):一个周期内脉宽占周期长度的百分比
D = W T {D=\frac{W}{T}} D=TW
二、使用PWM
1.创建一个PWM实例
PWM=GPIO.PWM(channel,freq)
2.启动PWM实例
PWM.start(dc)
dc:占空比,范围是:0.0~100.0
3.修改频率
PWM.ChangeFrequency(frequency)
4.停止PWM实例
PWM.stop()
三、LED闪烁
import RPi.GPIO as GPIO
import time #导入时间模块
try:
import RPi.GPIO as GPIO
except RuntimeError:
print("import RPi.GPIO error")
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(12,GPIO.OUT)
while True:
GPIO.output(12,GPIO.HIGH)
time.sleep(0.5)
GPIO.output(12,GPIO.LOW)
time.sleep(0.5)
四、呼吸灯
import RPi.GPIO as GPIO
from time import sleep
GPIO.setwarnings(False)
led1=12
led2=18
freq=50
dc=0
GPIO.setmode(GPIO.BOARD)
GPIO.setup(led1,GPIO.OUT)
GPIO.setup(led2,GPIO.OUT)
PWM1=GPIO.PWM(led1,freq)
PWM2=GPIO.PWM(led2,freq)
PWM1.start(dc)
PWM2.start(dc)
freq = int(input("Please input the frequency:"))
PWM1.ChangeFrequency(freq)
PWM2.ChangeFrequency(freq)
while True:
if(dc==0):
while 1:
dc=dc+1
sleep(0.01)
PWM1.ChangeDutyCycle(dc)
PWM2.ChangeDutyCycle(dc)
if (dc==100):
break
if(dc==100):
while 1:
dc=dc-1
sleep(0.01)
PWM1.ChangeDutyCycle(dc)
PWM2.ChangeDutyCycle(dc)
if (dc==0):
break
input()
PWM.stop()
GPIO.cleanup()
边栏推荐
猜你喜欢

leetcode每天5题-Day11

Rpc接口压测

【LeetCode】41、 缺失的第一个正数

深度梳理:防止模型过拟合的方法汇总

动手写prometheus的exporter-02-Counter(计数器)

What are the common commands of mysql

一篇文章带你搞懂什么是幂等性问题?如何解决幂等性问题?

一文带你搞懂OAuth2.0

ThreadPoolExecutor thread pool principle

Flutter开发:报错The following assertion was thrown resolving an image codec:Unable to…的解决方法
随机推荐
Linear Algebra (4)
Thread.sleep, Thread.yield 作用解释
【静态代理】
How cursors work in Pulsar
线程(中):线程安全
十年架构五年生活-07 年轻气盛的蜕变
EasyGBS连接mysql数据库提示“can’t connect to mysql server”,该如何解决?
Important transformation and upgrading
Guys, is it normal that the oracle archive log grows by 3G in 20 minutes after running cdc?
转型做产品,考NPDP靠谱吗?
flinkcdc 读取pgsql 的时间被放大了 有大佬知道咋回事吗 gmt_create':1
【无标题】
Shell编程三剑客之awk
Joomla vulnerability reproduced
OAuth2的使用场景、常见误区、使用案例
Conda creates a virtual environment method and pqi uses a domestic mirror source to install a third-party library method tutorial
Become a language that hackers have to learn. Do you think it's okay after reading it?
一篇文章带你搞懂什么是幂等性问题?如何解决幂等性问题?
summer preschool assignments
深度学习之-01