扫码加入

  • 正文
  • 相关推荐
申请入驻 产业图谱

这些元件用错真的会烧板子!树莓派GPIO基础知识:你需要了解的组件!

01/26 10:45
261
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

当你第一次将几根电线插入树莓派GPIO引脚,就会感觉就像魔法一样——你会意识到自己完全不知道发生了什么。电阻是什么?为什么那个LED烧坏了?别担心,我们都经历过这样的阶段。如果你曾想搭建简单电路,但在面对面包板和色环电阻时感到迷茫,那么这篇指南就是为你准备的。

树莓派GPIO项目使用的典型组件包括面包板、电阻、LED灯、按钮开关二极管晶体管。每个组件在控制电流、处理输入或输出以及保护电路板免受损坏方面都发挥着特定作用。

在本指南中,我们将介绍这些部件的作用、外观以及如何安全地与树莓派配合使用。你将看到实际示例、接线技巧以及需要避免的常见错误;完成本指南后,你将拥有搭建电路所需的一切知识。

基础理解

在深入探讨不同类型的组件之前,我们需要先了解一些基础知识。别担心,我不会太多深入技术细节。我们只需要理解一些基本概念。

如果你已经熟悉这些主题,可以跳过这些部分。

GPIOs

首先,我们需要了解GPIO是什么。

GPIO是通用输入输出(General Purpose Input Output)的缩写。GPIO是树莓派上的一组引脚(共40个),可用于与外部组件进行电气通信/接口连接。

GPIO支持多种不同的通信协议,而且大多数引脚都有特定的次要功能。

你可以阅读我们的树莓派GPIO指南以获得更深入的理解。

https://raspberrytips.com/raspberry-pi-gpio-pinout/

目前,你只需要理解每个GPIO都是一个二进制位;它可以是1或0(高电平或低电平)。当特定GPIO设置为1(高电平)时,该引脚上的电压为3.3V;当设置为0(低电平)时,电压为0V或Gnd。

此外,每个GPIO都可以通过软件配置为输入或输出。

输出:软件将引脚设置为高电平或低电平,并在该引脚上施加相应的电压(3.3V或0V);外部组件可以与该电压交互。

输入:外部组件/电路向引脚施加电压,软件读取该电压并将其转换为高电平(3.3V)或低电平(0V)。

面包板

接下来,我们需要了解面包板。面包板用于固定和连接不同的组件;它由相互连接的行列孔洞组成。

面包板主要有两个部分:电源轨和终端条。

电源轨由面包板两侧的两列组成。电源轨中每一列的所有孔洞都是相连的。电源轨通常用于将Vcc(3.3V或5V)和Gnd电源分配到电路的其余部分。

按照惯例,Vcc连接到标有红色(+)的列,Gnd连接到标有蓝色(-)的列。然而,这并不是固定规则,你可以根据自己的喜好进行连接。

终端条是放置大多数组件的中心区域。终端条的每一行由中央通道两侧的两组五个相连孔洞组成。

终端条的中央通道非常适合跨接多个集成电路或组件,以防止它们的引脚短路。

如果对于电子学你完全是初学者,想知道连接孔洞的意义是什么,那么在本教程中,你只需要理解在电子学中信号是通过连接性进行通信的就可以了。

这意味着,如果两个组件的引脚相连,那么它们将具有相同的电压电平/信号。这个概念可用于将一个信号(电压电平)从一个组件(源)传输到另一个组件(接收器)。

电源供应

在开始了解组件之前,我们需要理解的最后一个概念是树莓派电源供应。

https://raspberrytips.com/how-to-power-a-raspberry-pi/

树莓派通常由一个墙式适配器供电。这个适配器将你家中的220V或115V交流电转换为USB端的5V直流电。树莓派通过其USB连接器获取这5V电压,然后板载的稳压集成电路将其转换为3.3V供内部使用。

因此,树莓派的GPIO期望高电平信号为3.3V。如果你向任何GPIO施加大于3.3V的电压,可能会永久损坏你的树莓派。

在本指南中,我们可以通过将GPIO的3.3V引脚连接到面包板的红色电源轨,并将GPIO的Gnd引脚连接到蓝色电源轨,从而使用板载稳压器的3.3V作为Vcc,确保我们的树莓派安全。

电阻

控制电流流动。

我们将介绍的第一个组件是电阻。电阻是任何电子电路的基本构建块。电阻限制电流的流动,欧姆定律决定了通过电路的电流大小:I = V/R。

电阻有不同的封装形式。然而,最常见的通孔封装电阻看起来像带有圆形色环编码的长形珠子。

每个电阻都有一个额定电阻值(R),它为电流提供阻力。电阻值可以使用欧姆表或万用表测量,也可以使用色环编码方案手动计算。

电阻的主要功能是限制电流流动,而关键原理(欧姆定律)指出,电阻越大,电流越小。

