树莓派 GPIO

1、GPIO简介

树莓派(GPIO)是一种数字输入/输出接口,可用于控制和监测电子元件。输入引脚可用于读取传感器或按键等外部设备输入的信号;输出引脚可用于通过外部设备火车、LED灯等输出电压或电流。在树莓派上,GPIO用于与外部世界进行通讯,进而实现更高级别的小型计算机和电子项目,应用广泛。

树莓派3B+中有40个GPIO引脚,它们被分成2排,并从编号1到40进行标号。第一排包含了1到26号引脚,可以用作输入输出,另外有5个地引脚。第二排的引脚,则主要是对一些较为复杂的外设进行控制,同时也可以配置为输入输出使用。

树莓派GPIO功能丰富、扩展性好,并且可以与各种电子元件结合使用,因此在物联网、嵌入式开发、机器人领域中应用广泛,用户可以通过编程来控制其相应的操作。

树莓派的GPIO引脚编号分为两种:物理编号(Physical Pin)和BCM编号(Broadcom SOC Channel)。其中,物理编号表示每个GPIO引脚在扩展版上的物理位置,BCM编号则是SOC芯片上GPIO控制器内部使用的编号。

2、连接GPIO

要连接树莓派(GPIO),需要一些基本的硬件:

  • 树莓派主板:确保树莓派已经成功启动,并且具有GPIO接口。

  • 电子元件:这可以是LED、按钮、传感器等电子设备。

  • 连接线:通常使用面包板或杜邦线来连接树莓派和外部电子设备。

  • 电源供应:确保外部电子设备有足够的电力来源,以便它们能准确地执行您的命令。

    在连接树莓派GPIO之前,您需要知道每个引脚的功能和编号。您可以在官方文档或互联网上找到相关信息。

连接GPIO的步骤如下:

  • 确定所需的GPIO引脚。根据您的需求,选择一个适当的GPIO引脚作为输入或输出端口。

  • 连接电子制品。将所选元件正确地插入面包板或直接使用连线拼接方法。注意使用正确类型的连线,并避免交叉连接导致的损坏。

  • 连接至树莓派。通过正确连接的连线连接到树莓派的相应GPIO号码。对于数字输入,必须连接到树莓派的线性脚针,在某些情况下必须使用固定电阻。

  • 测试和编程。您可以使用Python等编程语言来测试和控制所连接的计算设备。在运行任何代码之前,请确保您在程序中设置了正确的GPIO引脚,避免不必要的损坏和风险。

注意,在进行连接并测试过程中,必须注意电流、电压以及PN电阻电路设计等因素,以避免烧毁树莓派或外部电子设备。

3、使用RPI.GPIO模块

RPI.GPIO模块是连接树莓派(GPIO)的Python库,可以帮助您使用Python编程控制外围设备。以下是一些基本使用方法:

  • 引入模块。在您的Python程序中引入RPI.GPIO库:import RPi.GPIO as GPIO。

  • 设置GPIO模式。在代码中设置GPIO为三种不同模式之一:输入(Input)、输出(Output)或板上定义(Board)。通常,在开始时将模式设置为板上定义(Board)模式:GPIO.setmode(GPIO.BOARD)。

  • 配置GPIO引脚。配置需要使用的GPIO引脚以及相应的方向(输入或输出):GPIO.setup(channel, GPIO.IN/OUT)。这里的channel可以是物理编号(Physical Pin)或 BCM板上引脚编号。

  • 控制GPIO引脚。用适当的值来使GPIO引脚转换到所需状态,如果是输出状态则为High(高电平)或Low(低电平);如果是输入状态,则检测当前的状态:GPIO.output(channel, state)和GPIO.input(channel)

  • 清除引脚设置。完成所有任务之后,必须释放GPIO引脚,清除之前的设置以便它们能够还原为其初始状态:GPIO.cleanup()

import RPi.GPIO as GPIOGPIO.setmode(GPIO.BOARD)GPIO.setup(11, GPIO.OUT)
while True:    GPIO.output(11, GPIO.HIGH)    print("LED ON")    sleep(1)
    GPIO.output(11, GPIO.LOW)    print("LED OFF")    sleep(1)
GPIO.cleanup()

4、点亮LED

import RPi.GPIO as GPIOimport time
GPIO.setmode(GPIO.BOARD)GPIO.setup(11, GPIO.OUT)
try:    while True:        GPIO.output(11, True) # 将 GPIO11 引脚设置为高电平        time.sleep(1)         # 持续一秒        GPIO.output(11, False) # 将 GPIO11 引脚设置为低电平        time.sleep(1)         # 持续一秒
except KeyboardInterrupt:    GPIO.cleanup()          # 清除 GPIO 引脚并退出应用

python GPIO:

raspberry-gpio-python / Code / [be8e4d]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/601240.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于STM32的心率血氧体征监测系统设计与实现

一、摘要 本论文主要研究了基于STM32的心率血氧体征监测系统的设计与实现。该系统主要由STM32微控制器、脉搏传感器、血氧传感器和LCD显示屏等部分组成。通过脉搏传感器和血氧传感器采集用户的心率和血氧饱和度数据,然后通过STM32微控制器进行处理和分析&#xff0…

C++八股学习心得.5

1.基类 & 派生类 一个类可以派生自多个类,这意味着,它可以从多个基类继承数据和函数。定义一个派生类,我们使用一个类派生列表来指定基类。类派生列表以一个或多个基类命名,形式如下: class derived-class: acce…

化简资源分配图

操作系统------资源分配图化简-CSDN博客

Ubuntu 22.04 安装cmake3.28

Cmake 3.28 Kitware APT Repository

网络摄像机的网络连接

