树莓派(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、传感器、显示屏和通信模块,实现各种电子项目和交互式应用。
通过上述示例,您应该能够更好地理解树莓派各种引脚的特点、优势和基本用法。如果您有任何问题或需要进一步的解释,请随时提问。
热门推荐
哪种马桶吸力大?选购技巧与家居搭配指南
详解带饵调漂:方法最科学,钩饵状态最多,堪称万能
《荒野大镖客:救赎 2》赏金和通缉级别 - 如何支付赏金并失去您的通缉级别解释
成语寓言故事《缘木求鱼》
李商隐是诗什么?揭秘唐代诗人李商隐的诗歌特色与文学地位
SR-IOV技术简介
儿童房空间布局指南:从安全到创意的全方位设计
HTML中嵌入HTML页面的四种方法详解
最上海|25.06米世界最大的初号机雕塑,跨越次元的守护者
原来明代就流行“总要来趟金陵吧!”
发展智慧交通 提高出行效率(国际视点)
汽车行业首批增程器综合性能认证发布,自主品牌技术超越国际水平
银行信用卡年费减免策略:从制定到效果评估的全方位指南
伴侣之间,多身体触碰,真的让人心情愉悦
紫砂问答丨紫砂壶要烧几遍?窑温是越高越好吗?
CBT 对抑郁症的有效治疗
什么是商业信函:类型、提示和格式
买的商品房如果地震损害了怎么办
m3u8视频转mp4常见问题汇总(附详细解决方案)
2025想要做体重管理,这几个细节要知道!健康减重增重→
家里种植李子树有哪些禁忌?李子树的风水寓意解析
特别策划 | 80后已进入更年期
欧元汇率趋势如何进行分析?分析结果如何影响决策?
欧元跟黄金的市场现象是什么?这种现象如何影响投资者的决策?
澳门大三巴牌坊拍照攻略及周边景点游览指南
成年人心跳范围:正常值、影响因素及预防措施
绍兴00后学生靠这招赚大钱,3个月创收40多万
父母最大的愚蠢:在这几个方面,“耗尽”子女的福分
内蒙古巴彦淖尔:黄柿子火锅走红全国,带动当地产业发展
图片降低分辨率:优化网页加载速度与质量平衡的艺术