练习4 --- 树莓派脚本练习

需要提供一个菜单供用户选择,如书的第 174 页的 Listing 5-3 例题所做的那样。
使用 setup 命令,能够设置 delay_on 时间和 delay_off 时间
delay_on time表示LED亮度持续高的时间,而 delay_off time表示LED亮度持续低的时间

hw4_1.py

#!/usr/bin/python3
import sys
from time import sleep
import RPi.GPIO as GPIO

LedPin = 4
GPIO.setwarnings(False)  # 过滤掉警告信息
GPIO.setmode(GPIO.BCM)  # 使用BCM编码方式
GPIO.setup(LedPin, GPIO.OUT)

print("Controlling the brightness level of GPIO LED4 Python script")
if len(sys.argv) != 2 and len(sys.argv) != 3:
    print("There is an incorrect number of arguments")
    print("  usage is: hw4_1.py setup or hw4_1.py dlay_on/delay_off duration ")
    print("  the data type of 'duration' is number")
    sys.exit(2)

if len(sys.argv) == 2:
    if sys.argv[1] == "setup":
        print("Setting up the LED GPIO...")
        GPIO.setup(LedPin, GPIO.OUT) # 将该引脚设置为输出模式
        sleep(0.1)
    else:
        print("Invalid Command!")

if len(sys.argv) == 3:
    duration = float(sys.argv[2])
    pwm = GPIO.PWM(LedPin, 100)  # 创建PWM对象,并指定初始频率为100
    pwm.start(0)                 # 启动PWM, 并指定初始占空比为0
    if sys.argv[1] == "delay_on":
        print("Setting the delay_on time...")
        pwm.ChangeDutyCycle(100)
        sleep(duration)
    elif sys.argv[1] == "delay_off":
        print("Setting the delay_off time...")
        pwm.ChangeDutyCycle(0)
        sleep(duration)
    else:
        print("Invalid Command!")
print("End of Python script")

测试 
python3 hw4_1.py setup
python3 hw4_1.py delay_on 5
python3 hw4_1.py delay_off 3 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

漂流の少年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值