树莓派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()   # 把引脚恢复初始状态,否则下次使用这个引脚会报错,会显示它上个模式中
代码运行结果就是开始放的图片
相关推荐:玩转树莓派系列文章
树莓派GPIO开发(一):激光头传感器模块的使用的更多相关文章
- 树莓派GPIO开发(三):蜂鸣器-PWM调节
		配置环境 系统:Raspbian11(官方64位) 设备:树莓派CM4 一.写在前面 关于PWM的基本介绍在上一篇博客已经说过了:树莓派GPIO开发(二)RGB模块-PWM调节 在RGB模块中,我们主 ... 
- 树莓派GPIO开发(二)RGB模块-PWM调节
		配置环境 系统:Raspbian11(官方64位) 设备:树莓派CM4 一.PWM简单介绍 全称:Pulse-width modulation,脉冲宽度调制,简单的数模转换方法 1.基本原理 脉冲宽度 ... 
- 树莓派 LED+蜂鸣+声音传感器+红外模块组合打造声控/红外控制LED
		昨天搞了控制LED,玩了第一个,剩下的就感觉很简单了,这里记录一下 先来几张照片 玩了蜂蜜模块才发现规律,一般这种模块,都会有三个针脚,VCC(3.3V或5V供电输出针脚).GNC(对应GPIO针脚的 ... 
- 自己动手实现智能家居之树莓派GPIO简介(Python版)
		[前言] 一个热爱技术的人一定向往有一个科技感十足的环境吧,那何不亲自实践一下属于技术人的座右铭:“技术改变世界”. 就让我们一步步动手搭建一个属于自己的“智能家居平台”吧(不要对这个名词抬杠啦,技术 ... 
- 在树莓派上读取DHT11温湿度传感器-python代码实现及常见问题(全面简单易懂)
		最近由于自己的课题需要,想要用在树莓派上使用DHT11温湿度传感器来读取空气中温湿度,遇到了几个问题,解决之后也对之前的知识进行了回顾,总结,特整理如下,希望能给也在学习树莓派的小伙伴们带来一些帮助. ... 
- SLAM+语音机器人DIY系列:(五)树莓派3开发环境搭建——1.安装系统ubuntu_mate_16.04
		摘要 通过前面一系列的铺垫,相信大家对整个miiboo机器人的DIY有了一个清晰整体的认识.接下来就正式进入机器人大脑(嵌入式主板:树莓派3)的开发.本章将从树莓派3的开发环境搭建入手,为后续ros开 ... 
- Python自动化编程-树莓派GPIO编程(二)
		树莓派我们编程一般都直接用高效的python,针对于GPIO编程,python也是有这一方面的库的,这里最有名也是最常用的就是RPI.GPIO了.这个库是专门为树莓派GPIO编程所设计的,利用它你可以 ... 
- 树莓派GPIO控制RGB彩色LED灯
		树莓派GPIO通过PWM来控制RGB彩色LED灯,可以显示任何我们想要的颜色. RGB模块简介 这个RGB彩色LED里其实有3个灯,分别是红灯.绿灯和蓝灯.控制这三个灯分别发出不同强度的光,混合起来就 ... 
- iTOP-4412开发板-LinuxC-继电器模块的测试例程
		平台:iTOP-4412开发板 实现:继电器模块测试例程 继电器的 C 的测试程序,C 测试程序可以在 Android系统,Qt 系统以及最小 linux 系统上运行,文档以 Android 系统上测 ... 
随机推荐
- [源码解析] PyTorch 分布式之 ZeroRedundancyOptimizer
			[源码解析] PyTorch 分布式之 ZeroRedundancyOptimizer 目录 [源码解析] PyTorch 分布式之 ZeroRedundancyOptimizer 0x00 摘要 0 ... 
- k8s中初始化容器(init container)的作用及其使用方法
			概述 在容器的部署过程中,有的时候需要在容器运行之前进行一些预配置的工作,比如下载配置,判断某些服务是否启动,修改配置等一些准备的工作,想要实现这些功能,在k8s中可以使用初始化容器,在应用容器运行之 ... 
- 【记录一个问题】go1.17中,把代码文件放在main.go的同级目录,导致无法编译
			写了类似目录结构的代码: myproxy - main.go - server.go 编译的时候总是出现main.go中找不到类型定义.但是用goland却可以直接执行. 最后调整了目录结构后解决: ... 
- 【记录一个问题】一个golang中的BUG,为啥编译的时候无法发现,而单独跑测试用例就发现了
			代码大致如下: func DoSomething(){ log.Printf("a=%s, b=%s, c=%s", a, b) //忘记少写一个参数.但是编译正常通过 } fun ... 
- 树形dp空间优化(dfn)
			树形dp空间优化 介绍 有时题目会告诉我们n叉树的最大层数,或者给出一个完全n叉树树,直接做树形dp会爆空间时,就可以用这个优化方法. 多数树形dp都是先dfs到子树,再合并到根上,显然当合并到根上时 ... 
- IDEA设置Maven
			1,在idea中设置maven,让idea和maven结合使用 idea中内置了maven,一般不使用内置,因为用内置修改maven的设置不方便 使用自己安装的maven,需要覆盖idea中默认的设置 ... 
- 推荐一个github国内访问加速神器GitHub520
			一.介绍 对 GitHub 说"爱"太难了:访问慢.图片加载不出来. 注: 本项目还处于测试阶段,仅在本机测试通过,如有问题欢迎提 issues 本项目无需安装任何程序,通过修改本 ... 
- java 方法实例
			// 方法 public class Demo { public static void main(String[] args) { m(); m2(2); m3('3', 4); m4(4, 6); ... 
- 平滑增加Nginx模块
			目录 一:平滑增加Nginx模块 1.1.增加模块必须重新编译 一:平滑增加Nginx模块 1.1.增加模块必须重新编译 解决依赖 编译安装不能解决依赖 yum install zlib zlib-d ... 
- 分布式事务框架-Litx补偿事务框架源码解析
			前言 之前某段时间在研究分布式事务过程中,对实现原理比较好奇,于是去Gitee上找了几个人气比较高的框架进行学习,其中印象深刻的有Litx,因为Litx源码不多,且都是基于Spring和Dubbo底层 ... 
