ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Python 控制树莓派 GPIO 输出:控制 LED 灯

Python 控制树莓派 GPIO 输出:控制 LED 灯 对于树莓派 GPIO 控制输出方面的入门, 大概都是起始于对 LED 灯进行控制的吧。树莓派版本Model 3B带有和, 在2019年4月, 树莓派系统 , 有 和和 2019年4月。连接装置去准备一个LED灯, 还要准备两个两头都是母头形状的杜邦线。要对着下面的图去连接树莓派跟LED灯, 其中有一个要求是, 有一条线是地线也就是GND去连接灯的负极, 另一条线是要有GPIO与BCM编号去连接发光二极管的正极, 当时我选的是编号为数字6以及数字12的两个引脚。你同样是能够去选择别的引脚的, 只是要记得在之后所写的代码里把BCM编号修改得正确无误。于断电情形之下进行连接, 连接完毕呈现如以下图示这般, 我的LED灯存有正负极方面的提示现象, 绘出示图标明的红色箭头所指向之处乃是正极, 蓝色箭头对应的是负极, 要是你的LED灯属于最简单的那一种类别, 长引脚即为正极, 短的则是负极。树莓派开机。安装 RPI.GPIO我装的树莓派系统已经满足所需要的环境不需要额外下载。你能够去测试一下是不是已经存在该模块, 在终端去将其打开, 之后试着去导入库, 从 RPi.GPIO 以 GPIO 这样的形式来当做别名导入。要是没有展现出 error 的情况, 那就意味着已经有了这个模块, 如此一来你便能够直接跳跃到下一步。如果出现错误则执行以下命令sudoapt-get updatesudoapt-getinstallpython3-rpi.gpio测试 GPIO按下图所示依次输入命令观察。那 GPIO.() 存在着两种参数供以选择, 其一能够运用 GPIO.BOARD 选项, 向该库表明借助 GPIO 接口的引脚号去引用那个信号, 其二则是采用对应芯片的信号编号, 具体为 GPIO.(GPIO.BCM)。当做出模式方面的选择之后, 就得明确于程序里采用哪一个GPIO信号, 还要确定把家门当作输入还是输出, GPIO.setup(, )。我所给出的例子当中那便是GPIO.setup(18, GPIO.OUT)。在后续的操作进程当中, 存在着两个相关的命令它们分别用于对灯的开关状态进行控制, 这两个命令具体表现为, 其中一个命令是GPIO.(18, GPIO.HIGH) , 另一个命令则是GPIO.(18, GPIO.LOW)。GPIO.()被用来重置GPIO接口呢 此操作之中需要把所有的GPIO引脚设置成低电平状态 所以界面上就不会有多余的信号出现啦 在不运用该函数的状况下 要是有人尝试去配置一个已经分配了信号值的GPIO信号引脚 那么RPi.GPIO模块就会产生一条警告信息哦。闪烁 LED接下来, 我于树莓派之上, 编写了如下这般代码, 旨在使LED灯闪烁五次, 且对其进行保存, 将其命名为led.py。#!/usr/bin/python3importRPi.GPIO as GPIOimporttime GPIO.setmode(GPIO.BCM) GPIO.setup(18, GPIO.OUT) GPIO.output(18, GPIO.LOW) blinks0print(开始闪烁)while(blinks 5): GPIO.output(18, GPIO.HIGH) time.sleep(1.0) GPIO.output(18, GPIO.LOW) time.sleep(1.0) blinks blinks 1GPIO.output(18, GPIO.LOW) GPIO.cleanup()print(结束闪烁)演示结果也可以以通过 PWM 信号来达到让灯闪烁的效果。#!/usr/bin/python3importRPi.GPIO as GPIO GPIO.setmode(GPIO.BCM) GPIO.setup(18, GPIO.OUT) blink GPIO.PWM(18, 1)try: blink.start(50)whileTrue:passexceptKeyboardInterrupt: blink.stop() GPIO.cleanup()(1) start方法将占空比指定了出来取值范围为从1至100。(2) 在开启PWM信号以后, 程序能够解放出来去做别的各类事情了。(3) GPIO 18会不间断地发送PWM信号, 直至将它停止掉。(4) blink被设定为等于GPIO.PWM(18, 1) , 这就指定了PWM信号会以1HZ 的频率来发送, 灯的闪烁频率为1秒一次。(5) 按下 C即可让闪烁中止。参考资料《树莓派编程 入门与实战第2版》人民邮电出版社
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进