Arduino上进行使用传感器的开发,非常轻松!搭载8种传感器的罗姆传感器评估套件用后感

转载自 Device Plus,获得了相关许可,特此声明

 

引进&地磁传感器篇

最近收到了Device Plus编辑部寄来的一个白色箱子

最近收到了Device Plus编辑部寄来的一个白色箱子。

打开一看,是2月16日刚刚上市的罗姆传感器评估套件!在彻底了解一番之后,惊讶的发现这是一个可以通过Arduino轻松处理大量传感器的产品。

嗯嗯,如果真的是这样的话,就再也不用老是半夜里因为收集不到传感器的值而修改电路、为了确认传感器的电压供应是否适当而拿着测试仪一个劲地东查西找了!?如果真的是这样,在使用Arduino进行开发的过程中,再没有比这更令人高兴的事了。

因此,希望这次能够了解可轻松驱使多达8种传感器的罗姆传感器评估套件的使用方法,使用传感器将其运用到设备中去!

 

此次的电子工程配方

完成为止的大致时间标准:60分钟
必要零件

※罗姆传感器评估套件可通过以下网站购买!
AMEYA360
RightIC

 

隆重开封

马上打开箱子一看!里面
装着各种传感器零件和传感器护罩。

 

照片1 传感器护罩

照片1 传感器护罩

传感器护罩

比Arduino稍大一些的传感器护罩。传感器护罩主体安装在Arduino上,将要使用的传感器放在传感器护罩上使用。使用方法留在后文中详细说明,首先板子统一成了黑色,很酷。肯定有人对电子零部件的颜色有追求,这样一想,感觉很不错。类似传感器等要求精度的零部件时,采用红色之类具有冲击性的颜色也很好,但还是这种凝重的黑色可以给人"保证准确测量!"的安心感。

 

照片2 8种传感器零件

照片2 8种传感器零件

8种传感器

箱中装有8种传感器,分别标有图标和传感器名称,一目了然。评估套件中包含的传感器种类为

图1 罗姆传感器评估套件的传感器一览

图1 罗姆传感器评估套件的传感器一览

  1. 加速度传感器模块 KX022-1020
  2. 气压传感器模块 BM1383GLV
  3. 地磁传感器模块 BM1422GMV
  4. 接近照度传感器模块 RPR-0521RS
  5. 彩色传感器模块 BH1745NUC
  6. 霍尔传感器模块 (磁性IC) BD7411G
  7. 温度传感器模块 BD1020HFV
  8. 紫外线传感器模块 ML8512A

8种传感器。温度传感器和加速度传感器、接近照度传感器等在此前的连载中也有提及,但地磁传感器、气压传感器、彩色传感器、霍尔传感器和紫外线传感器等都是从未介绍过的未知的传感器!连彩色传感器、霍尔传感器、地磁传感器等都包括在内,其产品阵容可谓宽广。

在了解了包装内容之后,迫不及待地想要操作一番!!首先来了解一下必需的物品和开发的流程。

 

在Arduino上运行传感器评估套件所需的流程

要在Arduino上运行传感器评估套件,需要收集必要的信息。说起来好像很复杂,步骤其实很简单。单独购买传感器的情况下,需要按照各传感器的规格组建电路,并根据其来写入Arduino的程序(sketch)(但在Arduino出现的时候,对于这个东西竟然可以令传感器如此轻松地处理电子电路,也是令我大感惊艳)。

图2 单独安装传感器与传感器套件时

图2 单独安装传感器与传感器套件时

解决了上述传感器使用上的问题是这一评估套件的利害之处,同时,该评估套件的优点在于官方网站上的文档内容丰富。

 

照片3 罗姆传感器评估套件的官方网站

照片3 罗姆传感器评估套件的官方网站

 

基本上只需具备传感器评估套件和Arduino,接下来将网站上的各种传感器的库导入Arduino IDE中,即可与样本程序(sketch)一起使用,不到5分钟时间就能测试传感器,其优秀不言而喻。单独购买传感器零件的情况下,或使用案例较少的产品的情况下,需要与英语的数据表"作斗争",还需要在不时损坏多个传感器的前提下克服难题…。能够这样轻松地使用传感器,真的是帮了大忙(泪)。

在制作某些设备时,尽管本意是要把时间用在提高设备的功能上,但一个个传感器等部件的调试耗费了大量时间,实在是本末倒置。从这个意义来说,该套件可运用于传感器的实验、某些值的测量、mock-up等样机的开发现场。

 

地磁传感器试用

这次,在8种传感器中,我决定使用地磁传感器来了解传感器评估套件的动作流程。

什么是地磁传感器?

恰如其名,地磁传感器是可以检测地球磁力的传感器。说起电子罗盘,大家应该更熟悉吧。简而言之,就是作为指南针,可以了解朝向方位的传感器。地磁传感器分为2轴(XY轴)型和3轴(XYZ轴)型,评估套件中附带的地磁传感器为可检测XYZ轴的3轴型。

