APP下载

用RaspberryPi进行物理实验(下)

消息来源:baojiabao.com 作者: 发布时间:2024-11-30

报价宝综合消息用RaspberryPi进行物理实验(下)

上星期和大家谈及实验的简介、资料和硬件配备,也开始作了手作部分。今期会继续接驳 Raspberry Pi 与 MCP3008 ,以及制作程式的部分。

承上期,连接蜂鸣片后,现在准备余下的部分。由于 Raspberry Pi 只有数码输入,因此不能将震荡器的模拟讯号直接输入 Raspberry Pi ,所以需要使用一颗模拟数码转换器 MCP3008 。

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

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

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

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

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

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

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

Python 程式设计

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

程式码如图。

程式码如图。

有关实验中的程式码,当中的一些重点解释如下:
行数 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 )。最后用公式就可求出重力加速度。

1257kid04p07

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

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

2017-12-24 04:15:00

相关文章