网络摄像机的网络连接 1. 网络连接2. 网络直通线和网络交叉线的制作方法References 1. 网络连接 网络摄像机完成安装后,需要进行功能的配置及参数的设置,您可以通过浏览器进行相关功能的配置。 有线网络连接 左侧为通过网络直通线连接的示意图&#x…

阿里云服务器Centos安装宝塔面板

阿里云服务器Centos安装宝塔面板 1 背景1.1 aliyun1.2 Linux 2 安装步骤2.0 环境配置2.1 安装前准备2.2 宝塔安装2.3 建站 3 centos常用命令3.1 防火墙相关 1 背景 1.1 aliyun 阿里云服务器是阿里云提供的一项云计算服务,它能够帮助用户快速搭建网站、应用和服务&…

接雨水【双指针】【前缀后缀】

Problem: 42. 接雨水 文章目录 思路 & 解题方法复杂度前缀后缀双指针 思路 & 解题方法 前缀后缀应该是最容易想到的方法了,双指针需要多理解一下。 复杂度 时间复杂度: 添加时间复杂度, 示例: O ( n ) O(n) O(n) 空间复杂度: 添加空间复杂度, …

模板模式实现分布式锁实战

前言 分布式锁相信大家都有用过,常见的分布式锁实现方式例如redis、zookeeper、数据库都可以实现,而我们代码中强引用这些分布式锁的代码,那么当我们以后想替换分布式锁的实现方式时,需要修改代码的成本会很高,于是我…

Linux多线程基础(1):创建线程

在大家的关注与陪伴下,前些日子我们已将网络通信基础专栏更新完毕,包括网络编程基础中所有函数的工作原理以及使用方法,感兴趣的同学欢迎查看.从今天开始,我们一起正式进入linux系统下多线程多进程的学习. 0.为什么要使用线程 想象一下,如果你需要构建一个火车站售…

OpenCV图像处理|1.1 OpenCV介绍与环境搭建

1.1.1 介绍 OpenCV(Open Source Computer Vision Library)开放源代码计算机视觉库,主要算法涉及图像处理、计算机视觉和机器学习相关方法。OpenCV 其实就是一堆 C 和 C语言的源代码文件,这些源代码文件中实现了许多常用的计算机视…

安装PyTorch及环境配置(应用于Python上的YOLO)

这个基本都是Bilibili网站里面叫“小手丫子”up的视频教程,此前自己需要装了好几次又卸载了好几次,现在根据视频教学整理出来自己所理解的文档。 注意事项 1.安装的pycharm版本和anaconda版本无要求。 2.运行pycharm尽量以管理员身份运行。 3.Cuda是独…

AWTK 开源串口屏开发(5) - MCU端 SDK 用法

AWTK 开源智能串口屏,不但开放了串口屏端全部源码,还提供了MCU 端 SDK,大大加快 MCU 软件的开发。本介绍一下 MCU 端 SDK 在不同平台上的用法。 完整示例可以参考下面的几个例子: 普通嵌入式系统 mcu/stm32/hmi_app/hmi_app.c 低…

docker +gitee+ jenkins +maven项目 (二)

文章目录 前言一、创建Maven项目二、常规配置1.gitee配置2.gitee仓库配置3.构建时操作4.构建后操作 总结 前言 上一篇文章介绍了Jenkins的环境配置和工具配置,这篇进行具体maven项目的配置 一、创建Maven项目 二、常规配置 1.gitee配置 在工具哪里配置好gitee后&…

设计模式② :交给子类

文章目录 一、前言二、Template Method 模式1. 介绍2. 应用3. 总结 三、Factory Method 模式1. 介绍2. 应用3. 总结 参考内容 一、前言 有时候不想动脑子,就懒得看源码又不像浪费时间所以会看看书,但是又记不住,所以决定开始写"抄书&qu…

JMeter之测试WebService接口

JMeter之测试WebService接口 1 背景2 目的3 介绍4 具体操作4.1 soapUI调用4.2 JMeter工具调用4.3 操作步骤流程4.3 重点 1 背景 WebService应用的范围是非常广,任何需要跨平台、跨系统进行数据交换和功能调用的场景都可以用此来实现,在实际的工作中也常常…

Unity中Shader的_Time精度问题

文章目录 前言一、U方向上优化二、V方向上优化在这里插入图片描述 三、最终代码1、效果2、Shader 前言 在Unity的Shader中,使用了_Time来达到UV的流动效果,普遍会出现一个问题。我们的UV值会随着时间一直增加(uv值增加了,但是因为…

Webpack5 常用优化总结

本文主要总结经常用到的一些代码性能优化、减小代码体积、提升webpack打包构建速度等内容的方法。具体的实现可参考webpack官网查看相关示例。 注:如果读者还未接触过webpack,请先了解webpack的基本使用。 正文: SourceMap ---- 提升开发体…

3元一平方公里的在线卫星影像

我们为大家分享了免费下载卫星影像的方法。 但让人遗憾的是,该影像的最高分辨率只有10米,需要更高清且比较新的卫星影像,看来还是得付费购买才比较靠谱。 自助选择区县范围 商业卫星影像主要面向企事业单位,一般来讲都比较贵&a…

0-自然语言处理基础知识

目录 1 transformers1.1 什么是transformers1.2 优缺点和使用场景是什么?优点缺点使用场景 1 transformers 1.1 什么是transformers transformers 是由 Hugging Face 团队开发的一个非常流行的开源库,它为自然语言处理(NLP)提供…

55、交叉熵损失函数和softmax

上一节介绍了softmax函数,这里插一篇关于损失函数的介绍,看一看softmax和损失函数是如何结合的。 在很多分类任务中,损失函数使用的是交叉熵损失。 作为一种损失函数,它的重要作用便是可以将“预测值”和“真实值(标签)”进行对比,从而输出 loss 值,直到 loss 值收敛,…