物理编程改变世界


当人们想到「编程」时,通常很自然地想到软件。然而,编程不仅仅是和软件有关,它还可以通过硬件编程影响现实物理世界。这也是所谓的物理计算。顾名思义,物理计算就是用你的程序控制现实世界中的事物——硬件,而不是软件。

当你在你的洗衣机上设置程序,改变你的可编程恒温器上的温度,或按下一个按钮交通信号灯安 全过马路,你是使用物理计算。

这些设备通常是由单片机控制的,你也可以通过树莓派 Pico 来实现对硬件的编程。

树莓派 Pico 的引脚

Pico 通过其边缘一系列的引脚与硬件通信。这些引脚大多是作为通用输入/输出(GPIO)引 脚工作,这意味着它们可以被编程作为输入或输出,并没有自己的固定用途。有些引脚有额 外的功能和与更复杂的硬件通信的模式,另一些则有一个固定的目的,比如供电和提供连 接的功能。

树莓派 Pico 的 40 个引脚被标记在板的底部,3 个也在板的顶部被标记有他们的数字:Pin 1, Pin 2, Pin 39。这些标签帮助你记住编号是如何排序的:引脚 1 是在左上方,当你从上面看板与 microUSB 端口到上面的一边,引脚 19、20 在左下角,引脚 21、22 在右下角,引脚 39 的右上方与未标记的引脚 40 在右上角。

比起使用物理引脚的序号,更常见的是根据其在引脚拥有的功能来使用的。下面有几个类别的 Pin 类型,每一个都有一个特定的功能:

3V3 3.3V 电源 3.3 V的电源,与Pico内部运行的电压相同,由VSYS输入产生。可以使用上面的 3V3_EN引脚打开和关闭这个电源,它也 会关闭您的Pico。
VSYS ~2-5V 电源 一个直接连接到Pico内部电源的引脚,如果没有将Pico关闭,就不能将其关闭。
VBUS 5V 电源 从你的Pico的micro USB端口获取的5 V电 源,用于为需要3.3 V以上的硬件供电。
GND 0V接地 一种接地连接,用于完成电路与电源的连接。几个这样的引脚点缀在您的Pico上,使布线更容易。
GPxx 通用输入/输出 引脚编号“xx” 你的程序可以使用的GPIO引脚,标记为 GP0到GP28。
GPxx_ADCx 通用输入/输出引脚号码xx 模拟输入号码x 以ADC和数字结尾的GPIO引脚既可以用作模拟输入,也可以用作数字输入或输出,但不能同时用作两者。
ADC_VREF 模数转换器参考电压 为任何模拟输入设置参考电压的一种特殊输入引脚。
AGND 模数转换器 0V 参考电压 一种特殊的接地方式 ADC_VREF引脚。
RUN 启用或禁用您的Pico 其他微控制器可以通过排针

几个 GPIO 引脚有额外的功能,你将在本站后面的系列教程中了解到。

小贴士:
1、引脚 GP0。就像在 Python 中计数一样,你的 Pico 的 GPIO 引脚从数字 0 开始而不是数字 1。标记在板的底部,它们从 0 到 29,尽管有些没有引出作为物理引脚。

2、缺失的引脚。Pico 上的通用输入/输出引脚基于其主控芯片(RP2040 微控制器)的引脚进行编号。然而,并不是 RP2040 上所有可用的引脚都被带到 Pico 上,这就是为什么在最后一个基本通用引脚 GP22 和第一个可模拟引脚 GP26_ADC0 之间的编号存在差距的原因。

3、警告,Pico 的引脚被设计成一种有趣且安全的物理计算实验方式,但始终要小心对待。注意不要把 Pico 的两个引脚意外或故意直接连接在一起,否则会引起短路,可能会使 Pico 报废。

电子元件

面包板,也称为无焊料面包板,可以使物理计算项目变得容易得多。面包板不是一堆需要用电线连 接的独立组件,而是让你插入组件并通过隐藏在表面下的金属轨道将它们连接起来。许多电路板还 包括电源分配的部分,使你更容易建立电路。

跳线,也被称为跳线引线或杜邦线。它们有三个版本:公对母线(M2F)、母对母线(F2F)。如果您不使用面包板,可以使用它将单个组件连接到 Pico;以及公对公(M2M),用于将面包板的一部分连接到另一部分。根据您的项目,您可能需要所有三种类型的跳线;如果你使用的是面包板, 你通常可以用 M2F 和 M2M 跳线。

按钮开关,也称为瞬时开关、轻触开关,是用于控制游戏机的开关类型。通常有两条或四条脚可供选择。任何一种类型都可以与 Pico 配合使用。按钮是一种输入设备,你可以告诉程序注意它是否被按 下,然后执行任务。另一种常见的开关类型是锁定开关,而按钮仅在按住按钮时处于活动状 态,而锁定开关(就像在光开关中发现一样)在切换一次按钮时激活,然后保持活动状态,直 到再次切换它。

