树莓派4全方位指南:从选购到LED控制
1. 树莓派4选购建议
树莓派4现有三款型号,区别仅在于内存大小。以下是不同型号的特点和适用场景:
| 型号 | 内存 | 价格 | 适用场景 |
| — | — | — | — |
| 入门级 | 2GB | $35 | 适用于大多数项目,如机器人、复古街机等 |
| 中级 | 4GB | $55 | 若将树莓派4用作桌面电脑,该型号更合适 |
| 高级 | 8GB | $75 | 随着更多应用程序的推出,该型号的实用性会更高,是未来保障的不错选择 |
官方的树莓派操作系统(原Raspbian)内存效率很高,即使打开大量浏览器标签、播放视频和运行多个应用程序,也很难超过4GB内存。但如果预算允许,多花20美元选择8GB型号是个不错的未来保障方案。
2. 是否需要树莓派4外壳
树莓派4尺寸为3.5 x 2.3 x 0.76英寸(88 x 58 x 19.5毫米),重0.1磅(46克),轻薄便携,电路板也比较耐用。不过,如果经常移动它,建议使用外壳,特别是为了保护引脚。
选择外壳时,要确保是为树莓派4设计的(早期型号的外壳不适用),推荐选择能让GPIO引脚可访问的外壳。
3. 树莓派4的端口
树莓派4的端口丰富,具体如下:
-
右侧
:有四个USB Type - A接口,其中两个是USB 3.0,还有一个全尺寸的千兆以太网端口,用于有线连接。
-
底部边缘
:有一个3.5毫米音频插孔、两个微型HDMI端口和一个USB Type - C充电端口。
-
左侧
:是微型SD卡读卡器。
-
顶部表面
:有用于相机串行接口(CSI)和显示串行接口(DSI)的带状连接器,可连接树莓派的相机和显示器或兼容配件。
CSI端口用途广泛,例如可以将树莓派相机用作PC网络摄像头或运动警报安全摄像头。当然,也可以将相机连接到USB端口,还有其他常见的输出到屏幕的方式,如微型HDMI端口。
也许任何树莓派最重要的接口是其GPIO引脚,通过这些引脚可以连接到灯光、电机、传感器和大量的HATs(扩展板)。
4. 树莓派4的电源适配器
树莓派4需要一个能通过USB Type - C电缆提供至少3安培和5伏特的电源。官方的树莓派4电源供应器约10美元,但任何满足这些最低标准并通过USB - C输出的手机或笔记本电脑充电器都可以使用,也可以使用为手机充电的USB PD移动电源为树莓派4供电。
根据PC的供电能力,也可以从其USB - C端口为树莓派4供电,但屏幕右上角可能会出现闪电图标,表示电路板正在以降低的功率运行。
需要注意的是,树莓派4没有电源开关,默认的开机方式是直接插入电源,关机时要先关闭操作系统,然后拔下电缆。此外,之前版本的树莓派使用微型USB连接器供电,功率为5伏特、2.5安培(或更低),所以树莓派3的电源适配器不能用于树莓派4。
5. 使用GPIOZero控制LED
5.1 LED基础知识
LED是一种极化组件,其两个引脚标有极性符号(+或 - ),长度也不同,这有助于正确识别它们:
- 最长的引脚称为阳极,对应 + 号。
- 较短的引脚称为阴极,对应 - 号。
要让LED亮起,需要将阳极连接到电池或电源的 + 端子,将阴极连接到电池的 - 端子或电路的接地端。
5.2 LED类
在GPIOZero库中,LED属于输出设备类,其构造函数的语法如下:
LED(pin,
active_high=True,
initial_value=False,
pin_factory=None)
参数说明:
-
pin
:必需的整数类型参数,表示LED连接的BCM编号引脚。
-
active_high
:可选的布尔类型参数,默认值为True,决定LED如何连接到GPIO引脚。
-
initial_value
:可选的布尔类型参数,默认值为False,表示LED的初始照明状态(默认关闭)。
-
pin_factory
:仅用于高级用途的可选参数,允许指定与GPIOZero提供的不同的GPIO引脚工厂。
LED类的主要方法如下:
-
on()
:打开LED。
-
off()
:关闭LED。
-
toggle()
:反转LED的照明状态。
-
blink(on_time = 1, off_time = 1, n = None, background = True)
:使LED重复闪烁。
-
on_time
:可选的浮点类型参数,默认值为1,表示LED亮起的秒数。
-
off_time
:可选的浮点类型参数,默认值为1,表示LED熄灭的秒数。
-
n
:可选的整数类型参数,默认值为None,表示LED闪烁的次数(默认无限闪烁)。
-
background
:可选的布尔类型参数,默认值为True,表示该方法是否立即返回主流程(默认立即返回)。
LED类的主要属性是
is_lit
,布尔类型,表示LED的照明状态(亮起为True,熄灭为False)。
5.3 所需材料
制作控制LED的电路需要以下组件和材料:
- 1个树莓派
- 1个面包板
- 1个3或5毫米的红色LED
- 1个220欧姆电阻
- 2根彩虹线
5.4 电路连接
在编写Python代码之前,需要组装连接LED到树莓派的电路,具体连接步骤如下:
1. 用一根线(颜色不重要)将LED的阴极连接到树莓派的接地引脚(物理引脚编号6)。
2. 将LED的阳极连接到220欧姆电阻的引脚。
3. 将电阻的自由引脚连接到树莓派的GPIO 24(物理引脚编号18)。
5.5 限流电阻
LED通过一个220欧姆的电阻连接到树莓派,这个电阻称为限流电阻,其作用是限制通过树莓派引脚和LED的电流,防止LED“烧坏”,更重要的是避免对连接到GPIO引脚的树莓派电路造成可能的损坏。
限流电阻的大小根据以下公式计算:
Limiting resistor value = (Vin – Vfled ) / Iled
其中:
- Vin:LED的供电电压,这里是3.3V。
- Vfled:LED的特定正向电压,红色LED约为1.8V。
- Iled:通过LED的电流。
在我们的示例中,计算得到的限流电阻值为250欧姆,但市面上没有250欧姆的商用电阻,可安全使用220欧姆电阻,此时LED和树莓派的电流约为6.8毫安(远低于16毫安的最大值)。
5.6 编写控制代码
现在LED已正确连接到树莓派,接下来编写控制代码,步骤如下:
1. 打开Raspbian上可用的Thonny编辑器(也可以使用其他编辑器,但Thonny已集成在Raspbian中,可直接从编辑器执行Python程序)。
2. 编写代码:
from GPIOZero import LED
from time import sleep
print("Init Led")
led = LED(24)
print("Start blinking Led")
while True:
print("Turn on Led")
led.on()
sleep(1)
print("Turn off Led")
led.off()
sleep(1)
代码解释:
- 第1行:导入用于控制连接到树莓派的LED的LED类。
- 第2行:导入
sleep
方法,用于暂停指定时间。
- 第4行:在Thonny控制台/外壳中打印“Led初始化”。
- 第5行:创建一个LED对象,连接到GPIO 24并赋值给
led
。
- 第7行:在Thonny控制台/外壳中打印“开始闪烁Led”。
- 第8行:开始一个无限循环。
- 第10行:使用
on()
方法打开LED。
- 第11行:使用
sleep
方法暂停1秒。
- 第13行:使用
off()
方法关闭LED。
- 第14行:使用
sleep
方法暂停1秒。
- 按下Thonny图标栏中的绿色运行按钮,Thonny会提示指定文件名并保存,输入有效文件名后按保存按钮。如果一切操作正确,Thonny将执行LED闪烁程序。
通过以上步骤,我们完成了从树莓派4的选购、端口了解到使用GPIOZero库控制LED闪烁的整个过程。后续还可以进一步探索更多控制LED的代码示例和GPIOZero库的其他有用方法。
树莓派4全方位指南:从选购到LED控制
6. 常见问题解答
6.1 树莓派4型号选择问题
很多人在选择树莓派4型号时会感到困惑。其实,主要根据使用场景来决定。如果是用于一些简单的项目,如制作小型机器人、复古街机等,2GB内存的入门级型号就足够了,价格只需35美元。要是将其作为桌面电脑使用,4GB内存的型号更合适,售价55美元。而对于追求更高性能和未来应用的用户,8GB内存的型号虽然价格达到75美元,但从长远来看,随着应用程序对内存需求的增加,它会更具实用性。
6.2 外壳使用问题
有人会问是否一定要给树莓派4配备外壳。这取决于使用习惯,如果经常携带树莓派4到处移动,为了保护引脚和电路板,建议使用外壳。但如果只是在桌面固定使用,不使用外壳也没问题。在选择外壳时,要注意选择专门为树莓派4设计的,并且最好能让GPIO引脚可访问,方便后续连接其他设备。
6.3 电源供应问题
关于电源适配器,很多人担心兼容性问题。树莓派4需要能通过USB Type - C电缆提供至少3安培和5伏特的电源。官方电源供应器可以满足需求,但价格较高。其实,只要是满足这些标准并通过USB - C输出的手机或笔记本电脑充电器都可以使用,还可以使用USB PD移动电源供电。不过要注意,之前版本的树莓派电源适配器不能用于树莓派4,因为接口和功率要求不同。
6.4 LED控制问题
在使用GPIOZero库控制LED时,可能会遇到一些问题。比如LED不亮,这可能是电路连接错误,要检查LED的阳极和阴极是否正确连接,限流电阻是否安装正确。还有可能是代码编写有误,要仔细检查代码中的引脚编号、方法调用等是否正确。
7. 拓展应用
7.1 多LED控制
前面介绍了单个LED的控制,实际上可以通过GPIOZero库控制多个LED。例如,要控制两个LED交替闪烁,可以按照以下步骤操作:
1.
准备材料
:除了原来的树莓派、面包板、电阻和线,再增加一个LED。
2.
电路连接
:将新的LED按照同样的方式连接到树莓派的另一个GPIO引脚,比如GPIO 25(物理引脚编号22)。
3.
编写代码
:
from GPIOZero import LED
from time import sleep
led1 = LED(24)
led2 = LED(25)
print("Start alternating blinking")
while True:
led1.on()
led2.off()
sleep(1)
led1.off()
led2.on()
sleep(1)
7.2 结合传感器控制LED
可以将传感器与LED结合,实现更智能的控制。例如,使用一个光线传感器,当光线较暗时点亮LED。
1.
准备材料
:树莓派、面包板、LED、限流电阻、光线传感器。
2.
电路连接
:将光线传感器连接到树莓派的一个GPIO引脚,LED连接到另一个GPIO引脚。
3.
编写代码
:
from GPIOZero import LED, LightSensor
from time import sleep
led = LED(24)
sensor = LightSensor(25)
while True:
if sensor.value < 0.5: # 光线较暗
led.on()
else:
led.off()
sleep(0.1)
8. 总结
通过本文,我们全面了解了树莓派4的选购、端口、电源等基础知识,以及如何使用GPIOZero库控制LED。以下是一个简单的总结表格:
| 方面 | 要点 |
| — | — |
| 选购 | 根据使用场景选择不同内存型号的树莓派4 |
| 外壳 | 移动使用建议配备外壳,选择适配且GPIO可访问的 |
| 电源 | 需满足3安培和5伏特,USB Type - C接口 |
| LED控制 | 了解LED特性,使用GPIOZero库编写代码控制 |
同时,我们还探讨了一些拓展应用,如多LED控制和结合传感器控制LED。希望这些内容能帮助你更好地使用树莓派4,开启更多有趣的项目。
下面是一个简单的mermaid流程图,展示了使用树莓派4控制LED的基本流程:
graph LR
A[选择树莓派4型号] --> B[准备材料]
B --> C[连接电路]
C --> D[编写控制代码]
D --> E[运行代码]
E --> F{LED是否正常闪烁}
F -- 是 --> G[完成]
F -- 否 --> H[检查电路和代码]
H --> C
通过这个流程图,我们可以清晰地看到从选择树莓派4到最终实现LED闪烁的整个过程。如果在过程中遇到问题,可以按照流程逐步排查。
超级会员免费看
2859

被折叠的 条评论
为什么被折叠?



