首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Arduino检测对象

使用Arduino检测对象
EN

Stack Overflow用户
提问于 2011-02-05 00:43:58
回答 2查看 2.8K关注 0票数 3

有没有办法用Arduino板+一些传感器来检测不同类型的物体/表面?

举个例子,也许是木头/金属的区别,或者说,在外面驾驶的机器人可以检测到它是在草地上,沙子上还是柏油路面上。

编辑:为了方便其他想要这样做的人,这里有一个电子网站one,https://electronics.stackexchange.com/questions/9751/detecting-the-type-of-ground/9771的链接。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-05 02:14:18

我不知道有哪种传感器能够单独检测到你提到的材料类型。(因此我建议你在robotics and electronics SE site上提问。)

也就是说,您应该能够通过使用简单的导电传感器来检测导电/非导电(金属/木材),这种传感器在接触金属时完成电路,但在接触绝缘体(如木材)时不会。一个更好的选择可能是capacitive sensor,就像那些用于种马查找器的设备一样。

要检测表面类型,如植被、沙子或路面,您可能必须使用一些创造性的思维和传感器的组合。

这里有一个小范围检测地形相对硬度的例子:如果这个设备安装在某种类型的移动车辆上,这样的传感器可能是连接到某种弹簧加载的电枢上的电位器,它会拖曳地面。这个想法是,电枢试图通过弹簧张力垂直于车辆行驶而垂直向下对齐。草地、沙子和路面会使骨架根据弹簧推动表面的能力而偏转不同的量。

为了将其更多地带入编程领域,您必须编写一个算法来计算偏转角(通过测量电位器上的电阻)并确定表面的类型。骨架不会创建一个静态值(它将一直在移动),因此您必须计算平均值,并可能将行驶的距离考虑在内。

考虑到这些表面还有其他可能在检测中有价值的属性:光反射率,湿度水平,声回波剖面……我把设计传感器阵列作为练习,它可以准确地识别表面和材料,达到您想要的精度。最终,您将不得不依赖于调整到特定属性的传感器(以及一些编程来处理数据)。

票数 1
EN

Stack Overflow用户

发布于 2011-02-06 05:33:30

像人类一样思考。

我们用我们所有的感官来得到一个答案(有时这是错误的答案)。有些物质表面上可以是固体或液体,这取决于其他环境效应,例如,如果你以每小时600英里的速度撞击水,它看起来就像钢一样硬。

因此,您需要整理来自各种传感器的输入。有硬度传感器和应力计,你可以用来测量表面硬度。由JYelton建议的某种挠度计,用来发现表面的深度(草地、深堆地毯)。感知颜色和反射率,与其他感官相结合,将有助于做出其他决定。

当你这样想的时候,问问你的设备为什么需要知道某些事情,以及它将如何对它们做出反应。然后,您将能够更好地对感知进行泰勒,以满足这些需求。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4900551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档