APP下载

自制超声波人流计算器(下)

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

报价宝综合消息自制超声波人流计算器(下)

上星期提及的物业公司、举办活动外,若是一些规划部门,如进行道路规划,也需要知道该条道路的人流数量是多少。以上的例子,均适用量度流量,而且十分重要。今期会进一步详解程式编写及超声波感测器的原理。

整个设计意念是当有人经过感应器时, Raspberry Pi 经由感应器和程式,将数据记录记下来。基于 IoT 观念,我们甚至可将数据定时上传到 Thingspeak ,方便有关人士可使用互联网即时监察人流数据,或将数据储起来,日后再作分析。

 Python 计算机程序

最后的阶段, 与上期设计相似, 在 Raspberry Pi 编写程式让 HC-SR04 传感器运作,并将数据定时上传到 Thingspeak 。在这里使用 Python 2 ,并使用 RPi.GPIO Library 。有关这个人流计算器的程式码可见下面 Code ,当中的一些重点解释如下:

 1259kid04p21
行数 1-5 : 载入所需要用的 Library。
行数 7-8 : 设定 Trigger 及 Echo 的接口位置。
行数 9-10 : 定义变数 Num_people 为人流数目, counter 为测试人流次数。
行数 11-12 : 定义输入及输出的接口。
行数 13 : 打印“ Raspberry Pi people counter ”,以表示程式开始。
行数 15 : while True 使行数 16 至 40 会不断重复执行。
行数 16-17 : 设 Trigger 接口为低电位,并维持 0.5 秒。
这个时间值是需要作调节,以提升人流计算器的准确性,不会因为路人行得太慢,而令计算器录得多于一次的记录,或因路人行得太快而未能记录到他们的数据。
行数 18-20 : Trigger 发出一个 10us 脉冲。
行数 21-24 : 记录发出讯号的时间( start ),及接收到反射回来的讯号的时间( stop )。
行数 26-28 :计算讯号的来回时间 travel_time ( stopstart ),并用 travel_time 计算及打印出前面物件(行人)的距离。
行数 29 :每次测量完之后便会将 counter 的数值增加 1 。
行数 31-33 :当行人与感应器的距离少于 40 厘米时, Num_people 的数值便会增加 1 ,再打印出数值作参考。
行数 35-40 :当进行了 50 次的测试行人经过后,人流次数( Num_people )的数据便会上载到 Thingspeak 。留意在第 36 行中的 api_key ,是刚才 Thingspeak Channel 的 Write API KEY ,只要复制上去便可以了。
超声波感测器如蝙蝠

人流计算器的其中一个硬件是传感器 HC-SR04 ,此超声波感测器非常普及,常用于机器人对障碍物的测量,而且价钱便宜。此传感器的原理是使用超声波的发出及反射回来,过程中所需要的时间而估计前面障碍物的距离。情况好像在大自然中的蝙蝠,他们也是利用超声波来确定前面障碍物的位置。 HC-SR04 传感器能有效探测距离为 2cm 至 400cm ,十分适合于人流计算器内使用。

传感器外观如眼睛。

传感器外观如眼睛。

Thingspeak 监察人流

按照上述步骤,就可以将人流计算器设定好,只要将它放在行人经过的地方,例如出入口附近的位置,就可以量度经过的人流,只要行人经过感应器,并与感应器距离少于 40 厘米范围内,人次就可记录下来,并于 Thingspeak 平台上监察人流数据。

执行程式后,每次有人经过就会增加人数。

执行程式后,每次有人经过就会增加人数。

利用 Thingspeak 网上平台,可以制作出数据图。

利用 Thingspeak 网上平台,可以制作出数据图。

另外,读者也可以考虑,在人流计算器加上 LED 小灯,每当有人经过感应器的时候, LED 小灯便会亮起来,可以令到整个装置更加互动。

2017-12-24 01:45:00

相关文章