为了更容易理解,我喜欢将它们比作机械弹簧。当对弹簧(电阻)施加力(电压)时,它会根据弹簧的刚度(电阻)拉伸到特定的变形程度(电流)。

这个类比也有助于理解涉及电阻的更复杂电路。

电阻很少单独作为组件使用。大多数时候,它们与其他元件串联连接,以限制通过它们的电流。

使用电阻的唯一独特电路示例是分压电路

这个电路可以降低电压。例如,我们可以使用这个电路连接一个产生5V或更高电压的组件/传感器,并将其降低到3.3V以供树莓派的GPIO使用。

我们必须仔细计算特定输入到输出电压比的电阻值。分压电路的一般公式为:输出电压 = R1/(R1 + R2) × 输入电压

一个有趣的思想实验:尝试使用我们之前使用的弹簧类比来想象分压电路。

电阻是任何电路的基本构建块,在本指南中,我们将继续看到电阻与其他组件一起使用的示例。

LEDs

点亮它。

接下来,我们将讨论LED灯。LED灯是任何电子电路中使用的主要输出。LED灯可以处于两种状态:点亮(高电平)或不亮(低电平)。

LED灯看起来像底部有两个引脚伸出的小灯泡。每个LED灯都有两个引脚,长的引脚(阳极或正极)和短的引脚(阴极或负极)。它们有多种颜色。

当以正确的极性向LED灯的两端施加电压时,LED灯会点亮。正确的极性意味着将LED灯的长引脚连接到正电压,如3.3V,短引脚连接到Gnd。

LED灯的亮度取决于其颜色和通过它的电流。正如我们之前所了解的,电阻可以用于限制和控制电流流动。因此,我们也可以使用电阻来限制通过LED灯的电流。

你可以尝试使用不同阻值的电阻,并观察LED灯的亮度如何变化。然后,你可以选择一个适合你的电阻值。

要使用树莓派控制这个简单的LED灯和电阻电路,请将其连接到一个GPIO引脚,然后使用GPIO Zero库(Python)将该引脚设置为高电平或低电平。

如果你不确定如何为此编写Python程序,请参阅使用GPIO Zero库对GPIO进行编程的教程。

https://raspberrytips.com/gpio-zero-guide-raspberry-pi/

或者,如果你想使用C++进行编程,可以遵循在树莓派上使用C++控制GPIO的教程。

https://raspberrytips.com/control-gpio-with-c-on-raspberry-pi/

LED灯是电子电路与我们通信的主要方式。例如,树莓派通过其板载LED灯报告其启动状态。它是你应该知道如何与树莓派一起使用的基本电子组件之一。

按钮开关

向树莓派输入信息。

在了解了如何让树莓派与我们通信之后,下一步是学习如何与它通信。这可以通过按钮开关来实现。

按钮开关有多种尺寸和形状。最常见的包括拨动开关、按钮开关和 toggle 开关。

记得我们讨论面包板时,提到在电子学中,一切都是通过连接性进行通信的。开关基本上控制这种连接性。

开关有两种状态:开和关。当开关闭合时,它的两个触点、引脚或腿处于连续状态,反之亦然。

使用开关的最简单方法是将它的一个引脚连接到高电平信号(Vcc或3.3V),另一个引脚连接到树莓派的GPIO。此外,连接到GPIO的第二个引脚还应通过一个电阻连接到Gnd。

这样,当按钮处于闭合状态时,3.3V将通过电阻施加,将GPIO拉至高电平状态。然而,当按钮断开时,GPIO将被拉低至Gnd(低电平)。这种配置通常称为下拉配置。

你也可以通过将开关的第一个引脚连接到Gnd,另一个引脚连接到GPIO,并使用一个上拉电阻连接到3.3V来反转这种配置。这种配置通常称为上拉配置。

然而,下拉配置更直观,因为闭合状态对应于高电平状态,反之亦然。在上拉配置中,情况则相反。

现在,你可以使用GPIO Zero库编写一个Python程序,从连接到按钮的引脚读取输入。

按钮开关也有更高级的封装形式,有些提供多极。例如,具有多种状态和连接的开关,而不仅仅是开和关。

如果你计划搭建电子电路,按钮开关是向树莓派提供输入的主要且最常用的方法。想想看,我们每天使用的键盘和鼠标实际上只是花哨的按钮而已。

二极管

保护电路免受反向电压影响。

下一个组件——二极管——有点难以理解。二极管和电阻一样,是所有高级电子电路的支柱。实际上,我们上面研究的LED灯就是发光二极管

二极管的封装与电阻相似。然而,与电阻不同,它们没有彩色的圆形色环。二极管只有一个色环,表示其极性。

二极管类似于流量控制阀,因为它们只允许电流在一个方向上流动,即从阳极流向阴极(带有小银色色环的一侧)。

二极管很少作为独立组件使用。它们用于复杂电路中以控制电流流动。

与树莓派一起使用二极管的一个简单示例是将二极管连接到GPIO,以保护它们免受反向电流流动或错误电源连接的影响。

