配置环境
系统:Raspbian11(64位)
设备:树莓派CM4
一、写在前面
主要为了测试我捡漏买的CM4的拓展版
拓展板子没有焊接引脚,但是预留的接口
手动焊接一下
测试成功 ,说明我捡的这块板子的GPIO基本是正常的,而且没有引脚被挡到,赚到了!
使用传感器:激光头传感器模块 KY-008
二、树莓派使用GPIO口的基础知识
1.GPIO 引脚的定义(编号方法)
在树莓派上使用GPIO一般就用下面三种,第一种就是板子上的1、2、3....、40,用起来傻瓜式,只是仅能在树莓派上用,一般用python开发。第二种就是CPU定义的引脚编号。第三种和Arduino兼容,一般使用C语言开发。我这里就用第一种。
(1)排针引脚编号(BOARD)。
(2)CPU 定义引脚编号(BCM)。
(3)WiringPI 编号。
引脚图:
输入gpio -v
查看自己树莓派GPIO的版本
输入gpio readall
查看我们接口编号的定义。
我这个板子不是官方的,检测不出来,但是能看到20个引脚。
2.使用板子上引脚编号,进行编程
RPi.GPIO 是一个控制树莓派上的 GPIO通道的软件包。该软件包提供了一个类来控制树莓派上的 GPIO。 在树莓派的 Raspbian 系统镜像中默认安装了 PRi.GPIO,因此可以直接使用。
PRi.GPIO官方的wiki: https://sourceforge.net/p/raspberry-gpio-python/wiki/BasicUsage/
如果你没有打开GPIO的使用开关,你还需要去系统设置里面把 GPIO enable
我这里用的就是编号11的引脚,使用激光发生器来测试下,上代码
# @墨苏 2021/12/25
import RPi.GPIO as GPIO
import time
if __name__ == "__main__":
pin_sig = 11 #使用板子编号11的引脚
GPIO.setmode(GPIO.BOARD) # 按物理位置对GPIO进行编号
GPIO.setup(pin_sig, GPIO.OUT) # 设置这个GPIO为输出模式
GPIO.output(pin_sig, GPIO.HIGH) # 设置输出高电平
try:
while True:
print('亮3秒')
GPIO.output(pin_sig, GPIO.HIGH) # 亮
time.sleep(3)
print('灭3秒')
GPIO.output(pin_sig, GPIO.LOW) # 灭
time.sleep(3)
except KeyboardInterrupt:
print('\n Ctrl + C QUIT')
finally:
GPIO.cleanup() # 把引脚恢复初始状态,否则下次使用这个引脚会报错,会显示它上个模式中
代码运行结果就是开始放的图片
相关推荐:玩转树莓派系列文章