参考:
https://blog.csdn.net/weixin_44415639/article/details/114600919
https://blog.csdn.net/chenbo163/article/details/78716269
https://blog.51cto.com/u_11643026/4291142
这里文章用的编程引脚是物理引擎代号BOARD
1、GPIO控制包安装
参考:https://blog.csdn.net/weixin_42078116/article/details/119329032
gpio -v 版本2.52才行,2.50查看gpio readall输出报错
需要单独安装解决:
wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb
gpio readall
2、代码控制红绿灯和有源轰鸣器
1)红绿灯
GND引脚用来接地,(GND引脚插在9,红色对应插在11;黄色插在13,绿色插在15)
2)有源轰鸣器
3个引脚,GND引脚用来接地,VCC引脚用来接3.3V的电源,I/O引脚用来GPIO编程控制蜂鸣器;(GND引脚插在39,这里VCC对应插在17;I/O引脚插在37)
有源轰鸣器,因为是低电平触发响,初始时设置为高电平GPIO.HIGH就可以不响
#!/usr/bin/python
#coding:utf-8import RPi.GPIO as GPIO
import timeGPIO.setmode(GPIO.BOARD)
# 进行引脚的初始化,因为是低电平触发,初始时设置为高电平
GPIO.setup(37, GPIO.OUT,initial=GPIO.HIGH) #轰鸣器
GPIO.setup(11,GPIO.OUT) #红
GPIO.setup(13,GPIO.OUT) #黄
GPIO.setup(15,GPIO.OUT) #绿def blink():#通过交替输出高低电频来是LED灯闪烁#红灯亮10sGPIO.output(11,GPIO.HIGH)time.sleep(10)GPIO.output(11,GPIO.LOW)time.sleep(0.5)#黄灯亮3sGPIO.output(13,GPIO.HIGH)time.sleep(3.0)GPIO.output(13,GPIO.LOW)time.sleep(0.5)# 绿灯亮10sGPIO.output(15,GPIO.HIGH)time.sleep(10)GPIO.output(15,GPIO.LOW)time.sleep(0.5)# 黄灯亮3sGPIO.output(13,GPIO.HIGH)time.sleep(3.0)GPIO.output(13,GPIO.LOW)GPIO.output(37,GPIO.LOW)time.sleep(3.0)GPIO.output(37,GPIO.HIGH)#主程序
try:#循环执行while True:blink()except KeyboardInterrupt:passGPIO.cleanup()
树莓派 红绿灯 GPIO