11. 案例09 测谎仪¶
11.3. 背景知识¶
- 土壤湿度传感器电子积木模块借助两极的差值,可以检测物体的导电性。
什么是“测谎仪”¶
- 当人说谎的时候,身体会有一些细微变化,测谎仪进行探测,从而判定,是否说谎,这就是测谎仪。
提醒器原理¶
- 当人体处于紧张的状态时,皮肤的导电性会增强,土壤湿度传感器就会检测到皮肤导电性的变化。我们可以根据这个来判断一个人是否在说谎。
11.7. 编程¶
步骤 1¶
- 在MakeCode的代码抽屉中点击Advanced,查看更多代码选项。
- 为了给智慧家居套件编程,我们需要添加一个代码库。在代码抽屉底部找到“Extensions”,并点击它。这时会弹出一个对话框。搜索“smarthome”,然后点击下载这个代码库。
注意:如果你得到一个提示说一些代码库因为不兼容的原因将被删除,你可以根据提示继续操作,或者在项目菜单栏里面新建一个项目。
步骤 2¶
- 从Basic中拖出一个start积木块,初始化OLED显示屏,并显示提示信息。
步骤 3¶
- 首先读取P1引脚的土壤湿度传感器的数据,记录两个手指每秒钟的导电性,然后根据这些值计算出平均值。测试者没有说谎的时候,即为Calm(平静)数值。 然后使用for element 循环,计算出第一分钟获取读数的标准偏差,标准偏差说明了一个读数的差值,一个较大的标准偏差,是从理论上讲说明测试者不够平静,最好在平静的状态下进行测试
。
步骤 4¶
- 拖入forever语句,编写代码令micro:bit每五秒测量一次平均导电性,作为下一阶段判定的依据。
步骤 5¶
- 对受试者的测试数据,进行判定,当所得出的reading 这个值的平均值高于标准偏差的平均值,我们可以得出结论,测试者的皮肤导电性明显增强,因为他在说谎,此时microbit led显示屏上会显示一个X的形状。
步骤 6¶
- 当判定的值小于标准偏差5次偏差的平均值,那么说明测试者的皮肤导电性没有改变,此时测试者没有说谎。 此时micro:bit led显示屏上会显示一个√的形状。
程序¶
请参考程序连接:https://makecode.microbit.org/_FEV9JH1x9KJV](https://makecode.microbit.org/_FEV9JH1x9KJV)
你也可以通过以下网页直接下载程序。
---