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的主要内容,如果未能解决你的问题,请参考以下文章

Linux基础7-4 Bash脚本编程练习2

Linux基础7-2 Bash脚本编程练习1

Linux基础7-2 Bash脚本编程练习1

Linux运维---shell脚本练习串烧1

linux命令练习:基本bash脚本练习 取三个数最大值及最小值

Linux基础 7-6 Bash脚本编程练习3