最近,我从亚马逊购买了一台名为“MPU-6050”的3轴陀螺仪和加速度计。它花了5美元。当我研究“Leap Motion”的应用程序时,我发现了许多可以通过Leap Motion控制Google Earth的演示程序。我尝试在此项目中使用MPU-6050来控制Google地球。
第1步:关于Google Earth API
Google地球为开发人员提供插件和API。您可以将插件嵌入到您的网页中。您还可以使用Javascript控制Google地球。
首先,我从这些教程中学习了Google Earth API的基础知识,例如设置纬度和经度。
步骤2:关于MPU-6050
MPU-6050为您提供3轴陀螺仪和加速度数据。它通过I2C连接到Arduino。我从亚马逊购买的传感器没有手册或数据表,所以我需要有关如何使用它的信息。
Arduino官方网站有一个MPU-6050的页面。它提到“阅读原始价值很容易,其余的不是。”听起来很难!我搜索了很多网站并找到了一个示例程序。程序从传感器读取原始3轴加速度值。我需要角度数据来控制Google Earth API,因此我通过原始3轴加速度值计算角度,这对于该项目来说已经足够了。您可以找到一个公式来获取维基百科中两个向量之间的角度。
步骤3:系统架构
上面绘制了该项目的系统架构。使用传感器的原始值控制Google Earth的过程如下:
Arduino从传感器读取原始值并计算角度。
角度数据为通过XBee传输到Mac。
Mac通过Socket.IO将数据发送到浏览器。
浏览器使用角度数据调用Google Earth API。
步骤4:控制Google Earth的规范
您可以从GitHub下载此项目的源代码。
我使用MPU-6050和Google Earth API的数据组合设计了以下规格。
地图根据传感器的角度移动。通过地图的比例调整移动量。即使角度相同,刻度越大,运动越多。
轻触开关具有不同的作用。一个开关被指定为模式转换器。另外两个开关用于操作。系统有四种模式。
位置模式:您可以通过操作开关更改刻度。
平铺模式:您可以更改视点的倾斜度(鸟瞰图)。/li>
旋转模式:您可以旋转地图。
颜色模式:您可以更改网页的背景颜色。
您可以通过按住模式转换器2秒钟返回默认位置(我将东京设置为默认位置)。
Google地球插件提供月球和火星的图像数据。我尝试过,但没有发现它有趣。当我看到地球的地图时,我可以理解它的位置。但是,通过查看月球和火星的地图,我无法理解它们的位置。如果你熟悉它们,你可能会喜欢它。
第5步:结论
在这个项目中,我用3创建了一个原始的Google Earth控制器轴加速度计和开关。对我来说,在没有键盘或鼠标的情况下控制计算机是一种全新的体验。该设备是原始的,但这个项目给了我创建一个原始的人机界面的乐趣。
审核编辑黄昊宇
-
加速度计
+关注
关注
6文章
702浏览量
45895
发布评论请先 登录
相关推荐
评论