【物联网】基于树莓派的物联网开发【16】——树莓派GPIO控制LED灯实验

场景介绍

掌握GPIO引脚连接双色LED模块,编写Python程序代码,实现GPIO控制点亮双色LED灯!

窗口查看引脚编号

1、在终端输入指令:pinout
在这里插入图片描述
2、使用树莓派输入gpio readall命令查看pin状态
输入以下命令安装Git

sudo apt install git-core

安装树莓派的Wiring Pi库函数
树莓派要操作GPIO口也是需要借用库函数来实现的,名称叫做Wiring Pi,它使用C和C++开发并且可以被python、ruby或者PHP等其他语言包转。
树莓派的官方系统是没有自带Wiring Pi库的,需要我们自行安装
输入以下命令,将 WiringPi 文件下载到树莓派系统的当前目录

sudo git clone https://github.com/WiringPi/WiringPi

耐心等待其安装完成。下载完成后,我们可以在当前目录下看到一个WiringPi文件夹。
● 输入以下命令进入 WiringPi 文件夹目录。

cd WiringPi

● 输入以下命令安装 WiringPi。

sudo ./build

在这里插入图片描述
耐心等待安装完成,当我们看到下面的界面没有任何错误时候,就意味着安装完成。
3、查看gpio版本,控制台输入如下命令:

gpio -v

在这里插入图片描述

最后,我们可以看到树莓派各个管脚的状态,输入指令:

gpio readall

在这里插入图片描述

4、使用RPi.GPIO模块

RPi.GPIO是Python的一个模块,树莓派默认已经安装了该模块。下面介绍如何使用Python的RPi.GPIO模块控制GPIO。

1、导入RPi.GPIO模块

import RPi.GPIO as GPIO

2、设置指定模式(强制)管脚编号

GPIO.setmode(GPIO.BOARD)  #物理引脚编码

3、设置禁用警告
如果GRIO检测到一个引脚已经被设置成了非默认值,可以使用setwarnings()关闭警告信息。

GPIO.setwarnings(False)

4、设置引脚输入和输出
要将通道配置为输入:

GPIO.setup(channel, GPIO.IN)

要将通道设置为输出,请调用:

GPIO.setup(channel, GPIO.OUT)

为输出通道指定一个初始值:

GPIO.setup(channel, GPIO.OUT, initial=GPIO.HIGH)

将通道设置为输出时,同时设置多个通道:

channels = [18, 12, 13]

要读取通道的值:

GPIO.input(channel)  #返回 GPIO.LOW 或 GPIO.HIGH。

要设置配置为输出的引脚的值:

GPIO.output(channel, state)

其中状态可以是 GPIO.LOW 或 GPIO.HIGH。
还可以输出到通道列表或元组:

channels = [18, 12, 13] 

5、清理所有使用的通道
在程序结束时,最好清理通道,以便将所有引脚设置为默认状态。

GPIO.cleanup()

控制双色IED灯实验

硬件材料

1、树莓派4B
2、双色LED灯模块
3、GPIOT型扩展
4、面包板
5、杜邦线
6、Python程序

双色LED灯原理图

在这里插入图片描述

双色IED灯接线图

在这里插入图片描述

安装FileZilla软件

在这里插入图片描述

打开mu编辑器,编写python控制LED代码

在这里插入图片描述

Python控制GPIO的几个主要操作:

导入RPi.GPIO模块:

import RPi.GPIO as GPIO

设置引脚编码模式:

GPIO.setmode(GPIO.BOARD)/GPIO.setmode(GPIO.BCM)

设置引脚的操作模式(即输出还是输入) :

GPIO.setup(2, GPIO.OUT)/GPIO.setup(2, GPIO.IN)

设置引脚的高低电平:

GPIO.output(2, GPIO.HIGH)/GPIO.output(2, GPIO.LOW)

运行Python程序在这里插入图片描述

点击运行按钮后,会看到LED灯闪烁变色,每隔几秒切换灯光颜色。
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

低延迟网络中 gRPC 客户端的隐藏瓶颈及解决方案

低延迟网络中 gRPC 客户端的隐藏瓶颈及解决方案 在分布式系统性能优化领域,有一句名言:"优化非瓶颈环节都是徒劳"(Eliyahu M. Goldratt)。gRPC 作为广泛使用的高性能服务间通信框架,在特定场景下也会出现容易被忽略的客户端瓶颈。本文将解析这一问题的本质、复现…

打印机因为网络问题不能用,接到交换机后解决

之前的问题可参考: 打印机不能用:网络能ping通,并不表示网络正常好用_能ping通打印机却打印错误-CSDN博客 今天同事要打印个东西,问我打印机能不能用。我就奇怪了:之前不是好好的吗?一问,现在…

ubuntu22.04 录视屏软件推荐

4. VokoscreenNG功能:VokoscreenNG 是一个多功能的桌面录屏工具,支持录制整个屏幕、特定区域、窗口,并可以录制系统声音和麦克风。安装:sudo apt update sudo apt install vokoscreen-ng优点:界面友好,操作…

1、黑马点评复盘(短信登录-Session或Redis实现)

短信登录分别使用session和redis实现 1、基于Session实现登录 主要功能: 发送验证码短信验证码登录、注册校验登录状态 1.1 实现发送短信验证码功能 1.1.1 业务逻辑 用户在提交手机号后,会校验手机号是否合法,如果不合法,则要求…

文件管理困境如何破?ZFile+cpolar打造随身云盘新体验

