我们用了什么

乐高摩天轮套件Arduino MKR 1000L293D电机驱动器大扭矩直流电机电路试验版Raspberry Pi Zero WRaspberry Pi相机模块

乐高摩天轮

对付摩天轮本身,我们决定利用这款乐高套件。
完成组装大约须要7个小时旁边。
该套件有一个可选的附加电机,但本文里我们决定自己创建一个办理方案。

驱动电机

面部识别实践系列手把手教你搭建面部识别摩天轮

我们利用高扭矩直流电机迁徙改变车轮,用L293D电机驱动器驱动电机。

点击此处(https://community.wia.io/d/27-driving-a-dc-motor-with-an-arduino-and-the-l293d-motor-driver)深入理解我们如何设置它,以及使电机迁徙改变的基本代码片段。
当我们添加MQTT功能来监听命令时构建这段代码。

将电机安装到车轮上

下一步是将直流电机连接到摩天轮上并使其迁徙改变。
这被证明是非常具有寻衅性的,并且须要拆除构造的下部从而为部件腾出空间。
我们创造电机的轴险些完备适应个中一个乐高积木,那么我们所要做的便是将电机安装在精确的位置,并确保它不会四处移动。
因此,我们为备用零件制造了一个用于电机的小型乐高外壳,在后面留出空间用于将电线连接到电机的端子。

监听命令

接下来,我们想为Arduino创建一些命令,以便相应地监听和旋转电机。
第一步是在Wia仪表板中创建命令。
正如您所看到的,我们创建了一些用于手动掌握滚轮的基本命令,以及一个“拍照”命令,我们将在稍后先容。

接下来,我们更新了Arduino代码以利用MQTT来监听命令。
这是代码:

在将该代码上传到Arduino之后,我们可以在Wia仪表板上的命令上单击“运行”,摩天轮将相应地迁徙改变。

面部识别相机

对付面部识别相机,我们利用Raspberry Pi Zero W和Raspberry Pi相机模块。

深入理解我们如何在此处进行设置。
这包括利用相机模块设置Raspberry Pi,利用NodeJS拍摄照片并将其作为事宜发布到Wia平台,然后设置基本流程以检讨照片主题是否处于微笑的状态。

我们在此设置的根本上增加了一点,并增加了Raspberry Pi监听“拍照”命令的能力。
这是代码:

建立流程

我们的下一步是通过创建Flow来使Raspberry Pi和Arduino在Wia上一起事情。

在Wia仪表板中,我们创建了一个新的Flow。
触发器是运行“拍照”命令时创建的照片事宜。
然后通过“检测人脸”节点,其输出分支为两个逻辑节点,一个在被试微笑时输出“微笑”字符串,另一个在被试不微笑时输出“不微笑”字符串。

下面是“微笑”逻辑节点的代码:

...这里是“不笑”逻辑节点的代码:

如果主体正在微笑,则运行“开始移动”命令,触发Arduino开始迁徙改变电机。
如果拍摄工具未微笑,则运行“停滞移动”命令,停滞电机迁徙改变。

创建小部件

您会把稳到我们在Flow结束时也有“创建事宜”的节点。
这是我们利用逻辑节点中的output.body.data值创建小部件的地方!

每次拍摄照片时,都会创建一个新事宜,其数据即是“微笑”或“不笑”。
在仪表板的设备概述页面上,我们可以创建一个文本窗口小部件,可以显示此文本并在每次拍摄新照片时自动更新。
我们还设置了方便的小部件来运行各种命令,并显示了Raspberry Pi拍摄的照片!