Python 教程 树莓派#

树莓派的准备#

在开始构建项目之前,你需要首先做一些准备,这是非常重要的,你不能跳过。

一、关于树莓派:#

树莓派是一台卡片电脑,它的官方系统是Raspberry Pi OS,也可以给树莓派安装其它系统,例如:ubuntu,Windows IoT。

可以使用树莓派来做一个个人服务器,路由器,接上摄像头就可以做摄像头监控,摄像头识别,接上麦克风方阵和喇叭就可以做语音交互助手等等。

还有区别于普通电脑的是,树莓派引出了40Pin的针脚可以接各种传感器和控制LED、马达等。这就可以用树莓派来制作机器人了。

二、树莓派安装Raspberry Pi OS系统:#

(一)准备好需要用到的硬件和软件工具:#

1.所需的硬件:

(1)树莓派4B/3B/2B (2)16G以上的TFT内存卡 (3)读卡器 (4)常用的电脑及配件

2.需要在常用电脑上安装的软件工具:

Windows用户:

(1)先安装putty

下载链接:https://www.chiark.greenend.org.uk/~sgtatham/putty/

  1. 下载好了putty驱动文件后,鼠标左键双击putty驱动文件,再点击“Next”。

  1. 点击“Next”。

  1. 选中“Install Putty files”后,再点击“Install”。

  1. 几秒钟之后,安装就完成了,点击“Finish”就可以了。

(2)SSH远程登录软件 WinSCP

下载链接:https://winscp.net/eng/download.php

a.下载好WinSCP软件文件后,鼠标左键双击WinSCP软件文件,再左键点击

b. 点击“Accept”,然后选中对应的选项且点击“Next”,再点击“Install”。

c. 几秒钟之后,安装就完成了,点击“Finish”就可以了。

(3)格式化TFT卡工具 SD Card Formatter

下载链接:

http://www.canadiancontent.net/tech/download/SD_Card_Formatter.html

  1. 将下载好的SDCardFormatterv5_WinEN压缩包解压,鼠标左键双击SD Card Formatter文件,运行此文件。

  1. 点击“Next”,再选择“”并点击“Next”。

  1. 又点击“Next”,然后再点击“Install”。

d. 几秒钟之后,安装就完成了,点击“Finish”就可以了。

(4)烧录镜像系统软件工具 Win32DiskImager

下载链接:https://sourceforge.net/projects/win32diskimager/

  1. 下载好Win32DiskImager软件文件之后,鼠标左键双击Win32DiskImager软件文件,然后点击“Run”。

  1. 选择之后,再点击“Next”。

  1. 点击“Browse…”,选择Win32DiskImager文件安装的位置,再点击“Next”。

  1. 点击“Browse…”选择Win32DiskImager文件安装的位置,再点击“Next”。

  1. 选中后再点击“Next”,然后又点击“Install”。

d. 几秒钟之后,安装就完成了,点击“Finish”就可以了。

(5)扫描查找ip地址软件工具WNetWatcher

下载链接:http://www.nirsoft.net/utils/wnetwatcher.zip

树莓派的镜像系统

最新版本系统下载链接:https://www.raspberrypi.org/downloads/raspberry-pi-os/

旧版本系统下载链接:

本教程使用2020.05.28版本系统:(由于树莓派官方版本升级,可能导致部分系统功能与此教程使用有些冲突,所以我们这里推荐使用本教程版本)

2020.05.28版本系统下载链接:

https://downloads.raspberrypi.org/raspios_full_armhf/images/raspios_full_armhf-2021-05-28/

(二)给树莓派4B安装Raspberry Pi OS系统#

1.TFT内存卡插到读卡器上,读卡器插到电脑的USB端口

2.使用SD Card Formatter软件工具将TFT内存卡格式化,如下图所示:

3.烧录系统:

(1)使用Win32DiskImager 软件,将树莓派官方的系统(Raspberry Pi OS)镜像烧录到TFT内存卡上。

(2)镜像系统烧录完成后,先不要把读卡器拔出,使用记事本新建一个文件命名为SSH,把.txt删掉,然后复制到TFT卡的boot目录下,这样就可以打开SSH登录功能了,如下图所示:

(3)拔出读卡器。

4.登录系统(以下操作要求raspberry与PC电脑在同一局域网内)

(1)将烧录好的TFT内存卡插到树莓派,接好网线,接好电源并打开电源。

如果有屏幕和树莓派的HDMI线,连接好屏幕,就可以看到Raspberry Pi OS系统的开机画面了。

如果没有树莓派的HDMI线,也没事,可以使用软件WinSCP来进行SSH远程登录,也可以使用xrdp登录树莓派系统的桌面。

(2)远程登录

使用WinSCP,通过树莓派系统的默认名称、默认用户名、默认密码,来登录。注意这就要求同一个网络里只能接入一个树莓派。

(3)查看ip地址和mac地址

点击打开终端之后,还需要再次输入密码:raspberry ,再按下键盘 Enter 。

登录成功后,打开终端,输入ip a 后再按下键盘 Enter就可以查看ip和mac地址

从上图圈出来的可以看出,我这块树莓派的mac地址为:a6:32:17:61:9c,ip地址为:192.168.1.128,后面使用xrdp远程登录树莓派系统桌面时使用到ip地址。

mac地址是不会变的,当不确定哪个ip时,可以通过mac地址来确认。

(4)固定树莓派的ip地址

由于ip地址是会变动的,第二天很可能ip地址就不一样了,就需要再次查看ip地址,所以为了更方便使用,需要固定树莓派的ip地址。

操作步骤如下:

切换到root用户

如果还没设置root的用户密码

①设置root密码

终端里输入:sudo passwd root

接着设置密码就可以了

②然后切换到root用户

su root

③固定ip地址的配置文件

先改好下面配置文件的ip

