用 Raspberry Pi 进行物理实验(下)用 Rasp

2020-07-24 618人围观

用 Raspberry Pi 进行物理实验(下)用 Rasp

按着图中的接驳方法, Raspberry Pi 就可读入模拟信号。

用 Raspberry Pi 进行物理实验(下)用 Rasp

图中是模拟数码转换器 MCP3008 的实际接驳情况。

完成接驳之后,可量度一下金属球下坠到木板时所产生的电压。

用 Raspberry Pi 进行物理实验(下)用 Rasp

相对于静止状态,一般来说,下坠的金属球可产生多大约数十倍的电压量。

Python 程式设计

最后的阶段,在 Raspberry Pi 编写程式让整个实验进行。我们将使用最新的 GPIO Zero Library ,可以更容易学习及编写 Python 程式,如系统还未安装 GPIO Zero Library ,可在 Terminal 中键入 sudo apt-get update 以更新软件,然后再键入 sudo apt-get install python3-gpiozero 以下载 Library 。

用 Raspberry Pi 进行物理实验(下)用 Rasp

程式码如图。

有关实验中的程式码,当中的一些重点解释如下:
行数 1 : 载入 GPIO Zero Library ,及加入 LED 、按钮及拟数码转换
器。
行数 4 : 将按钮设定在 2 号接口上。
行数 5 : 将继电器设定在 17 号接口上。
行数 6 : 压电陶瓷蜂鸣片设定在数码转换器 MCP3008 的第一只脚上。
行数 7 : 要求学生输入金属小球下坠的距离(以米作单位)。
行数 8-10 : 当按钮接收到按下的讯号,即连接至 GND , Raspberry Pi 便会列印出「 Button is pressed 」(行数 9 ),及输出讯号给继电器(行数 10 ),以供电给电磁铁设以施产生磁力,吸着金属小球。
行数 12-15 :当按钮没有被按下,系统会停止供电给电磁铁(行数 15 ),
电磁铁便没有磁力,金属小球开始下坠。这时候电脑便会记下系统时间 t1 (行数 13 ),并会列印出「 Button is released 」(行数 14 ) 。
行数 18-24 : 当金属小球下坠到地下的木板上,便会使到压电陶瓷蜂鸣片
产生电压讯号。但因为这个讯号很微弱, 我们要把讯号乘上 100 倍,以放大讯号的数值。当这个数值大于 80 时(行数 18 ),我们便可确定金属小球已经下坠至木板的位置了。这时候电脑便会记下系统时间 t2 (行数 19 ),将 t2 减去 t1 ,并捨入至一个小数位(行数 20 ),便可得出金属小球的下坠时间( roundt )。最后用公式就可求出重力加速度。

用 Raspberry Pi 进行物理实验(下)用 Rasp

完成以上的步骤之后,就可以进行这一个实验活动了。首先,开启 Raspberry pi 的 Python 程式,将以上的程式码输入至一个新的档案,将档案储存之后,按一下 F5 ,程式便开始执行。在实验中,金属小球的下坠距离设定为 1.25 米,得出重力加速度的数值为 9.68ms-2 ,结果令人满意。

如果能够将实验中的下坠距离设定为更大的数值,例如把金属小球由 2 楼跌落至地下,就可以降低实验中所量度的时间和下坠距离的误差率,大家不妨多作尝试。

推荐文章