树莓派GPIO开发(一):激光头传感器模块的使用

配置环境

系统: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()   # 把引脚恢复初始状态,否则下次使用这个引脚会报错,会显示它上个模式中

代码运行结果就是开始放的图片

相关推荐:玩转树莓派系列文章

posted @ 2022-02-18 14:51  刘墨苏  阅读(838)  评论(0编辑  收藏  举报