(#更改的ip地址:address 192.168.1.99)

然后将修改好ip的配置文件复制粘贴到终端,回车,就配置好了。

配置文件:

echo -e ’

auto eth0

iface eth0 inet static

#Change IP address

address 192.168.1.99

netmask 255.255.255.0

gateway 192.168.1.1

network 192.168.1.0

broadcast 192.168.1.255

dns-domain 119.29.29.29

dns-nameservers 119.29.29.29

metric 0

mtu 1492

'>/etc/network/interfaces.d/eth0

操作示例图,如下:

④重启系统,使配置文件生效

终端输入重启命令:sudo reboot

这之后就可以使用树莓派的固定ip来登录了。

⑤再次查看ip,确保已经固定好ip地址

(5)无线登录树莓派系统的桌面

如果我们没有连接显示屏的HDMI高清线,能不能在windows桌面上无线登录树莓派系统的桌面呢?是可以的,方法还挺多,目前比较常用的是使用VNC和Xrdp。

现在就教使用Xrdp在windows桌面上无线登录树莓派系统的桌面

①在终端里安装Xrdp服务

安装命令:

切换到root用户 :su root

安装命令 :apt-get install xrdp

根据提示,输入y ,再回车就行。

操作图如下:

②打开Windows的远程桌面连接

按下键盘 WIN+R 然后输入:mstsc.exe

操作图如下:

接着输入树莓派的ip地址,如下图,点击“Connect”后再次点击“Connect”。

192.168.1.99是我上面固定树莓派ip地址的步骤里固定的ip,改为你的树莓派ip就好了。

接着会出现个提示,点击 “Yes”就行了。

接着输入用户名:pi ,默认密码:raspberry,如下图所示:

点击OK或者 Enter键,就会出现树莓派系统Raspberry Pi OS的桌面了,如下图所示:

到这里为止,完成了树莓派系统Raspberry Pi OS的基本配置。

(三)Python控制基础硬件的准备#

python是一门生态非常强大的解释型脚本语言,在人工智能、深度学习、机械学习、爬虫等领域都有丰富的库和资料,运用的很广泛,语法简洁明了,值得我们去学习。

1.树莓派基本配件说明:

树莓派4B:

下面是本学习套件支持的树莓派图片和模型图片,有40个针脚。

树莓派4B实用图片

树莓派4B模型图片

硬件接口如下图:

2.复制示例代码文件夹到树莓派系统文件下:

先把我们已经编写好的示例代码存放到树莓派系统的pi用户文件目录下,只要将我们提供的代码2. 项目课程.zip文件压缩包(默认是ZIP文件)复制粘贴到pi用户下再解压就可以了,如下图操作:

鼠标左键双击2. 项目课程文件夹就可以看到我们编写好的.py文件了。

三、Python准备:#

  1. 更新Micropython固件(重要)

要在树莓派Pico板上运行MicroPython程序,需要先烧入一个固件到树莓派Pico板中。

(1)为什么我们需要更新固件

树莓派Pico可以用C语言和MicroPython语言编程,并且树莓派Pico板出厂时没有MicroPython固件,使用MicroPython编程之前需要下载MicroPython固件。

注意:MicroPython固件只需要下载一次,当使用MicroPython编程时不需要再次下载。如果你已经下载了用C语言编写的 .uf2 程序固件,则MicroPython固件将会被覆盖,那下次你使用MicroPython时,你需要按照以下步骤更新树莓派Pico板的固件。

(2)下载Micropython固件

方法1:点击打开浏览器,进入树莓派Pico的官网:https://www.raspberrypi.com/documentation/microcontrollers/

  1. 单击上面的链接,你可以看到以下界面:

  1. 滚动鼠标,你又可以看到以下内容:

  1. 单击“MicroPython(Getting started MicroPython)”进入固件下载页面。

方法2:点击打开浏览器,通过单击下载链接:https://micropython.org/download/rp2-pico/rp2-pico-latest.uf2 ,可以直接下载固件。

提醒:将下载好的固件文件(rp2-pico-20210902-v1.17.uf2)转移到树莓派镜像系统桌面上。

(3)烧入MicroPython固件的步骤

①连接microUSB线一端到你的树莓派USB口。

②长按“树莓派Pico板”上的白色按钮(BOOTSEL)。然后,通过microUSB线另一端将树莓派Pico板与树莓派连接。

③松开按钮,当连接成功时,你的树莓派的镜像系统会弹出一个对话框,在对话框的Password: 后面输入“raspberry”,点击“OK”后,Raspberry Pi 镜像系统桌面出现可移动磁盘(RPI-RP2)。如下所示:(注意:最新的树莓派镜像系统不会出现如下对话框,旧版的会出现如下对话框)

④在Removable medium is inserted对话框中点击“OK”打开可移动磁盘(RPI-RP2),将树莓派镜像系统桌面上的文件(rp2-pico-20210902-v1.17.uf2)复制到可移动磁盘(RPI-RP2)内,并等待它完成,就像复制文件到U盘一样。

⑤当固件烧入完成后,树莓派Pico板会自动重启。之后,你可以运行Micropython。

(4)串行端口

MicroPython固件配备了一个虚拟USB串口,可通过树莓派Pico板上的microUSB线访问该串口。您的计算机应该注意到这个串行端口并将其列为字符设备,很可能是/dev/ttyACM0。

输入指令ls /dev/tty*,按下Enter键,可以列出所有的串口。可能有很多,但MicroPython的USB串口将以/dev/ttyACM开头。 如果有疑问,请拔下微型USB连接器,看看哪个消失了。如果你没有看到任何东西,你可以尝试重启你的树莓派。

输入以下指令,按下Enter键,安装串口minicom:

sudo apt install minicom

选择Y,继续。

输入以下指令,按下Enter键,打开串口minicom:

minicom -o -D /dev/ttyACM0

按下 Ctrl + B

在终端输入print(“Hello World”),按下Enter键,将看到终端打印Hello World。

  1. 安装Thonny(重要)

Thonny是一个免费、开源的软件平台,体积小,界面简单,操作简单,功能丰富,是一个适合初学者的Python IDE。在本教程中,我们使用这个IDE在整个过程中开发树莓派Pico。Thonny支持多种操作系统,包括Windows, Mac OS, Linux。

  1. 下载Thonny软件

在前面推荐下载的树莓派镜像系统是带有一些常用软件的,其中Thonny也在列:

但是,如果树莓派的镜像系统没有自带Thonny软件的话,就需要手动下载。在终端输入以下指令,再按Enter键来下载安装Thonny:

sudo apt install thonny

Thonny软件安装完成后,打开Thonny,如果是第一次打开的话,需要点击Thonny右上角“Switch to regular mode”来切换模式,点击“OK”后再重新打开Thonny。

(2)语言设置(单击“Run”,选择点击“Select interpreter…”,再点击“General”,选择语言“简体中文”,最后点击“OK”,这样语言设置好了。)

语言设置完,重启Thonny IDE。这样,语言就设置完了,Thonny IDE页面就是中文版了。

(3)Thonny软件连接上MicroPython设备 (Raspberry Pi Pico)

点击Thonny的“工具”→“设置…”。

点击“解释器”,选择“MicroPython (一般)”或“MicroPython (Raspberry Pi Pico)”均可。在这里我们选择“MicroPython(一般)”, 如下所示:(注意:如果树莓派影像系统是最新版本,可以看到“MicroPython (一般)”和“MicroPython (Raspberry Pi Pico)”,则既可以选择“MicroPython (一般)”也可以选择“MicroPython (Raspberry Pi Pico)”)

接着点击“端口”,选好对应的端口,点击“确定”就行,如下图所示:

点击“视图”→“Files”,Thonny软件左侧会出现“此电脑”栏和“MicroPython设备”栏。

Thonny IDE页面上的功能介绍

这样,Thonny软件下载并设置好了。

四、测试代码(重要)

  1. 测试Shell命令

在“Shell”窗口输入“print(Hello World!)”,按“Enter”键。

  1. 在线运行代码:

要在线运行Raspberry Pi Pico,你需要把树莓派Pico板连接到树莓派上。这样就可以使用Thonny软件编译或调试程序。

优点:(1)你可以使用Thonny软件编译或调试程序。

(2)通过“Shell”窗口,你可以查看程序运行过程中产生的错误信息和输出结果,并可以在线查询相关功能信息,帮助改进程序。

缺点:(1)要在线运行树莓派Pico,你必须将树莓派Pico板连接到一台树莓派上并和Thonny软件一起运行。

(2)如果树莓派Pico板与树莓派 断开连接,当它们重新连接时,程序将无法再次运行。

基本操作:

(1)打开Thonny软件,并且单击 “打开…”。

(2)在新弹出的窗口中,点击“此电脑”。

在新的对话框中,进入文件夹home/pi/2.项目教程/项 01:Hello World选中“Project_01_HelloWorld.py”,单击“OK”。

(3)单击“运行当前脚本”来执行程序“Hello World!”, “Welcome keyes” 将打印在“Shell”窗口。

退出在线运行

当在线运行时,单击Thonny软件上的“停止 /重启后端进程”退出程序。

  1. 离线运行代码:

在离线运行时,树莓派 Pico板不需要连接树莓派和Thonny软件。一旦上电,它就可以运行存储在树莓派Pico板中的main.py程序。

优点:不需要连接树莓派 和Thonny软件就可以运行程序。

缺点:出现错误或树莓派Pico板没电时,程序会自动停止,并且代码不容易更改。

基本操作:

一旦上电后,树莓派Pico板会自动检查设备上是否存在main.py。如果有,则运行main.py中的程序,然后进入shell命令系统。(如果你想让代码离线运行,你可以将它保存为main.py); 如果main.py不存在,则直接进入shell命令系统。

(1)单击 “文件”→“新文件” 创建并编写代码。

(2)在新打开的文件中输入代码。这里我们以Project_02_Onboard_LED_flashing.py代码为例。

(3)单击菜单栏上的“保存”, 你可以将代码保存到此电脑或MicroPython设备(Raspberry Pi Pico)。

  1. 选择“MicroPython设备”,在新弹出的窗口中输入“main.py”并单击“OK”。

  1. 你可以看到代码已经被上传到树莓派Pico板中。

(6)断开树莓派Pico板的microUSB线,再重新连接,树莓派Pico板上的LED会反复闪烁。

0.5秒

退出离线运行

连接树莓派Pico板到树莓派,点击Thonny软件上的“停止/重启后端进程”结束离线运行。

如果它不能工作,请点击Thonny软件上的“停止/重启后端进程”多次或重新连接树莓派Pico。

我们提供了一个main.py文件用于离线运行。添加到main.py中的代码是执行用户代码文件的引导程序。你只需要将离线项目的代码文件(.py)上传到“MicroPython设备(Raspberry Pi Pico)”。

①将文件夹2.项目教程提前移动到树莓派系统的home/pi文件夹中,打开Thonny软件。

②在树莓派系统的文件夹目录下home/pi/2. 项目教程中展开项目 00:main,鼠标左键双击main.py,我们提供的main.py可以使“MicroPython设备(Raspberry Pi Pico)”中的代码离线运行。

这里,我们使用项目 00和项目 02案例作为演示。使用Raspberry Pi Pico上的LED(GP25引脚)显示结果。如果你已经修改了Project_02_Onboard_LED_flashing.py文件,那么你需要相应地修改它。如下图所示,鼠标右键单击Project_02_Onboard_LED_flashing.py文件,选择“上载到/“上传代码到 MicroPython设备(Raspberry Pi Pico)。

用同样的方法上传main.py

断开树莓派Pico板的microUSB线并重新连接,树莓派Pico板上的LED将反复闪烁。

0.5秒

注意:

这里的代码是离线运行的。如果你想停止离线运行并且在“Shell”窗口显示对应信息,只需单击Thonny软件上的“停止/重启后端进程”。

五、Thonny常见的操作

上传代码至MicroPython设备(Raspberry Pi Pico)

在项目 01:Hello World文件夹中,鼠标右键单击选中Project_01_HelloWorld.py,选择“上载到/”上传代码到 MicroPython设备(Raspberry Pi Pico)的根目录。

下载代码至树莓派系统中

在“MicroPython设备(Raspberry Pi Pico)”中,鼠标右键单击选中Project_01_HelloWorld.py,选择“下载到/”将代码下载到你的树莓派系统中。

删除MicroPython设备(Raspberry Pi Pico)根目录中的文件

在“MicroPython设备(Raspberry Pi Pico)”中,鼠标右键单击选中Project_01_HelloWorld.py,选择“删除”,从MicroPython设备(Raspberry Pi Pico)根目录中删除Project_01_Hello World.py。

删除树莓派系统的目录中的文件

在项目 01:Hello World文件夹中,鼠标右键单击选中Project_01_HelloWorld.py,选择“移至废纸篓”,即可从项目 01:Hello World文件夹中删除。

创建和保存代码

①单击 “文件”→“新文件” 创建并编写代码。

②在新打开的文件中输入代码。这里我们以Project_02_Onboard_LED_flashing.py代码为例。

③单击菜单栏上的“保存”, 你可以将代码保存到此电脑或MicroPython设备(Raspberry Pi Pico)。

④选择“MicroPython设备”,在新弹出的窗口中输入“main.py”并单击“OK”。

⑤你可以看到代码已经被上传到树莓派Pico板中。

⑥单击“运行当前脚本”,树莓派Pico板上的LED会周期性闪烁。

0.5秒

项目课程#

项目 01: Hello World#

项目介绍:

对于树莓派Pico初学者,我们将从一些简单的东西开始。在这个项目中,你只需要一个树莓派Pico板,USB线和树莓派系统就可以完成“Hello World!”项目。它不仅是树莓派Pico和树莓派系统的通信测试,也是树莓派Pico板的初级项目。

项目元件:

树莓派Pico板*1

USB 线*1

项目接线:

在本项目中,我们通过USB线将树莓派Pico板和树莓派连接起来。连接方法请参照文档:开发环境设置

4.在线运行代码:

要在线运行树莓派Pico,你需要把树莓派Pico板连接到树莓派上。这样就可以使用Thonny软件编译或调试程序。

优点:1. 你们可以使用Thonny软件编译或调试程序。

2. 通过“Shell”窗口,你们可以查看程序运行过程中产生的错误信息和输出结果,并可以在线查询相关功能信息,帮助改进程序。

缺点:1.要在线运行树莓派Pico,你必须将树莓派Pico板连接到一台树莓派上并和Thonny软件一起运行。

2.如果树莓派Pico板与树莓派断开连接,当它们重新连接时,程序将无法再次运行。

基本操作:

1.打开Thonny软件,并且单击“打开…”。

2.在新弹出的窗口中,点击“此电脑”。

在新的对话框中,选中“Project_01_HelloWorld.py”,单击“OK”。本教程中使用的代码保存在“3. Python 教程\2. 树莓派系统\2. 项目课程”中。你可以把代码移到任何地方。例如,我们将“2. 项目课程.ZIP”文件压缩包(默认是ZIP文件)复制粘贴到树莓派系统的文件夹pi中,然后将压缩包解压。路径:home/pi/2. 项目课程。

3.单击“运行当前脚本”来执行程序“Hello World!”, “Welcome keyes” 将打印在“Shell”窗口。

退出在线运行

当在线运行时,单击Thonny软件上的“停止 /重启后端进程”或按Ctrl+C退出程序。

项目 02:板载灯闪烁#

项目介绍:

树莓派Pico板上有个板载LED,这个LED是固定接在树莓派Pico板上的GP25引脚,在这个项目中,我们将来学习使板载LED闪烁的效果。

项目元件:

树莓派Pico板*1

USB 线*1

项目接线:

在本项目中,用USB线将树莓派Pico板和树莓派连起来。连接方法请参照文档:开发环境设置

项目代码:

本项目中使用的代码保存在文件夹“3. Python 教程\2. 树莓派系统\2. 项目课程”中。你可以把代码移到任何地方。例如,我们将代码文件夹保存在树莓派系统的文件夹pi中,路径为home/pi/2. 项目课程。

代码在线运行:

打开“Thonny”软件,点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目 02:板载灯闪烁”。

展开文件夹“项目 02:板载灯闪烁”,鼠标左键双击“Project_02_Onboard_LED_flashing.py”打开它。如下图所示:

|from machine import Pin import time led = Pin(25, Pin.OUT) # 从引脚25创建LED对象,设置引脚25为输出 try: while True: led.value(1) # 设置led开启 time.sleep(0.5) # 延时 0.5s led.value(0) # 设置led 关闭 time.sleep(0.5) # 延时 0.5s except: pass|

确保树莓派Pico板已经连接到树莓派上。单击“停止/启动后端进程”,然后去看看“Shell”窗口将显示什么界面。

单击“运行当前脚本”,代码开始执行,你会看到的现象是:树莓派Pico板的LED开始闪烁。按“Ctrl+C”或单击“停止/启动后端进程”退出程序。

0.5秒

注意:这是在线运行的代码。如果你断开USB线,重新启动“树莓派Pico”,树莓派Pico板上的LED停止闪烁。在Thonny软件“Shell”窗口将显示如下信息:

代码离线运行(上传代码到MicroPython设备(Raspberry Pi Pico)):

确保树莓派Pico板已经连接到树莓派上,单击“停止/启动后端进程”。

如下图所示,鼠标右键单击文件“Project_02_Onboard_LED_flashing.py”,选择“上载到/”上传代码到MicroPython设备(Raspberry Pi Pico)。

用同样的方法上传main.py

断开树莓派Pico板上的USB线并重新连接,树莓派Pico板的LED会反复闪烁。

0.5秒

注意:这里的代码是离线运行的。如果你想停止离线运行并且在“Shell”窗口显示对应信息,只需单击Thonny软件中的“停止/启动后端进程”。

项目 03:外接灯闪烁#

项目介绍:

在这个项目中,我们将向你展示外接LED闪烁效果。我们使用树莓派Pico板的数字引脚打开LED,让它闪烁。

项目元件:

树莓派Pico板*1

树莓派Pico板的扩展板*1

公对母杜邦线若干

USB 线*1

红色LED*1

220Ω电阻*1

面包板*1

元件知识:

(1)LED:

LED是一种被称为“发光二极管”的半导体,是一种由半导体材料(硅、硒、锗等)制成的电子器件。它有正极和负极。短腿为负极,接GND,长腿为正极,接3.3V或5V。

(2)五色环电阻

电阻是电路中限制或调节电流流动的电子元件。左边是电阻器的外观,右边是电阻在电路中表示的符号。电阻®的单位为欧姆(Ω),1 mΩ= 1000 kΩ,1kΩ= 1000Ω。

我们可以使用电阻来保护敏感组件,如LED。电阻的强度(以Ω为单位)用小色环标记在电阻器的主体上。每种颜色代表一个数字,你可以用电阻对照卡查找。

-色带1 – 1st Digit.

-色带 2 – 2nd Digit.

-色带 3 – 3rd Digit.

-色带 4 – Multiplier.

-色带 5 – Tolerance.

在这个套件中,我们提供了3个具有不同电阻值的五色环电阻。这里以3个五色环电阻为例:

220Ω 电阻*10

10KΩ 电阻*10

1KΩ 电阻*10

在相同的电压下,会有更小的电流和更大的电阻。电流(I)、电压(U)、电阻®之间的联系可以用公式表示:I=U/R。在下图中,假如电压为3V,则通过R1的电流: I = U / R = 3 V / 10 KΩ= 0.0003A= 0.3mA。

不要把电阻值很低的电阻直接连接在电源两极,这样会使电流过高而损坏电子元件。电阻是没有正负极之分。

(3)面包板

面包板是实验室中用于搭接电路的重要工具。面包板上有许多孔,可以插入集成电路和电阻等电路元件。熟练掌握面包板的使用方法是提高实验效率,减少实验故障出现几率的重要基础之一。下面就面包板的结构和使用方法做简单介绍。一个典型的面包板如下所示:

面包板的外观和内部结构如上图所示,常见的最小单元面包板分上、中、下三部分,上面和下面部分一般是由一行或两行的插孔构成的窄条,中间部分是由中间一条隔离凹槽和上下各5 行的插孔构成的条。

在面包板的两个窄条分别有两行插孔,两行之间是不连通的,一般是作为电源引入的通路。上方第一行标有“+”的一行有10组插孔(内部都是连通),均为正极;上方第二行标有“-”的一行有10组插孔,(内部都是连通),均为接地。面包板下方的第一行与第二行结构同上。如需用到整个面包板,通常将“+”与“+”用导线连接起来,“-”与“-”用导线连接起来。

中间部分宽条是由中间一条隔离凹槽和上下各5 行的插孔构成。在同一列中的5 个插孔是互相连通的,列和列之间以及凹槽上下部分则是不连通的。外观及结构如下图:

中间部分宽条的连接孔分为上下两部分,是面包板的主工作区,用来插接原件和跳线。在同一列中的5个插孔(即a-b-c-d-e,f-g-h-i-j)是互相连通的;列和列之间以及凹槽上下部分是不连通的。在做实验的时候,通常是使用两窄一宽组成的小单元,在宽条部分搭接电路的主体部分,上面的窄条取一行做电源,下面的窄条取一行做接地。中间宽条用于连接电路,由于凹槽上下是不连通的,所以集成块一般跨插在凹槽上。

(4)keyes 树莓派Pico板的扩展板使用方法

将树莓派Pico板堆叠在扩展板上即可使用,如下图:

(5)电源

在本项目中,用USB线将树莓派Pico板和树莓派连起来。连接方法请参照文档:开发环境设置

项目电路图和接线图:

首先,切断树莓派Pico板的所有电源。然后根据电路图和接线图搭建电路。电路搭建好并验证无误后,用USB线将树莓派Pico板连接到电脑上。注意:避免任何可能的短路(特别是连接3.3V和GND)!

警告:短路可能导致电路中产生大电流,造成元件过热,并对硬件造成永久性损坏。

电路图

接线图

注意: 怎样连接LED 怎样识别五色环220Ω电阻

项目代码:

根据电路图,当树莓派Pico板的GP16输出高电平时,LED点亮;当输出低电平时,LED灯关闭。因此,我们可以通过控制GP16重复输出高低电平,使LED反复闪烁。

本项目中使用的代码保存在文件夹“3. Python 教程\2. 树莓派系统\2. 项目课程”中。你可以把代码移到任何地方。例如,我们将代码文件夹保存在树莓派系统的文件夹pi中,路径为home/pi/2. 项目课程。

代码在线运行:

打开“Thonny”软件,点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目 03:外接灯闪烁”。

展开文件夹“项目 03:外接灯闪烁”,鼠标左键双击“Project_03_External_LED_flashing.py”打开它。如下图所示:

确保树莓派Pico板已经连接到树莓派上。单击“停止/重启后端进程”,然后去看看“Shell”窗口将显示什么界面。

单击“运行当前脚本”,代码开始执行,电路中的LED开始闪烁。按“Ctrl+C”或单击“停止/重启后端进程”退出程序。

0.5秒

注意:这是在线运行的代码。如果断开USB线,重新启动“树莓派Pico”,LED停止闪烁。在Thonny软件的“Shell”窗口将显示如下信息:

代码离线运行(上传代码到MicroPython设备(Raspberry Pi Pico)):

确保树莓派Pico板已经连接到树莓派上,单击“停止/重启后端进程”。

如下图所示,鼠标右键单击文件“Project_03_External_LED_flashing.py”,选择“上载到/”上传代码到MicroPython设备(Raspberry Pi Pico)。

用同样的方法上传main.py

断开树莓派Pico板上的USB线并重新连接,电路中的LED会反复闪烁。

0.5秒

注意:这里的代码是离线运行的。如果你想停止离线运行并且在“Shell”窗口显示对应信息,只需单击Thonny软件中的“停止/重启后端进程”。

项目 04: 呼吸灯#

项目介绍:

在之前的研究中,我们知道LED有亮/灭状态,那么如何进入中间状态呢?如何输出一个中间状态让LED“半亮”?这就是我们将要学习的。呼吸灯,即LED由灭到亮,再由亮到灭,就像“呼吸”一样。那么,如何控制LED的亮度呢?我们将使用树莓派Pico板的PWM来实现这个目标。

项目元件:

树莓派Pico板*1

树莓派Pico板的扩展板*1

公对母杜邦线若干

USB 线*1

红色LED*1

220Ω电阻*1

面包板*1

元件知识:

Analog & Digital

模拟信号在时间和数值上都是连续的信号。相反,数字信号或离散时间信号是由一系列数字组成的时间序列。生活中的大多数信号都是模拟信号。一个熟悉的模拟信号的例子是,全天的温度是如何不断变化的,而不是突然从0到10的瞬间变化。然而,数字信号的值可以瞬间改变。这个变化用数字表示为1和0(二进制代码的基础)。如下图所示,我们可以更容易地看出它们的差异。

在实际应用中,我们经常使用二进制作为数字信号,即一系列的0和1。由于二进制信号只有两个值(0或1),因此具有很大的稳定性和可靠性。最后,可以将模拟信号和数字信号相互转换。

PWM:

脉宽调制(PWM)是一种利用数字信号控制模拟电路的有效方法。普通处理器不能直接输出模拟信号。PWM技术使这种转换(将数字信号转换为模拟信号)非常方便。PWM技术利用数字引脚发送一定频率的方波,即高电平和低电平的输出,交替持续一段时间。每一组高电平和低电平的总时间一般是固定的,称为周期(注:周期的倒数是频率)。高电平输出的时间通常称为脉宽,占空比是脉宽(PW)与波形总周期(T)之比的百分比。高电平输出持续时间越长,占空比越长,模拟信号中相应的电压也就越高。下图显示了对应于脉冲宽度0%-100%的模拟信号电压在0V-3.3V(高电平为3.3V)之间的变化情况.

PWM占空比越长,输出功率越高。既然我们了解了这种关系,我们就可以用PWM来控制LED的亮度或直流电机的速度等等。从上面可以看出,PWM并不是真实的模拟信号,电压的有效值等于相应的模拟信号。因此,我们可以控制LED和其他输出模块的输出功率,以达到不同的效果

树莓派Pico与 PWM

树莓派Pico板有16个PWM通道,每个PWM通道可以独立控制频率和占空比,时钟频率范围为7Hz到125MHz。树莓派Pico板上的每个引脚都可以配置为PWM输出。

项目电路图和接线图:

项目代码:

本项目设计使GP16输出PWM,脉宽由0%逐渐增加到100%,再由100%逐渐减小到0%。

本项目中使用的代码保存在文件夹“3. Python 教程\2. 树莓派系统\2. 项目课程”中。你可以把代码移到任何地方。例如,我们将代码文件夹保存在树莓派系统的文件夹pi中,路径为home/pi/2. 项目课程。

打开“Thonny”软件,点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目 04:呼吸灯”。并鼠标左键双击“Project_04_Breathing_Led.py”。

项目现象:

确保树莓派Pico板已经连接到树莓派上,单击“停止/重启后端进程”。

单击“运行当前脚本”,代码开始执行,你会看到的现象是:电路中的LED从暗逐渐变亮,再从亮逐渐变暗,就像呼吸一样。按“Ctrl+C”或单击“停止/重启后端进程”退出程序。

项目 05:交通灯#

项目介绍:

交通灯在我们的日常生活中很普遍。根据一定的时间规律,交通灯是由红、黄、绿三种颜色组成的。每个人都应该遵守交通规则,这可以避免许多交通事故。在这个项目中,我们将使用树莓派Pico板和一些led(红,黄,绿)来模拟交通灯。

项目元件:

树莓派Pico板*1

树莓派Pico板的扩展板*1

公对母杜邦线若干

红色LED*1

黄色 LED*1

绿色LED*1

USB 线*1

220Ω电阻*3

面包板*1

跳线若干

项目电路图和接线图:

项目代码:

本项目中使用的代码保存在文件夹“3. Python 教程\2. 树莓派系统\2. 项目课程”中。你可以把代码移到任何地方。例如,我们将代码文件夹保存在树莓派系统的文件夹pi中,路径为home/pi/2. 项目课程。

打开“Thonny”软件,点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目05:交通灯”。并鼠标左键双击“Project_05_Traffic_Lights.py”。

项目现象:

确保树莓派Pico板已经连接到树莓派上,单击“停止/重启后端进程”。

单击“运行当前脚本”,代码开始执行,你会看到的现象是:1.首先,绿灯会亮5秒,然后熄灭;2.其次,黄灯会闪烁3次,然后熄灭;3.然后,红灯会亮5秒,然后熄灭;4.继续运行上述1-3个步骤。

按“Ctrl+C”或单击“停止/重启后端进程”退出程序。

项目 06: RGB LED#

项目介绍:

RGB led由三种颜色(红、绿、蓝)组成,通过混合这三种基本颜色可以发出不同的颜色。在这个项目中,我们将向你介绍RGB LED,并向你展示如何使用树莓派Pico板控制RGB LED发出不同的颜色光。即使RGB LED是非常基本的,但这也是一个介绍自己或他人电子和编码基础的伟大方式。

项目元件:

树莓派Pico板*1

树莓派Pico板的扩展板*1

公对母杜邦线若干

RGB LED*1

220Ω电阻*3

面包板*1

USB 线*1

元件知识:

显示器大多遵循RGB颜色标准,电脑屏幕上的所有颜色都是由红、绿、蓝三种颜色以不同比例混合而成。

这个RGB LED有4个引脚,每个颜色(红,绿,蓝)和一个共同的阴极。为了改变RGB led的亮度,我们可以使用树莓派Pico板的PWM引脚。PWM引脚会给RGB led不同占空比的信号以获得不同的颜色。

如果我们使用3个10位PWM来控制RGBLED,理论上我们可以通过不同的组合创建210*210*210= 1,073,741,824(10亿)种颜色。

项目电路图和接线图:

项目代码:

本项目中使用的代码保存在文件夹“3. Python 教程\2. 树莓派系统\2. 项目课程”中。你可以把代码移到任何地方。例如,我们将代码文件夹保存在树莓派系统的文件夹pi中,路径为home/pi/2. 项目课程。

打开“Thonny”软件,点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目06:RGB”。并鼠标左键双击“Project_06_RGB_LED.py”。

项目现象:

确保树莓派Pico板已经连接到树莓派上,单击“停止/重启后端进程”。

单击“运行当前脚本”,代码开始执行,你会看到的现象是:RGB LED开始显示随机颜色。按“Ctrl+C”或单击“停止/重启后端进程”退出程序。

项目 07: 流水灯#

项目介绍:

在日常生活中,我们可以看到许多由不同颜色的led组成的广告牌。他们不断地改变灯光(像流水一样)来吸引顾客的注意。在这个项目中,我们将使用树莓派Pico板控制10个leds实现流水的效果。

项目元件:

树莓派Pico板*1

树莓派Pico板的扩展板*1

公对母杜邦线若干

红色LED*10

220Ω电阻*10

面包板*1

跳线若干

USB 线*1

项目电路图和接线图:

项目代码:

本项目是设计制作一个流水灯。这是这些行动:首先打开LED #1,然后关闭它。然后打开LED #2,然后关闭…并对所有10个LED重复同样的操作,直到最后一个LED关闭。这一过程反复进行,以实现流水的“运动”。

本项目中使用的代码保存在文件夹“3. Python 教程\2. 树莓派系统\2. 项目课程”中。你可以把代码移到任何地方。例如,我们将代码文件夹保存在树莓派系统的文件夹pi中,路径为home/pi/2. 项目课程。

打开“Thonny”软件,点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目 07:流水灯”。并鼠标左键双击“Project_07_Flowing_Water_Light.py”。

项目现象:

确保树莓派Pico板已经连接到树莓派上,单击“停止/重启后端进程”。

单击“运行当前脚本”,代码开始执行,你会看到的现象是:10个LED将从左到右点亮,然后从右到左返回。按“Ctrl+C”或点单击“停止/重启后端进程”退出程序。

项目 08: 一位数码管#

项目介绍:

七段数码管是一种显示十进制数字的电子显示设备,广泛应用于数字时钟、电子仪表、基本计算器和其他显示数字信息的电子设备。甚至我们在电影中看到的炸弹也有七段数码管。也许七段数码管看起来不够现代,但它们是更复杂的点阵显示器的替代品,在有限的光线条件下和强烈的阳光下都很容易使用。在这个项目中,我们将使用树莓派Pico板控制一位数码管显示数字。

项目元件:

树莓派Pico板*1

树莓派Pico板的扩展板*1

公对母杜邦线若干

一位数码管*1

220Ω电阻*8

面包板*1

USB 线*1

元件知识:

一位数码管显示原理:数码管显示是一种半导体发光器件。它的基本单元是一个发光二极管(LED)。数码管显示根据段数可分为7段数码管和8段数码管。8段数码管比7段多一个LED单元(用于小数点显示)。七段LED显示屏的每段是一个单独的LED。根据LED单元接线方式,数码管可分为共阳极数码管和共阴极书案管。

在共阴极7段数码管中,分段LED的所有阴极(或负极)都连接在一起,你应该把共阴极连接到GND,要点亮一个分段LED,你可以将其关联的引脚设置为HIGH。

在共阳极7段数码管中,所有段的LED阳极(正极)都连接在一起,你应该把共阳极连接到+5V。要点亮一个分段LED,你可以将其关联的引脚设置为LOW。

数码管的每个部分由一个LED组成。所以当你使用它的时候,你也需要使用一个限流电阻。否则,LED会被烧坏。在这个实验中,我们使用了一个普通的共阴极一位数码管。正如我们上面提到的,你应该将公共阴极连接到GND。要点亮一个分段LED,你可以将其关联的引脚设置为HIGH。

项目电路图和接线图:

注意:插入面包板的七段数码管方向与接线图一致,右下角多一个点。

项目代码:

数字显示分7段,小数点显示分1段。当显示某些数字时,相应的段将被点亮。例如,当显示数字1时,b和c段将被打开。

本项目中使用的代码保存在文件夹“3. Python 教程\2. 树莓派系统\2. 项目课程”中。你可以把代码移到任何地方。例如,我们将代码文件夹保存在树莓派系统的文件夹pi中,路径为home/pi/2. 项目课程。

打开“Thonny”软件,点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目 08:一位数码管”。并鼠标左键双击“Project_08_One_Digit_Digital_Tube.py”。

项目现象:

确保树莓派Pico板已经连接到树莓派上,单击“停止/重启后端进程”。

单击“运行当前脚本”,代码开始执行,你会看到的现象是:一位数码管将显示从9到0的数字。按“Ctrl+C”或单击“停止/重启后端进程”退出程序。

项目 09:四位数码管#

项目介绍:

四位数码管是一种非常实用的显示器件,电子时钟的显示,球场上的记分员,公园里的人数都是需要的。由于价格低廉,使用方便,越来越多的项目将使用4位数码管。在这个项目中,我们使用树莓派Pico板控制四位数码管来显示数字。

项目元件:

树莓派Pico板*1

树莓派Pico板的扩展板*1

220Ω 电阻*8

四位数码管*1

面包板*1

公对母杜邦线若干

USB 线*1

元件知识:

四位数码管:四位数码管有共阳极和共阴极两种四位数码管,显示原理是和一位数码管是类似的,都是8个GPIO口控制数码管的显示段,就是8个led灯,不过,这里是4位的,所以就还需要4个GPIO口来控制位选择端,就是选择哪个单个数码管亮,位的切换很快,肉眼区分不出来,就能看起来是多个数码管同时显示的了。

我们的四位数码管是共阴极的。

下图为4位数码管的引脚图,G1、G2、G3、G4就是控制位的引脚。

下图为4位数码管内部布线原理图

项目电路图和接线图:

项目代码:

本项目中使用的代码保存在文件夹“3. Python 教程\2. 树莓派系统\2. 项目课程”中。你可以把代码移到任何地方。例如,我们将代码文件夹保存在树莓派系统的文件夹pi中,路径为home/pi/2. 项目课程。

打开“Thonny”软件,点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目 09:四位数码管”。然后鼠标左键双击“Project_09_Four_Digit_Digital_Tube.py”。

项目现象:

确保树莓派Pico板已经连接到树莓派上,单击“停止/重启后端进程”。

单击“运行当前脚本”,代码开始执行,你会看到的现象是:四位数码管显示数字,并在一个无限循环中重复这些动作。按“Ctrl+C”或单击“停止/重启后端进程”退出程序。

项目 10:8×8 点阵显示#

项目介绍:

点阵屏是一种电子数字显示设备,可以显示机器、钟表、公共交通离场指示器和许多其他设备上的信息。在这个项目中,我们将使用树莓派Pico板控制8x8 LED点阵来逐渐点亮点阵。

项目元件:

树莓派Pico板*1

树莓派Pico板的扩展板*1

88点阵屏1

USB 线*1

公对母杜邦线若干

220Ω 电阻*8

面包板*1

元件知识:

8*8LED Matrix:8*8点阵,就是由64个led灯组成,有行共阳极和行共阴极两种,我们的模块是行共阳极的,也就是每一行有一条线将LED的正极连到一起,列就是将LED灯的负极连接到一起,看下图:

项目电路图和接线图:

项目代码:

本项目中使用的代码保存在文件夹“3. Python 教程\2. 树莓派系统\2. 项目课程”中。你可以把代码移到任何地方。例如,我们将代码文件夹保存在树莓派系统的文件夹pi中,路径为home/pi/2. 项目课程。

打开“Thonny”软件,点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目 10:8×8 点阵显示”。然后鼠标左键双击“Project_10_8×8_Dot_Matrix_Display.py”。

项目现象:

确保树莓派Pico板已经连接到树莓派上,单击“停止/重启后端进程”。

单击“运行当前脚本”,代码开始执行,你会看到的现象是:8*8点阵屏显示字符“A”1S、显示字符“B”1S、显示字符“C”1S,然后滚屏显示字符串“Hello World”,反复循环。按“Ctrl+C”或单击“停止/重启后端进程”退出程序。

项目 11:74HC595N 控制 8 个LED#

项目介绍:

在之前的项目中,我们已经学过了怎样点亮一个LED。

树莓派Pico板上只有26个IO端口,我们如何点亮大量的led呢? 有时可能会耗尽树莓派Pico板上的所有引脚,这时候就需要用移位寄存器扩展它。你可以使用74HC595N芯片一次控制8个输出,而只占用你的微控制器上的几个引脚。你还可以将多个寄存器连接在一起,以进一步扩展输出,在这个项目中,我们将使用树莓派Pico板,74HC595芯片和LED制作一个流水灯来了解74HC595芯片的功能。

项目元件:

树莓派Pico板*1

树莓派Pico板的扩展板*1

74HC595N芯片*1

220Ω电阻*8

面包板*1

跳线若干

红色LED*8

USB 线*1

公对母杜邦线若干

元件知识:

74HC595N芯片:简单来说就是具有8 位移位寄存器和一个存储器,以及三态输出功能。移位寄存器和存储器同步于不同的时钟,数据在移位寄存器时钟SCK的上升沿输入,在存储寄存器时钟RCK的上升沿进入的存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。移位寄存器有一个串行移位输入端(SI)和一个用于级联的串行输出端(SQH),8位移位寄存器可以异步复位(低电平复位),存储寄存器有一个8位三态并行的总线输出,当输出使能(OE)被使能(低电平有效)将存储寄存器中输出至74HC595N的引脚(总线)。

引脚说明:

13引脚OE

是一个输出使能引脚,用于确保锁存器的数据是否输入到Q0-Q7引脚。在低电平时,不输出高电平。在本实验中,我们直接连接GND,保持低电平输出数据。

14引脚SI

这是74HC595接收数据的引脚,即串行数据输入端,一次只能输入一位,那么连续输入8次,就可以组成一个字节了。

10引脚SCLR

一个初始化存储寄存器管脚的管脚。在低电平时初始化内部存储寄存器。在这个实验中,我们连接VCC以保持高水平。

11引脚SCK

移位寄存器的时钟引脚,上升沿时,移位寄存器中的数据整体后移,并接收新的数据输入

12引脚RCK

存储寄存器的时钟输入引脚。上升沿时,数据从移位寄存器转存到存储寄存器中。这时数据就从Q0~Q7端口并行输出。

9引脚SQH

引脚是一个串行输出引脚,专门用于芯片级联,接下一个74HC595的SI端

Q0–Q7(15引脚,1-7引脚)

八位并行输出端,可以直接控制数码管的8个段

项目电路图和接线图:

注意:需要注意74HC595N芯片插入的方向

项目代码:

本项目中使用的代码保存在文件夹“3. Python 教程\2. 树莓派系统\2. 项目课程”中。你可以把代码移到任何地方。例如,我们将代码文件夹保存在树莓派系统的文件夹pi中,路径为home/pi/2. 项目课程。

打开“Thonny”软件,点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目 11:74HC595N 控制 8 个LED”。选择“my74HC595.py”,鼠标右键单击选择 “上载到/”,等待“my74HC595.py”被上传到MicroPython设备(Raspberry Pi Pico),然后鼠标左键双击“Project_11_74HC595N_Controls_8_LEDs.py”。

项目现象:

确保树莓派Pico板已经连接到树莓派上,单击“停止/重启后端进程”。

单击“运行当前脚本”,代码开始执行,你会看到的现象是:8个LED开始以流水模式闪烁。按“Ctrl+C”或单击“停止/重启后端进程”退出程序。

项目 12:有源蜂鸣器#

项目介绍:

有源蜂鸣器是一个发声组件。它被广泛用作电脑、打印机、报警器、电子玩具、电话、计时器等的发声元件。它有一个内在的振动源,只需连接5V电源,即可持续发出嗡嗡声。在这个项目中,我们将使用树莓派Pico板控制有源蜂鸣器发出“滴滴”声。

项目元件:

树莓派Pico板*1

树莓派Pico板的扩展板*1

面包板*1

NPN型晶体管(S8050)*1

1kΩ电阻*1

跳线若干

有源蜂鸣器*1

USB 线*1

公对母杜邦线若干

元件知识:

有源蜂鸣器内部有一个简单的振荡器电路,可以将恒定的直流电转换成特定频率的脉冲信号。一旦有源蜂鸣器收到一个高电平,它将产生声音。而无源蜂鸣器是一种内部没有振动源的集成电子蜂鸣器,它必须由2K-5K方波驱动,而不是直流信号。这两个蜂鸣器的外观非常相似,但是一个带有绿色电路板的蜂鸣器是无源蜂鸣器,而另一个带有黑色胶带的是有源蜂鸣器。无源蜂鸣器不能区分正极性而有源极性蜂鸣器是可以。如下所示:

晶体管: 由于蜂鸣器需要很大的电流,ESP32输出能力的GPIO不能满足要求,这里需要一个NPN型晶体管来放大电流。晶体管,全称:半导体晶体管,是一种控制电流的半导体器件。晶体管可以用来放大微弱信号,也可以用作开关。它有三个电极(pin):基极(b),集电极©和发射极(e)。当电流通过“be”之间时,“ce”将允许几倍的电流通过(晶体管放大),此时,晶体管在放大区工作。当“be”之间的电流超过某个值时,“ce”将不再允许电流增加,此时晶体管工作在饱和区。晶体管有两种类型如下所示:PNP和NPN

PNP晶体管 NPN晶体管

在我们的套件中,PNP晶体管标记为8550,NPN晶体管标记为8050。

基于晶体管的特性,它常被用作数字电路中的开关。由于单片机输出电流的能力很弱,我们将使用晶体管来放大电流和驱动大电流的元件。在使用NPN晶体管驱动蜂鸣器时,通常采用以下方法:如果GPIO输出高电平,电流将流过R1,晶体管将传导,蜂鸣器将发出声音。如果GPIO输出低电平,没有电流流过R1,晶体管就不会传导,蜂鸣器也不会响。在使用PNP晶体管驱动蜂鸣器时,通常采用以下方法:如果GPIO输出低电平,电流将流过R1,晶体管将传导,蜂鸣器将发出声音。如果GPIO输出高电平,没有电流流过R1,晶体管就不会传导,蜂鸣器也不会响。

项目电路图和接线图:

注意:1.该电路中蜂鸣器的电源为5V。在3.3V的电源下,蜂鸣器可以工作,但会降低响度。

2.VUSB应连接到USB线的正极,如果它连接到GND,它可能烧坏电脑或树莓派Pico板。同样,树莓派Pico板的36-40引脚接线时也要小心,避免短路。

3.有源蜂鸣器正极(“+”/长引脚)接引脚16,负极(短引脚)接GND。

项目代码:

本项目中使用的代码保存在文件夹“3. Python 教程\2. 树莓派系统\2. 项目课程”中。你可以把代码移到任何地方。例如,我们将代码文件夹保存在树莓派系统的文件夹pi中,路径为home/pi/2. 项目课程。

打开“Thonny”软件,点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目 12:有源蜂鸣器”。并鼠标左键双击“Project_12_Active_Buzzer.py”。

项目现象:

确保树莓派Pico板已经连接到树莓派上,单击“停止/重启后端进程”。

单击“运行当前脚本”,代码开始执行,你会看到的现象是:有源蜂鸣器发出“滴滴”声。按“Ctrl+C”或单击“停止/重启后端进程”退出程序。

项目 13:无源蜂鸣器#

项目介绍:

在之前的项目中,我们研究了有源蜂鸣器,它只能发出一种声音,可能会让你觉得很单调。这个项目将学习另一种蜂鸣器,无源蜂鸣器。与有源蜂鸣器不同,无源蜂鸣器可以发出不同频率的声音。在这个项目中,你将使用树莓派Pico板控制无源蜂鸣器发出警报声。

项目元件:

树莓派Pico板*1

树莓派Pico板的扩展板*1

面包板*1

NPN型晶体管(S8050)*1

1kΩ电阻*1

跳线若干

无源蜂鸣器*1

USB 线*1

公对母杜邦线若干

元件知识:

无源蜂鸣器是一种内部没有振动源的集成电子蜂鸣器。它必须由2K-5K方波驱动,而不是直流信号。这两个蜂鸣器的外观非常相似,但是一个带有绿色电路板的蜂鸣器是无源蜂鸣器,而另一个带有黑色胶带的是有源蜂鸣器。无源蜂鸣器不能区分正极性而有源极性蜂鸣器是可以。

晶体管: 请参考项目12.

项目电路图和接线图:

项目代码:

本项目中使用的代码保存在文件夹“3. Python 教程\2. 树莓派系统\2. 项目课程”中。你可以把代码移到任何地方。例如,我们将代码文件夹保存在树莓派系统的文件夹pi中,路径为home/pi/2. 项目课程。

打开“Thonny”软件,点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目 13:无源蜂鸣器”。并鼠标左键双击“Project_13_Passive_Buzzer.py”。

项目现象:

确保树莓派Pico板已经连接到电脑上,单击“停止/重启后端进程”。

单击“运行当前脚本”,代码开始执行,你会看到的现象是:无源蜂鸣器发出警报声。按“Ctrl+C”或单击“停止/重启后端进程”退出程序。

项目 14: 小台灯#

项目介绍:

你知道树莓派Pico可以在你按下按键的时候点亮LED吗? 在这个项目中,我们将使用树莓派Pico板,一个按键开关和一个LED来制作一个迷你台灯。

项目代码:

树莓派Pico板*1

树莓派Pico板的扩展板*1

按键*1

红色 LED*1

10KΩ电阻*1

面包板*1

220Ω电阻*1

USB 线*1

公对母杜邦线若干

按键帽*1

元件知识:

按键:按键可以控制电路的通断,把按键接入电路中,不按下按键的时候电路是断开的,

一按下按键电路就通啦,但是松开之后就又断了。可是为什么按下才通电呢?这得从按键的内部构造说起。没按下之前,电流从按键的一端过不去另一端;按下的时候,按键内部的金属片把两边连接起来让电流通过。

按键内部结构如图:,未按下按键之前,1、2就是导通的,3、4也是导通的,但是1、3或1、4或2、3或2、4是断开(不通)的;只有按下按键时,1、3或1、4或2、3或2、4才是导通的。

在设计电路时,按键开关是最常用的一种元件。

按键的原理图:

什么是按键抖动?

我们想象的开关电路是“按下按键-立刻导通”“再次按下-立刻断开”,而实际上并非如此。

按键通常采用机械弹性开关,而机械弹性开关在机械触点断开闭合的瞬间(通常 10ms左右),会由于弹性作用产生一系列的抖动,造成按键开关在闭合时不会立刻稳定的接通电路,在断开时也不会瞬时彻底断开。

那又如何消除按键抖动呢?

常用除抖动方法有两种:软件方法和硬件方法。这里重点讲讲方便简单的软件方法。

我们已经知道弹性惯性产生的抖动时间为10ms 左右,用延时命令推迟命令执行的时间就可以达到除抖动的效果。

所以我们在代码中加入了0.02秒的延时以实现按键防抖的功能。

项目电路图和接线图:

注意:

怎样连接LED

怎样识别五色环220Ω电阻和五色环10KΩ电阻

项目代码:

本项目中使用的代码保存在文件夹“3. Python 教程\2. 树莓派系统\2. 项目课程”中。你可以把代码移到任何地方。例如,我们将代码文件夹保存在树莓派系统的文件夹pi中,路径为home/pi/2. 项目课程。

打开“Thonny”软件,点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目 14:小台灯”。并鼠标左键双击“Project_14_Mini_Table_Lamp.py”。

项目现象:

确保树莓派Pico板已经连接到树莓派上,单击“停止/重启后端进程”。

单击“运行当前脚本”,代码开始执行,你会看到的现象是:按下按钮,LED亮起;当按钮松开时,LED仍亮着。再次按下按钮,LED熄灭;当按钮释放时,LED保持关闭。是不是很像个小台灯?按“Ctrl+C”或单击“停止/重启后端进程”退出程序。

项目 15:模拟沙漏#

项目介绍:

古代人没有电子时钟,就发明了沙漏来测时间,沙漏两边的容量比较大,在一边装了细沙,中间有个很小的通道,将沙漏直立,有细沙的一边在上方,由于重力的作用,细沙就会往下流通过通道到沙漏的另一边,当细沙都流到下边了,就倒过来,把一天反复的次数记录下来,第二天就可以通过沙漏反复流动的次数而知道这一天大概的时间了。这一课我们将利用树莓派Pico板控制倾斜开关和LED灯来模拟沙漏,制作一个电子沙漏。

项目元件:

树莓派Pico板*1

树莓派Pico板的扩展板*1

倾斜开关*1

红色 LED*4

面包板*1

220Ω电阻*4

USB 线*1

10KΩ电阻*1

跳线若干

公对母杜邦线若干

元件知识:

倾斜开关也叫数字开关。里面有一个可以滚动的金属球。采用金属球滚动与底部导电板接触的原理来控制电路的通断。当倾斜开关是滚珠型倾斜感应单方向性触发开关,当倾斜传感器向触发端(两根金属脚端)倾斜时,倾斜开关处于闭路状态,模拟端口的电压约为5V(二进制数为1023)。这样,LED会亮起。当倾斜开关在水平位置或向另一端倾斜时,倾斜开关处于开路状态,模拟端口的电压约为0V(0二进制)。LED将会关闭。在程序中,我们根据模拟端口的电压值,是否大于2.5V(512二进制)来判断开关是开还是关。

这里用倾斜开关的内部结构来说明它是如何工作的,显示如下图:

项目电路图和接线图:

注意: 怎样连接LED

怎样识别五色环220Ω电阻和五色环10KΩ电阻

项目代码:

本项目中使用的代码保存在文件夹“3. Python 教程\2. 树莓派系统\2. 项目课程”中。你可以把代码移到任何地方。例如,我们将代码文件夹保存在树莓派系统的文件夹pi中,路径为home/pi/2. 项目课程。

打开“Thonny”软件,点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目 15:模拟沙漏”。并鼠标左键双击“Project_15_Tilt_And_LED.py”。

项目结果:

确保树莓派Pico板已经连接到树莓派上,单击“停止/重启后端进程”。

单击“运行当前脚本”,代码开始执行,你会看到的现象是:将面包板倾斜到一定角度,led就会一个一个地亮起来。当回到上一个角度时,led会一个一个关闭。就像沙漏一样,随着时间的推移,沙子漏了出来。按“Ctrl+C”或单击“停止/重启后端进程”退出程序。

项目 16: I2C 128×32 LCD#

项目介绍:

在生活中,我们可以利用显示器等模块来做各种实验。你也可以DIY各种各样的小物件。例如,用一个温度传感器和显示器做一个温度测试仪,或者用一个超声波模块和显示器做一个距离测试仪。下面,我们将使用LCD_128X32_DOT模块作为显示器,将其连接到树莓派Pico板上。将使用树莓派Pico板控制LCD_128X32_DOT显示屏显示各种英文文字、常用符号和数字。

项目元件:

树莓派Pico板*1

LCD_128X32_DOT*1

树莓派Pico板的扩展板*1

4P 转杜邦线母单*1

USB 线*1

元件知识:

LCD_128X32_DOT:一个像素为128*32的液晶屏模块,它的驱动芯片为ST7567A。模块使用IIC通信方式,同时,代码中包含所有英文字母和常用符号的库,可以直接调用。使用时,我们还可以在代码中设置,让英文字母和符号显示不同文字大小。为了方便设置图案显示,我们还提供一个取模软件,可将特定的图案转化成控制代码,然后直接复制到测试代码中使用的。

LCD_128X32_DOT原理图:

LCD_128X32_DOT技术参数:

显示像素:128*32 字符

芯片工作电压:4.5 ~ 5.5V

工作电流:100mA (5.0V)

模块最佳工作电压:5.0V

项目接线图:

项目代码:

本项目中使用的代码保存在文件夹“3. Python 教程\2. 树莓派系统\2. 项目课程”中。你可以把代码移到任何地方。例如,我们将代码文件夹保存在树莓派系统的文件夹pi中,路径为home/pi/2. 项目课程。

打开“Thonny”软件,点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目 16: I2C 128×32 LCD”。分别选择“lcd128_32.py”和 “lcd128_32_fonts.py”,右键单击鼠标选择 “上载到/”,等待“lcd128_32.py”和“lcd128_32_fonts.py”被上传到MicroPython设备(Raspberry Pi Pico),并鼠标左键双击“Project_16_I2C_128_32_LCD.py”。

项目现象:

确保树莓派Pico板已经连接到树莓派上,单击“停止/重启后端进程”。

单击“运行当前脚本”,代码开始执行,你会看到的现象是:128X32LCD模块显示屏第一行显示“keyes”、第二行显示“ABCDEFGHIJKLMNOPQR”、第三行显示“123456789±*/<>=$@”、第四行显示“%^&(){}:;'|?,.~\[]”。按“Ctrl+C”或单击“停止/重启后端进程”退出程序。

项目 17:小风扇#

项目介绍:

在炎热的夏季,需要电扇来给我们降温,那么在这个项目中,我们将使用树莓派Pico板控制直流电机模块和小扇叶来制作一个小电扇。

项目元件:

树莓派Pico板*1

树莓派Pico板的扩展板*1

跳线若干

S8050三极管*1

二极管*1

面包板*1

USB 线*1

S8550三极管*1

直流电机*1

风扇片*1

公对母杜邦线若干

项目电路图和接线图1:

(这个实验是使用S8050(NPN型三极管)控制电机)

项目代码1:

本项目中使用的代码保存在文件夹“3. Python 教程\1. Windows 系统\2. 项目课程”中。你可以把代码移到任何地方。例如,我们将“2. 项目课程”文件夹保存在Disk(D)中,路径为D:\2. 项目课程。

打开“Thonny”软件,点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目 17:小风扇”。并鼠标左键双击“Project_17.1_ Small_Fan.py”。

项目现象1:

确保树莓派Pico板已经连接到树莓派上,单击“停止/重启后端进程”。

单击“运行当前脚本”,代码开始执行,你会看到的现象是:将小风扇片安装到直流电机上,上电后,可以看到电机转动4秒,停止2秒,以此规律重复执行。按“Ctrl+C”或单击“停止/重启后端进程”退出程序。

项目电路图和接线图2:

(这个实验是使用S8550(PNP型三极管)控制电机)

项目代码2:

本项目中使用的代码保存在文件夹“3. Python 教程\1. Windows 系统\2. 项目课程”中。你可以把代码移到任何地方。例如,我们将“2. 项目课程”文件夹保存在Disk(D)中,路径为D:\2. 项目课程。

打开“Thonny”软件,点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目 17:小风扇”。并鼠标左键双击“Project_17.2_ Small_Fan.py”。

项目现象2:

确保树莓派Pico板已经连接到树莓派上,单击“停止/重启后端进程”。

单击“运行当前脚本”,代码开始执行,你会看到的现象是:将小风扇片安装到直流电机上,上电后,可以看到电机转动4秒,停止2秒,以此规律重复执行。按“Ctrl+C”或单击“停止/重启后端进程”退出程序。

项目 21:调光灯#

项目介绍:

电位器是一个带有滑动或旋转触点的三端电阻器,它形成一个可调的分压器。它的工作原理是在均匀电阻上改变滑动触点的位置。在电位器中,整个输入电压被施加到电阻的整个长度上,输出电压是固定触点和滑动触点之间的电压值。在这个项目中,我们将学习使用树莓派Pico板读取电位器的值,并结合LED制作一个调光灯。

项目元件:

树莓派Pico板*1

树莓派Pico板的扩展板*1

可调电位器*1

红色 LED*1

面包板*1

220Ω电阻*1

公对母杜邦线若干

USB 线*1

元件知识:

可调电位器:可调电位器是电阻和模拟电子元件的一种,具有0和1两种状态(高电平和低电平)。模拟值不同,其数据状态呈现为1

1024等线性状态。

读取电位器的ADC值和电压值:

我们将电位器连接到树莓派Pico板的模拟IO口上来读取电位器的ADC值和电压值。接线请参照以下接线图:

本项目中使用的代码保存在文件夹“3. Python 教程\2. 树莓派系统\2. 项目课程”中。你可以把代码移到任何地方。例如,我们将代码文件夹保存在树莓派系统的文件夹pi中,路径为home/pi/2. 项目课程。

打开“Thonny”软件,点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目 18:调光灯”。并鼠标左键双击“Project_18.1_Read_Potentiometer_Analog_Value.py”。

确保树莓派Pico板已经连接到树莓派上,单击“停止/重启后端进程”。

单击“运行当前脚本”,代码开始执行,你会看到的现象是:Thonny IDE下的“Shell”窗口将打印出电位器的ADC值和电压值,转动电位器手柄时,ADC值和电压值发生变化。按“Ctrl+C”或单击“停止/重启后端进程”退出程序。

调光灯的电路图和接线图:

在前面一步,我们读取了电位器的ADC值和电压值,现在我们需要将电位器的ADC值转换成LED的亮度,来做成一个亮度可调的灯。见如下所示接线图:

项目代码:

本项目中使用的代码保存在文件夹“3. Python 教程\2. 树莓派系统\2. 项目课程”中。你可以把代码移到任何地方。例如,我们将代码文件夹保存在树莓派系统的文件夹pi中,路径为home/pi/2. 项目课程。

打开“Thonny”软件,点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目 18:调光灯”。并鼠标左键双击“Project_18.2_Dimming_Light.py”。

项目现象:

确保树莓派Pico板已经连接到树莓派上,单击“停止/重启后端进程”。

单击“运行当前脚本”,代码开始执行,你会看到的现象是:转动电位器手柄,LED的亮度会相应地改变。按“Ctrl+C”或单击“停止/重启后端进程”退出程序。

项目 19:火焰警报器#

项目介绍:

火灾是一种可怕的灾害,火灾报警系统在房屋,商业建筑和工厂中是非常有用的。在本项目中,我们将使用树莓派Pico板控制火焰传感器,蜂鸣器和LED来模拟火灾报警装置。这是一个有意义的创客活动。

项目元件:

树莓派Pico板*1

树莓派Pico板的扩展板*1

火焰传感器*1

红色 LED*1

有源蜂鸣器*1

面包板*1

220Ω电阻*1

10KΩ电阻*1

跳线若干

USB 线*1

NPN型晶体管(S8050)*1

1kΩ电阻*1

公对母杜邦线若干

元件知识:

火焰会发出一定程度的IR光,这种光人眼是看不到的,但我们的火焰传感器可以检测到它,并提醒微控制器(如树莓派Pico板)已经检测到火灾。它有一个专门设计的红外接收管来探测火焰,然后将火焰亮度转换为波动水平信号。接收三极管的短引脚是负极,另一个长引脚是正极。我们应该连接短引脚(负极)到5V,连接长引脚(正极)到模拟引脚,一个电阻和GND。如下图所示:

注意:火焰传感器应避开日光、汽车头灯、白炽灯直接照射,也不能对着热源(如暖气片、加热器)或空调,以避免环境温度较大的变化而造成误报。同时还易受射频辐射的干扰。

读取火焰传感器模拟值:

我们首先用一个简单的代码来读取火焰传感器的模拟值,并将其打印出来。接线请参照以下接线图:

本项目中使用的代码保存在文件夹“3. Python 教程\2. 树莓派系统\2. 项目课程”中。你可以把代码移到任何地方。例如,我们将代码文件夹保存在树莓派系统的文件夹pi中,路径为home/pi/2. 项目课程。

打开“Thonny”软件,点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目 19:火焰警报器”。并鼠标左键双击“Project_19.1_Read_Analog_Value.py”。

确保树莓派Pico板已经连接到树莓派上,单击“停止/重启后端进程”。

单击“运行当前脚本”,代码开始执行,你会看到的现象是:Thonny IDE下的”Shell”窗口将打印火焰传感器读取的模拟值,当火焰靠近火焰传感器时,模拟值增大;反之,模拟值减小。按“Ctrl+C”或单击“停止/重启后端进程”退出程序。

火焰报警的电路图和接线图:

接下来,我们将使用火焰传感器和蜂鸣器、LED制作一个有趣的项目——火灾报警装置。当火焰传感器检测到火焰时,LED闪烁,蜂鸣器报警。

项目代码:(注意:代码中的阀值500可以根据实际情况自己重新设置)

本项目中使用的代码保存在文件夹“3. Python 教程\2. 树莓派系统\2. 项目课程”中。你可以把代码移到任何地方。例如,我们将代码文件夹保存在树莓派系统的文件夹pi中,路径为home/pi/2. 项目课程。

打开“Thonny”软件,点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目 19:火焰警报器”。并鼠标左键双击“Project_19.2_Flame_Alarm.py”。

项目现象:

确保树莓派Pico板已经连接到树莓派上,单击“停止/重启后端进程”。

单击“运行当前脚本”,代码开始执行,你会看到的现象是:当火焰传感器检测到火焰时,LED闪烁,蜂鸣器报警;否则,LED不亮,蜂鸣器不响。按“Ctrl+C”或单击“停止/重启后端进程”退出程序。

项目 20:小夜灯#

项目介绍:

传感器或元件在我们的日常生活中是无处不在的。例如,一些公共路灯在晚上会自动亮起,而在白天会自动熄灭。为什么呢? 事实上,这些都是利用了一种光敏元件,可以感应外部环境光强度的元件。晚上,当室外亮度降低时,路灯会自动打开;到了白天,路灯会自动关闭。这其中的原理是很简单的,在本实验中我们使用树莓派Pico板控制LED就来实现这个路灯的效果。

项目元件:

树莓派Pico板*1

树莓派Pico板的扩展板*1

光敏电阻*1

红色 LED*1

10KΩ电阻*1

面包板*1

公对母杜邦线若干

跳线若干

USB 线*1

220Ω电阻*1

元件知识:

光敏电阻:是一种感光电阻,其原理是光敏电阻表面上接收亮度(光)降低电阻,光敏电阻的电阻值会随着被探测到的环境光的强弱而变化。有了这个特性,我们可以使用光敏电阻来检测光强。光敏电阻及其电子符号如下:

下面的电路是用来检测光敏电阻电阻值的变化:

在上述电路中,当光敏电阻的电阻因光强的变化而改变时,光敏电阻与电阻R2之间的电压也会发生变化。因此,通过测量这个电压就可以得到光的强度。

读取光敏电阻的模拟值:

我们首先用一个简单的代码来读取光敏电阻模拟值,并将其打印出来。接线请参照以下接线图:

本项目中使用的代码保存在文件夹“3. Python 教程\2. 树莓派系统\2. 项目课程”中。你可以把代码移到任何地方。例如,我们将代码文件夹保存在树莓派系统的文件夹pi中,路径为home/pi/2. 项目课程。

打开“Thonny”软件,点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目 20:小夜灯”。并鼠标左键双击“Project_20.1_Read_Photosensitive_Analog_Value.py”。

确保树莓派Pico板已经连接到树莓派上,单击“停止/重启后端进程”。

单击“运行当前脚本”,代码开始执行,你会看到的现象是:Thonny IDE下的”Shell”窗口将打印光敏电阻读取的模拟值,当逐渐减弱光敏电阻所处环境中的光线强度时,模拟值逐渐增大;反之,模拟值逐渐减小。按“Ctrl+C”或单击“停止/重启后端进程”退出程序。

光控灯的电路图和接线图:

我们在前面做了一个小小的调光灯,现在我们来做一个光控灯。它们的原理是相同的,即通过Raspberry Pi Pico获取传感器的模拟值,然后调节LED的亮度。

项目代码:

本项目中使用的代码保存在文件夹“3. Python 教程\2. 树莓派系统\2. 项目课程”中。你可以把代码移到任何地方。例如,我们将代码文件夹保存在树莓派系统的文件夹pi中,路径为home/pi/2. 项目课程。

打开“Thonny”软件,点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目 20:小夜灯”。并鼠标左键双击“Project_20.2_Night_Lamp.py”。

项目结果:

确保树莓派Pico板已经连接到树莓派上,单击“停止/重启后端进程”。

单击“运行当前脚本”,代码开始执行,你会看到的现象是:当减弱光敏电阻所处环境中的光线强度时,LED变亮,反之,LED变暗。按“Ctrl+C”或单击“停止/重启后端进程”退出程序。

项目 21:温度仪表#

项目介绍:

热敏电阻是一种电阻,其阻值取决于温度和温度的变化,广泛应用于园艺、家庭警报系统等装置中。因此,我们可以利用这一特性来制作温度计。

项目元件:

树莓派Pico板*1

树莓派Pico板的扩展板*1

公对母杜邦线若干

LCD_128X32_DOT*1

面包板*1

热敏电阻*1

4P 转杜邦线母单*1

USB 线*1

10KΩ电阻*1

元件知识:

热敏电阻:热敏电阻是一种温度敏感电阻。当热敏电阻感应到温度的变化时,它的电阻就会发生变化。我们可以利用热敏电阻的这种特性来检测温度强度。热敏电阻及其电子符号如下所示。

热敏电阻的电阻值与温度的关系为:

式中:

Rt为热敏电阻在T2温度下的电阻;

R为热敏电阻在T1温度下的标称阻值;

EXP[n]是e的n次幂;

B为温度指数;

T1,T2是开尔文温度(绝对温度),开尔文温度=273.15 +摄氏温度。对于热敏电阻的参数,我们使用:B=3950, R=10KΩ,T1=25℃。热敏电阻的电路连接方法与光敏电阻类似,如下所示:

我们可以利用ADC转换器测得的值来得到热敏电阻的电阻值,然后利用公式来得到温度值。因此,温度公式可以推导为:

读取热敏电阻的值:

首先我们学习热敏电阻读取当前的ADC值、电压值和温度值,并将其打印出来。请按下面的接线图接好线:

本项目中使用的代码保存在文件夹“3. Python 教程\2. 树莓派系统\2. 项目课程”中。你可以把代码移到任何地方。例如,我们将代码文件夹保存在树莓派系统的文件夹pi中,路径为home/pi/2. 项目课程。

打开“Thonny”软件,点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目 21:温度仪表”。并鼠标左键双击“Project_21.1_Read_the_thermistor_analog_value.py”。

确保树莓派Pico板已经连接到树莓派上,单击“停止/重启后端进程”。

单击“运行当前脚本”,代码开始执行,你会看到的现象是:Thonny IDE下的”Shell”窗口将不断显示热敏电阻当前的ADC值、电压值和温度值。试着用食指和拇指捏一下热敏电阻(不要碰触导线)一小段时间,你应该会看到温度值增加。按“Ctrl+C”或单击“停止/重启后端进程”退出程序。

温度仪表电路图和接线图:

项目代码:

本项目中使用的代码保存在文件夹“3. Python 教程\2. 树莓派系统\2. 项目课程”中。你可以把代码移到任何地方。例如,我们将代码文件夹保存在树莓派系统的文件夹pi中,路径为home/pi/2. 项目课程。

打开“Thonny”软件,点击“此电脑”→“home”→“pi”→“2. 项目课程”→“项目 21:温度仪表”。分别选择“lcd128_32.py”和 “lcd128_32_fonts.py”,右键单击鼠标选择 “上载到/”,等待“lcd128_32.py”和 “lcd128_32_fonts.py”被上传到MicroPython 设备(Raspberry Pi Pico)。并鼠标左键双击“Project_21.2_Temperature_Instrument.py”。

项目现象:

确保树莓派Pico板已经连接到树莓派上,单击“停止/重启后端进程”。

单击“运行当前脚本”,代码开始执行,你会看到的现象是:LCD 128X32 DOT的屏幕上显示热敏电阻的电压值和当前环境中的温度值。按“Ctrl+C”或单击“停止/重启后端进程”退出程序。