照片4 地磁传感器盒

照片4 地磁传感器盒

 

照片5 从盒中取出的地磁传感器

照片5 从盒中取出的地磁传感器

 

将传感器安装到传感器护罩

将取出的传感器安装到传感器护罩上。传感器护罩上有多个连接引脚和跳线引脚,其各自的用途是怎样的呢?官方网站的传感器护罩说明页面上记载有各引脚的用途。

图3 传感器护罩的连接方法说明

图3 传感器护罩的连接方法说明

通过图3,已经了解了传感器的连接位置,因此开始将地磁传感器安装到传感器护罩上。对准针孔,切实将传感器电路板垂直插入。

照片6 将地磁传感器安装到传感器护罩

照片6 将地磁传感器安装到传感器护罩

接着,设定图3的电源电压。地磁传感器的说明页面中记载了传感器的建议电压,此次使用的地磁传感器为1.7〜2.0V,因此将跳线针脚连接1.8V。

 

将传感器护罩安装到Arduino

将传感器安装到传感器护罩上,完成电压设定后,将传感器护罩连接到Arduino。

照片7 将传感器护罩安装到Arduino

照片7 将传感器护罩安装到Arduino

完成接续之后,下一步是程序方面的操作。

 

传感器评估套件的程序安装〜动作确认的流程

即便使用Arduino的护罩,偶尔也会遇到程序复杂而棘手的情况,该传感器评估套件备有各种传感器作为Arduino的库,甚至还有样本程序(sketch),内容相当丰富。因此,放上传感器后,很快就可以进行动作确认了。

1.下载传感器用的库文件

通过地磁传感器的说明页面下方的软件下载,下载库文件。并且,在该说明页面上,还详细介绍了地磁传感器应插入到传感器护罩的哪个位置、电压应设定为多少等等。

照片8 下载库

照片8 下载库

 

2.添加为库

文件下载完成后,打开Arduino IDE,通过加载库选择下载的文件"BM1422GMV.zip"后,地磁传感器的动作准备即告完成。

照片9 添加库

照片9 添加库"BM1422GMV"

 

添加库顺利完成后,可以在"示例"及"使用库"的栏中确认BM1422GMV的标记。

照片10 BM1422被添加到示例

照片10 BM1422被添加到示例

 

照片11 BM1422被添加到库

照片11 BM1422被添加到库

 

3.运行地磁传感器的样本程序(sketch)

从照片10的sketch示例中,调用BM1422的样本程序。该程序为显示地磁传感器的XYZ轴各自的检测值的程序。
※样本程序(sketch)的编译未通过时,可能是Arduino IDE较旧,请用最新的Arduino IDE进行尝试。

在setup()函数内完成初始设定后,可以通过

bm1422.get_val(mag)

等类似函数获取地磁传感器的值。关于其他函数,在说明页面的文档中也有详细的介绍。

 

BM1422的样本程序(sketch)


/***************************************************************************
BM1422.ino
Copyright (c) 2016 ROHM Co.,Ltd.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
****************************************************************************/
#include <Wire.h> //为使用传感器评估板做准备
#include <BM1422.h> //为使用地磁传感器文库做准备

BM1422 bm1422(BM1422_DEVICE_ADDRESS_0E); //地磁传感器的变数

void setup() {
byte rc;

Serial.begin(9600);
while (!Serial);

Wire.begin();

rc = bm1422.init();//地磁传感器的初期设定
}

void loop() {
byte rc;
float mag[3];
rc = bm1422.get_val(mag); //输入地磁传感器的值

if (rc == 0) {
Serial.print(F("BM1422 XDATA="));
Serial.print(mag[0], 3);
Serial.println("[uT]");
Serial.print(F("BM1422 YDATA="));
Serial.print(mag[1], 3);
Serial.println("[uT]");
Serial.print(F("BM1422 ZDATA="));
Serial.print(mag[2], 3);
Serial.println("[uT]");
Serial.println();
}

delay(500);
}

 

照片12 基于串口监视器的运行记录

照片12 基于串口监视器的运行记录

运行程序,可以确认随Arduino方向改变而发生的数值变化。

竟然如此方便!!

 

总结

收到了罗姆传感器评估套件后,试用了地磁传感器。习惯了之后,包括准备工作在内,获取传感器数值的过程只需5〜10分钟左右,这样迅速确认数值,轻松到令人难以置信!!下一期,我打算通过这个地磁传感器的数值计算方位,深入了解详细的使用方法和程序的指令函数,并实际贴装搭载地磁传感器的器件!

照片13 传感器评估套件外箱的感觉也很棒。

照片13 传感器评估套件外箱的感觉也很棒。