当使用任何感性负载(如电机)时,这种保护是常规做法,因为当电机的磁场崩溃时,反向电流可能会流动,损坏你的GPIO引脚。然而,当负载是简单的LED灯时,则不需要这种保护。

通常,电机不会像上面所示那样直接连接到树莓派的GPIO引脚。该电路仅用于演示以理解二极管的目的。

二极管是所有电子电路的支柱。所有复杂电子设备通常被归类为半导体是有原因的——二极管正是由这种材料制成的。

尽管它们不作为独立配置使用,但在下一节中,我们将看到一种将它们与晶体管结合使用的配置,以安全地控制模拟或感性负载。

晶体管

作为电子开关使用。

本指南中要讨论的最后一个组件是晶体管。

对我之前说的话稍作更正,实际上,晶体管是所有高级电子电路的支柱。但之前的说法也不错,因为晶体管本身就是二极管的组合。

晶体管是一个三引脚组件。这三个引脚分别称为集电极、发射极和基极。它们有各种尺寸和形状。然而,两种最常见的封装类型是TO-92和TO-220。

晶体管的确切引脚排列因封装类型和制造商而异。确定引脚排列的最佳方法是读取集成电路的部件编号并查找其数据表。

此外,晶体管有两种配置:NPN和PNP。

我们不会深入探讨晶体管能做的所有事情,因为那对于本指南来说太复杂了。在本指南中,我们只将看到NPN晶体管如何用作开关。

你知道吗,晶体管的一个关键特性是,当电流流过其基极和发射极时,集电极和发射极之间的阻抗变为零。

这意味着,每当你向晶体管的基极引脚施加高电平(3.3V或5V)电压,并且集电极被拉低(Gnd)时,发射极和集电极之间的连接就变得连续(就像我们按下开关一样)。

利用晶体管的这一特性,我们可以解决树莓派GPIO引脚的一个常见问题:如何驱动需要超过3.3V和/或更高电流的负载。

为此,你可以使用如下所示的电路:

如你所见,我们可以使用树莓派GPIO的3.3V电压并将其施加到晶体管的基极以启用其开关功能,从而为电机完成电路。

另外,请注意我们如何巧妙地放置二极管以保护电路免受电机反电动势的影响。

这个电路不仅限于驱动电机;你可以使用晶体管作为数字控制开关来驱动树莓派3.3V GPIO无法直接驱动的负载。

总的来说,晶体管是有用的组件,可以执行广泛的任务。然而,在与树莓派接口时最常见的用例是将其用作开关,以连接在不同电压水平下工作的设备。

进阶学习

现在你已经了解了每个基本组件的作用,是时候开始将它们组合起来构建一些有用的东西了。这就像在学习造句之前先学习单词一样 — 电阻、LED灯、按钮、二极管和晶体管是你的构建块,它们一起可以创建完整的电路。

一个适合初学者的好例子是搭建一个简单的电机控制电路。你可以使用按钮作为输入,晶体管作为电子开关,二极管用于保护,当然,还有电阻来限制流入晶体管基极的电流。

当你按下按钮时,晶体管激活,电流流过电机,电机旋转。当你释放按钮时,二极管安全地处理来自电机线圈的反向电流。

你可以使用以下Python代码来启用这个电路,或者编写自己的代码:

from gpiozero import LED, Button, OutputDevicefrom signal import pause# Pin configurationled = LED(16)             # LED connected to GPIO 16button = Button(12)       # Button connected to GPIO 12 (pulled down)motor = OutputDevice(18)  # Motor (via transistor) controlled by GPIO 18# Define behaviordef start_motor():    led.on()    motor.on()    print("Button pressed: Motor and LED ON")def stop_motor():    led.off()    motor.off()    print("Button released: Motor and LED OFF")# Link button actionsbutton.when_pressed = start_motorbutton.when_released = stop_motorprint("System ready. Press the button to turn on the motor and LED.")pause()

只需几个部件和一小段Python程序,你就创建了一个能够接收输入、执行动作并保护自己免受损坏的工作系统。

一旦你对这些基础知识感到自信,你就可以继续使用预制模块和传感器。这些通常包含你刚刚学到的相同部件——电阻、晶体管和二极管——包装整齐,并带有连接器和控制电路。

它们使你更容易为树莓派项目添加运动检测、温度感应或声音输入等功能。如果你对传感器感到好奇,请查看我们关于使用树莓派传感器的专用指南,以获取更多创意和逐步示例。

https://raspberrytips.com/raspberry-pi-sensors-projects/

到现在为止,你已经了解了每个基本电子组件的工作原理以及如何安全地与树莓派一起使用它们。有了这些构建块,你可以自信地开始实验、组合部件,并在未来的项目中探索更高级的电路和传感器。

 

官方网站:https://edatec.cn/zh/cm0

淘宝店铺:https://edatec.taobao.com/

相关推荐