刚学H3,写一些经验,用的是Python编程。
官网教程代码用的是HUB扩展板,我也买了,但运行代码显示I2C总线忙,点不亮,解决不了(如果哪位大佬知道,希望能指教一下我),就直接操作串口了。
一.硬件连接
硬件是和扩展板一起买的,右边24个引脚图如下:
SIG接GPIO,5V接5V,GND接GND,NC是空不接线
按钮:串口2,9,11
灯:串口4,6,12
二.代码
import RPi.GPIO as GPIO #操作GPIO串口(RPi.GPIO库为板子自带)
import time
GPIO.setmode(GPIO.BOARD) #设置为BOARD模式:串口顺序按板子顺序
G1=11 #串口11
G2=12 #串口12
GPIO.setup(G1,GPIO.IN) #设置串口G1(11)为输入
GPIO.setup(G2,GPIO.OUT) #设置串口G2(12)为输出
GPIO.output(G2,GPIO.LOW) #串口G2(12)输出为低电平,灭灯
while True:
button_status=GPIO.input(G1) #获取串口G1(11)状态,默认为1
if button_status==0: #按下为0
GPIO.output(G2,GPIO.HIGH) #串口G2(12)输出为高电平,点灯
#print("DOWN:",button_status) #查看按钮状态
else: #默认为1
GPIO.output(G2,GPIO.LOW) #串口G2(12)输出为低电平,灭灯
# print("UP:",button_status)
三.补充
灯插上去默认亮,所以先灭掉。按钮不按得到的输入为1,按下去得到的输入为0。
最终实现的效果是:按钮长按则灯长亮,松开则灯灭。