linux脚本练习2
Posted So istes immer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux脚本练习2相关的知识,希望对你有一定的参考价值。
翻译翻译
1.新建hw2目录,脚本格式类似hw2.sh
2.写一个shell脚本和一个python脚本来控制树莓派的ACT LED(在第二章 “interacting with the onboard leds”一栏下面有所描述)。你想要通过调整 PWM 方波信号的3种占空比来改变 LED 灯的亮度。执行你的脚本,不要和shell交互。
在linux系统中,树莓派的ACT LED被叫做led0,PWR LED(电源灯)被叫做led1
ACT LED可以见下图
ACT LED 不同是闪烁模式代表不同的状态,比ACT LED 不规则闪烁,说明系统已经开始启动
我们可以到 /sys/class/leds/ 中去设置ACT LED的属性和行为
而 PWM(Pulse Width Modulation),脉冲宽度调制的缩写,就是通过改变矩形脉冲的占空比来改变输出电压的一种方法。
pwm占空比就是一个脉冲周期内高电平的所整个周期占的比例。
import RPi.GPIO as GPIO # 引入GPIO模块
import time
if __name__ == '__main__':
LedPin = 19
freq = 50 # PWM频率变量,初始值为100
dc0 = 0 # PWM占空比
dc1 = 30
dc2 = 70
dc3 = 100
GPIO.setmode(GPIO.BCM) # 使用BCM编号方式
GPIO.setup(LedPin, GPIO.OUT) # 将GPIO19设置为输出模式
pwm = GPIO.PWM(LedPin, freq) # 创建PWM对象,并指定初始频率
pwm.start(dc0) # 启动PWM,并指定初始占空比
try:
while True:
pwm.ChangeDutyCycle(dc1) # 改变PWM占空比
time.sleep(1)
pwm.ChangeDutyCycle(dc2) # 改变PWM占空比
time.sleep(1)
pwm.ChangeDutyCycle(dc3) # 改变PWM占空比
time.sleep(1)
finally:
pwm.stop() # 停止PWM
GPIO.cleanup() # 清理释放GPIO资源,将GPIO复位
以上是关于linux脚本练习2的主要内容,如果未能解决你的问题,请参考以下文章