11. 课程_09 测谎仪#

有了这个测谎仪,你再也不用担心被骗啦!只要让测试者握住湿度传感器几分钟,你就可以知道他说的是真话还是假话哦!

11.1. 项目简介#


在这个项目中,我们将会制作一个非常简单的测谎仪。它可以通过测量我们皮肤的导电性来检测我们是否说谎。当人体处于紧张的状态时,我们的皮肤的导电性会增强,湿度传感器就会检测到我们皮肤导电性的变化。我们可以根据这个来判断一个人是否在说谎。

11.2. 所需材料:#


  • 1 x BBC micro:bit

  • 1 x USB线

  • 1 x 扩展板

  • 1 x OLED模块

  • 1 x 湿度传感器

温馨提示: 如果你想要以上所有这些元器件,你可以购买我们的micro:bit小小发明家套件

../../_images/CdFwsWU.jpg

11.3. 目标:#


  • 了解OLED模块和湿度传感器的使用

  • 学习基本的数据统计

  • 使用湿度传感器来制作小装置

11.4. 制作过程#


步骤1 - 元器件连接#

首先,将湿度传感器插入扩展板。尽量保证线的颜色和扩展板上引脚的颜色一致。这对于后面的步骤来说很关键。

../../_images/klr9Ilu.jpg

其次,将OLED插入扩展板。你可以将它插入到扩展板上的3排插孔的任意一行。

../../_images/UarBFqc.jpg

步骤2 - 编程前的准备#

我们需要添加代码库来方便我们使用准备好的元器件。点击代码抽屉中的”高级”,查看更多的代码选项,并在下拉菜单底部点击”扩展”。

../../_images/R5lx5Np.jpg

此时,将弹出一个对话框。在对话框中搜索“tinker kit”, 然后点击下载这个代码库。

../../_images/pduH11r.png

注意:如果你得到一个提示说一些代码库因为不兼容的原因将被删除,你可以根据提示继续操作,或者在项目菜单栏里面新建一个项目。

步骤3 - 编程#

首先,用图片中所示的OLED选项初始化OLED模块。

../../_images/Tinker_Kit_case_09_01.png

这部分的代码可以测量并记录下45秒内2个手指每秒钟的导电性。然后,它会计算出平均数。当测试者没有说谎时,这个被称为Calm(平静)数值。

../../_images/Tinker_Kit_case_09_02.png

这部分的代码可以计算45秒内获取的读数的标准偏差。标准偏差说明了这些读数是多么地不同。一个大的标准偏差意味着读数方面更多的不同。积木块“Math.sqrt”主要用于计算所给出的数值的平方根,它被添加到了Javascript里面。

../../_images/Tinker_Kit_case_09_03.png

在最初的读数生成并记录之后,湿度传感器每2.5秒测量一次平均导电性。如果测量数据高于标准偏差的平均值,我们可以得出结论:测试者的皮肤导电性明显增强,因此他是在说谎。这时,LED屏幕上会显示一个“X”的形状。

../../_images/Tinker_Kit_case_09_04.png

如果你不想自己编写代码,你也可以通过下面的页面下载完整的代码:

https://makecode.microbit.org/_bqqVugfTfdz0

或者,你也可以通过下面这个页面下载:

11.5. 步骤4 - 使用#

首先,把你的2个手指分别贴在湿度传感器的触角上。如果能用一个橡皮筋绑定,那样会更加简单、有效。(纯属我个人的想法)你可以用不同的方法来实验,例如:使用鳄鱼夹或者是胶布。

../../_images/xuKMnsI.jpg

现在,开启测谎仪。这时测谎仪将会记录下你的皮肤在平静的状态下的导电性。然后,它将会计算出平均值和标准偏差。

../../_images/dMTcolP.jpg

在最初的读数生成后,请再询问一边测试者!如果测试者说谎了,他就会变得紧张不安,测谎仪就可以检测到他说谎了并且在屏幕上显示一个叉。

../../_images/ct5NLcZ.jpg

步骤5 - 成功!#

太棒啦!现在你可以用这个测谎仪轻松地测出谁说了谎哦!

11.6. 常见问题#