文章目录前言【视频教程】1.关于ZFile2.本地部署ZFile3.使用ZFile4.ZFile的配置5.cpolar内网穿透工具安装6.创建远程连接公网地址7.固定ZFile公网地址前言 每天的数字生活如同在数据海洋中航行,工作文档、旅行照片、学习资料…这些重要资产是否总让你感到难以掌控&…

开源数据库E-R图绘制工具分享

1. 特点: 可直接使用,无需注册账号 无状态的纯前端工具,数据会存放在浏览器中。设计完成后可将数据保存到本地 2. 使用场景: 描述E-R图,对数据库表关系进行直观分析 3. 效果: 4. 测试数据 用来测试的建…

安卓 Audio Thread 分析

一、PlaybackThread::threadLoop_write 1.变量 mFramesWritten 类型: int64_t 作用: 记录从线程启动以来已写入音频设备的帧数(不包括挂起状态下的写入) mSuspendedFrames 类型: int64_t 作用: 记录线程在挂起(suspended)状态下模…

JavaWeb_原始项目初识(一)

Students2025项目(一) 原始ServletJSP架构项目初步搭建 jsp项目已被淘汰,在此学习目的是了解未来学习的新技术的底层原理项目结构:项目结构介绍: 目前阶段只完成了初始化的后端搭建,实现从本地数据库获取数…

前端_CSS复习

文章目录CSS复习1. css三种引入方式1.1 行内样式常用样式:1.2页内样式常见选择器:1. 标记选择器2. id选择器3. 类选择器(最常用)4. 星号选择器,频率很低5. 复合选择器6. 伪类选择器:7. 子元素伪类1.3引入外…

工业互联网时代,如何通过混合SD-WAN提升煤炭行业智能化网络安全

1. 背景:煤炭行业智能化转型的网络挑战随着工业互联网技术的普及,煤炭行业智能化转型进入加速期。选煤厂作为煤炭生产的核心环节,需要构建一套既安全又高效的网络系统,以满足工业控制系统(ICS)、智能设备和…

AI浪潮下数据中心的突围者:台达DPH Gen3系列UPS如何重构供电架构

2025年6月13日,台达-中达电通资通讯基础设施事业部联合中国数据中心工作组(CDCC)在江苏吴江举办"数据中心供配电技术革新与AI算力基础设施未来展望研讨会",同时开展CDCC专家组工厂参观。盛会汇聚了数据中心行业专家、互…

DiffServ服务模型与DS码点详解

1. DiffServ概述 DiffServ(Differentiated Services,差异化服务)是IETF定义的一种QoS(Quality of Service)体系结构,旨在为IP网络提供可扩展的服务区分能力。与传统的IntServ(集成服务)模型不同,DiffServ采用简单、粗粒度的流量分类机制&…

基于 PIC16 系列的多功能电子烟(温控 + 电压控制 + 多模式)方案

基于 PIC16 系列的多功能电子烟(温控 电压控制 多模式)方案 一、芯片与最小系统推荐型号:PIC16F18313/18323 8-bit 内核,14/20-pin 小封装,成本低28 MHz 内部振荡,带 10-bit ADC(12 通道&…

小模数齿轮的加工方法有哪些?

小模数齿轮(一般指0.3≤Mn≤1)的加工方法有哪些呢?小模数齿轮的加工方法主要分为减材、增材、变形加工三类: 去材料制造 有铣齿、滚齿、插齿、刨齿、剃齿、拉齿、冲齿、研磨、珩齿、磨齿及其抛光、线切割等。 增材制造 有注塑(塑料、尼龙&…

若依前后端分离版学习笔记(二)——系统菜单介绍

前言: 这一节是将ruoyi的前端界面过一遍,查看所有系统菜单及页面功能,为后续代码学习做准备。(注意:文中包含大量截图,截图为从本地启动的3.9.0 vue3的前端界面。) 一 系统管理 1 用户管理 主要…

VRRP技术-设备备份技术

一、VRRP的概念及应用场景1.定义在 VRRP(虚拟路由冗余协议)中,将多个路由器逻辑上看作一个路由器时所使用的虚拟 IP 地址,需要满足以下要求:这个虚拟 IP 地址必须与该 VRRP 组内所有物理路由器的接口 IP 地址处于同一网…

VUE2 学习笔记5 动态绑定class、条件渲染、列表过滤与排序

动态绑定class样式&#xff1a;先设置css&#xff1a;<style>.styleBackgroundColor{background-color: aqua;}.styleContent{width:300px;height: 200px;}.styleBorder{border: 2px black solid;}</style>vue模版中&#xff0c;使用动态类名绑定&#xff0c;一般可…

推客系统全栈开发指南:从架构设计到高并发实战

一、推客系统概述与市场前景推客系统&#xff08;也称为"推客营销系统"或"社交电商系统"&#xff09;是近年来快速崛起的社交化营销工具&#xff0c;它通过整合社交网络与电子商务功能&#xff0c;让每个用户都能成为产品的推广者并获得相应奖励。市场数据…

RabbitMQ有多少种Exchange?

面试回答模板 “RabbitMQ 在 AMQP 协议中预定义了 四种常用交换机 两种特殊类型&#xff0c;共 6 种&#xff1a; Direct&#xff1a;routing-key 全等匹配&#xff1b;Fanout &#xff1a;广播&#xff0c;忽略 key&#xff1b;Topic&#xff1a;按 *.# 通配符匹配&#xff1…

ctfshow pwn43

1. 分析程序首先检查程序相关保护&#xff0c;发现程序为32位且只开启了一个NX保护checksec pwn使用IDA进行逆向分析代码&#xff0c;查看漏洞触发点&#xff1a;在main函数中&#xff0c;有一个ctfshow函数&#xff0c;这里我们跟进ctfshow()发现存在一个gets()函数&#xff0…