发光二极管(LED)是输出设备,你可以直接从你的程序控制它。当 LED 灯亮着的时候,你会发 现你的房子里到处都是 LED 灯,从让你知道你的洗衣机开机的小灯到让你的房间亮起来的大灯。

LED 有各种各样的形状、颜色和尺寸,但并非所有 LED 都适合与 Pico 一起使用,避免使用任何表示它们专为 5V 或 12V 电源设计的 LED。

电阻器是控制电流流动的组件,可使用称为欧姆(Ω)的单位进行测量不同的值。欧姆的数 量越大,提供的阻力就越大。对于 Pico 物理计算项目,它们最常见的用途是防止 LED 产生过多的电流并损坏自己或 Pico。为此,你希望电阻器的额定值约为 330Ω。

压电式蜂鸣器,通常被称为蜂鸣器,是另一种输出设备。虽然 LED 能发光,但蜂鸣器却会发出噪音——实际上是嗡嗡声。蜂鸣器的塑料外壳内是一对金属板;当接通电源时,这些平板会相互振动,产生嗡嗡声。

蜂鸣器有两种:主动蜂鸣器(有源蜂鸣器)和被动蜂鸣器(无源蜂鸣器)。确保有一个活跃的蜂鸣器,因为这是最容易使用的。

电位器是一种你可以在音乐播放器上找到音量控制的组件,可以作为两个不同的组件工作。当它的三个引脚中的两个连接起来时,它就充当了可变电阻或压敏电阻,这种电阻可以通过拧旋钮随时调节。当三个引脚适当地 连接起来,它成为一个分压器,并根据旋钮的位置就可以输出从 0V 到全电压输入的任何东西。

无源红外传感器(PIR),旨在探测所监视范围内人体的进入和离开。PIR 传感器通常在 防盗警报器中看到,以发现在黑暗中移动的人。

I2C 显示屏是一个屏幕模块,通过称为集成电路(I2C)总线的特殊通信系统与你的 Pico 进行通信。此总线允许你的 Pico 控制显示屏,发送从文字到图形的所有内容以供其显示。

其他常见的电气组件包括电机,它需要一个特殊的驱动元件才能连接到你的 Pico,电流传感 器可以检测电路使用的功率,跟踪运动和方向的惯性测量单元(IMUs),以及光敏电阻(LDRs),通过检测光而不是发射它像反向 LED 一样运行的输入设备。

你也会发现买一个有多个隔层的储物箱很有用,这样你就可以把你在项目中不用的组件整理完好。如果可以的话,试着找一个同样适合面包板的,这样每次你做完的时候就可以把所有东西都收拾干净。

通过读取电阻上的颜色码获取阻值

电阻器的值范围很广,从零电阻版本(实际上只是几根电线)到发电站使用的脚大小的版本。但 是,很少有电阻器的数值是以数字的形式打印出来的。取而代之的是,电阻器使用一种特殊的代码,即电阻器周围的彩色条纹或条带。


要读取电阻器的值,将其定位为一组带在左边,一个带在右边。从第一个环开始,在表的 1st/2nd Band 列中查找它的颜色,以得到第一个和第二个数字。本例有两个橙色的条带,它们都表示值为 3,总共为 33。

移到第三或第四环。取决于你的电阻在 Multiplier 列中看它的颜色。这告诉你, 你需要用当前数乘以什么数才能得到电阻器的实际值。这个例子有一个棕色的条带,意思是「×10」。橙色带是 33,加上棕色带是 0,得到 330,这是电阻的值,单位是欧姆。

最后一个环,是电阻的容差。这仅仅是它可能有多接近其评级价值。便宜的电阻可能有一个银 带,表明它可以高于或低于其额定值的 10%,或根本没有最后一个带,表明它可以是 20% 的 高或低;最昂贵的电阻有一个灰色带,表明它将在其额定值的 0.05% 之内。对于大多数业余 爱好者的项目来说,准确性并不是最重要的。

如果你的电阻值超过 1000 欧姆(1000Ω),则通常以千欧(kΩ)级,如果它超过一百万欧 姆,那些是兆欧(MΩ)级。2200Ω 电阻器将写成 2.2kΩ,2200000Ω 电阻器将被写成 2.2MΩ。

你还可以:
查看系列教程中的其他文章「树莓派 Pico 上手指南(在 Pico 上使用 MicroPython)」
购买本教程所用到的 Pico 上手套件



坐沙发

发表评论

你的邮件地址不会公开


*