39、树莓派4全方位指南:从选购到LED控制

树莓派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秒。

  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闪烁的整个过程。如果在过程中遇到问题,可以按照流程逐步排查。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值