树莓派(Raspberry Pi)常见引脚详解与使用示例
创作时间:
作者:
@小白创作中心
树莓派(Raspberry Pi)常见引脚详解与使用示例
引用
CSDN
1.
https://blog.csdn.net/u013558123/article/details/136570814
树莓派(Raspberry Pi)是一款广受欢迎的单板计算机,其丰富的引脚资源为各种电子项目和交互式应用提供了无限可能。本文将为您详细讲解树莓派常见的各种引脚,包括GPIO、I2C、SPI和UART引脚的功能、特点和使用方法,并通过具体的代码示例帮助您快速上手。
树莓派引脚概述
树莓派有多种型号,包括 Raspberry Pi 1、2、3 和 4。每种型号都有不同的引脚数量和功能。以下是一些常见的引脚及其功能:
- GPIO 引脚:用于控制和监测外部设备。
- I2C 引脚:用于低速通信,如传感器和显示屏。
- SPI 引脚:用于高速通信,如 SD 卡和显示屏。
- UART 引脚:用于串行通信。
- 电源引脚:用于为外部设备提供电源。
GPIO 引脚
特点
- 用于控制和监测外部设备,如 LED、传感器等。
- 可以编程,支持输入、输出和 PWM(脉冲宽度调制)。
优势
- 灵活性高,可以用于各种电子项目。
- 支持多种模式,如数字输入、数字输出和模拟输出。
示例
import RPi.GPIO as GPIO
# 设置 GPIO 引脚编号方式
GPIO.setmode(GPIO.BCM)
# 设置 GPIO 引脚 17 为输出
GPIO.setup(17, GPIO.OUT)
# 打开(高电平)GPIO 引脚 17
GPIO.output(17, GPIO.HIGH)
# 关闭(低电平)GPIO 引脚 17
GPIO.output(17, GPIO.LOW)
# 设置 GPIO 引脚 17 为输入
GPIO.setup(17, GPIO.IN)
# 检查 GPIO 引脚 17 的状态
if GPIO.input(17) == GPIO.HIGH:
print("GPIO 17 is HIGH")
else:
print("GPIO 17 is LOW")
# 清理 GPIO 资源
GPIO.cleanup()
解释
- 第一行:导入 RPi.GPIO 模块。
- 第二行:设置 GPIO 引脚编号方式为 BCM 编号方式。
- 第三行:将 GPIO 引脚 17 设置为输出模式。
- 第四行:将 GPIO 引脚 17 输出高电平(打开 LED)。
- 第五行:将 GPIO 引脚 17 输出低电平(关闭 LED)。
- 第六行:将 GPIO 引脚 17 设置为输入模式。
- 第七行:检查 GPIO 引脚 17 的状态。
- 第八行:清理 GPIO 资源,确保程序退出时释放引脚。
I2C 引脚
特点
- 用于低速通信,如传感器和显示屏。
- 支持多设备通信。
优势
- 低速通信,适合小型设备和传感器。
- 支持多设备通信,可以同时连接多个传感器。
示例
import smbus
# 创建 I2C 总线
bus = smbus.SMBus(1)
# 设置设备地址
address = 0x04
# 写入数据
bus.write_byte(address, 0x01)
# 读取数据
data = bus.read_byte(address)
# 打印读取的数据
print("Data from I2C:", data)
解释
- 第一行:导入 smbus 模块,用于 I2C 通信。
- 第二行:创建一个 I2C 总线实例。
- 第三行:设置设备地址,不同的设备有不同的地址。
- 第四行:向设备写入一个字节的数据。
- 第五行:从设备读取一个字节的数据。
- 第六行:打印读取的数据。
SPI 引脚
特点
- 用于高速通信,如 SD 卡和显示屏。
- 支持多设备通信。
优势
- 高速通信,适合大容量数据传输。
- 支持多设备通信,可以同时连接多个设备。
示例
import spidev
# 创建 SPI 总线
spi = spidev.SpiDev()
spi.open(0, 0)
# 发送数据
spi.writebytes([0x01, 0x02, 0x03, 0x04])
# 读取数据
data = spi.readbytes(4)
# 打印读取的数据
print("Data from SPI:", data)
# 关闭 SPI 总线
spi.close()
解释
- 第一行:导入 spidev 模块,用于 SPI 通信。
- 第二行:创建一个 SPI 设备实例,第一个参数是 SPI 总线编号,第二个参数是 SPI 设备编号。
- 第三行:打开 SPI 设备。
- 第四行:向设备发送一个字节的数据。
- 第五行:从设备读取一个字节的数据。
- 第六行:打印读取的数据。
- 第七行:关闭 SPI 设备。
UART 引脚
特点
- 用于串行通信,如 GPS 模块和蓝牙模块。
- 支持多种波特率。
优势
- 适用于长距离通信。
- 支持多种通信协议,如 RS-232 和 RS-485。
示例
import serial
# 创建串行端口
ser = serial.Serial('/dev/ttyAMA0', 9600)
# 发送数据
ser.write(b'Hello, UART!')
# 读取数据
data = ser.readline()
# 打印读取的数据
print("Data from UART:", data.decode())
# 关闭串行端口
ser.close()
解释
- 第一行:导入 serial 模块,用于串行通信。
- 第二行:创建一个串行端口实例,第一个参数是串行设备文件名,第二个参数是波特率。
- 第三行:向串行端口发送数据。
- 第四行:从串行端口读取数据。
- 第五行:打印读取的数据。
- 第六行:关闭串行端口。
总结
树莓派拥有多种引脚,包括 GPIO、I2C、SPI 和 UART 引脚。这些引脚具有不同的特点和优势,适用于不同的应用场景。通过使用这些引脚,您可以连接各种外部设备,如 LED、传感器、显示屏和通信模块,实现各种电子项目和交互式应用。
通过上述示例,您应该能够更好地理解树莓派各种引脚的特点、优势和基本用法。如果您有任何问题或需要进一步的解释,请随时提问。
热门推荐
贡献志愿力量 创造美好生活
频繁胃胀气?当心这些疾病隐患,三种食物助你缓解
脑中风后遗症患者的营养管理指南
全国生态日 | 昆明翠湖:城市中的“生态样板间”
数字化时代下企业文化建设与员工激励机制的整合策略
昆明翠湖公园有什么景点
无痛胃肠镜-安全、轻松一步到“胃”
从祷告仪式到宰牲盛宴:探索古尔邦节在非洲的庆祝方式
辟谣!关于新疆旅游的不实信息
揭秘赵高:从宫廷侍从到“指鹿为马”的权臣
新疆自驾游摄影打卡攻略:独山子大峡谷、赛里木湖、巴音布鲁克
40-60万预算购豪华SUV,奥迪Q6凭空间和性价比胜出
李硕新作《历史的游荡者》登5月好书榜,展现多维历史视角
国产创新医疗器械占比超七成,数字化成行业新引擎
依洛尤单抗的副作用,你真的了解吗?
三叠泉领衔庐山瀑布群,李白诗篇传颂千年胜景
瑞百安副作用知多少?一文读懂用药安全指南
瑞百安副作用监测指南
AI赋能医疗影像:从心血管到癌症的五大应用突破
2024亚太医疗论坛热议:智慧医疗破解老龄化困局
顺丰“箱”伴计划启航三城,共筑绿色可持续物流新篇章
绑定生日领60点开拓力,崩坏星穹铁道生日系统攻略
面试准备:用STAR法则搞定时间管理
吃降压药能有效降压,不想心脏出问题,千万别和这种水果一起吃
处女座1月运势:当心完美主义影响好运气
完美主义驱动职场成就:处女座的细节制胜之道
肺癌患者化疗期感染预防:四大措施助你安全度过
阿霉素紫杉醇治疗乳腺癌:疗效显著但副作用需警惕
抗血管生成药物贝伐珠单抗:多癌种治疗金标准,联合免疫疗法显新效
大乐透追号策略:教你科学理财