我们用了什么
乐高摩天轮套件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拍摄的照片!