配置环境

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

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

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

最新文章

  1. OS X 下不通过Homebrew安装ASP.NET 5开发环境
  2. Apache Thrift 环境配置
  3. 迅为4412开发板支持AVIN视频输入/AV监控摄像头输入模块
  4. tyvj1013 - 找啊找啊找GF ——二维背包变种
  5. C++中的抽象类及纯虚函数的实现与否
  6. chrome浏览器取消置顶的方法
  7. The Best Coder and Why? (最牛气的程序员)——精彩!
  8. Java 通过 BufferReader 实现 文件 写入读取 示例
  9. 一步步优化JVM五:优化延迟或者响应时间
  10. SDCycleScrollView 添加初始滚动页码
  11. shell 编程之 for while until 循环
  12. 带BOM头文件解析
  13. Can`tconnect to MySQL server on 'localhost'(10061)问题解决
  14. springcloud 入门 10 (eureka高可用)
  15. 第三个Sprint冲刺第二天(燃尽图)
  16. php -- 正则替换
  17. 4个设计绝招教你减少PCB板电磁干扰
  18. 几个实用的sublime text 2的快捷键
  19. 批量得到/修改word超链接
  20. Scikit-learn数据变换

热门文章

  1. Windows 10 安装 Git 与初次运行前的配置
  2. webstorm 配置git代码项目管理工具
  3. Rancher Fleet使用教程
  4. Solon Web 开发,五、数据访问、事务与缓存应用
  5. 树形dp空间优化(dfn)
  6. Natasha 4.0 探索之路系列(三) 基本的动态编译
  7. k8s 基于RBAC的认证、授权介绍和实践
  8. QMainWindow(一)
  9. IoC容器-Bean管理XML方式(注入空值和特殊符号)
  10. VUE3 之 插槽的使用 - 这个系列的教程通俗易懂,适合新手