0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Arduino傳感器–ROHM傳感器評(píng)估套件概覽

張旭 ? 來(lái)源:羅姆 ? 作者:羅姆 ? 2023-02-23 17:37 ? 次閱讀

這篇文章來(lái)源于DevicePlus.com英語(yǔ)網(wǎng)站的翻譯稿。

我們利用此套件中的接近傳感器完成了一個(gè)非常好玩的項(xiàng)目,具體內(nèi)容請(qǐng)點(diǎn)擊閃光萬(wàn)圣節(jié)面具項(xiàng)目。

poYBAGPzFf6AUNozAAD509_LlPY748.jpg

ROHM Sensor Shield(ROHM傳感器開(kāi)發(fā)板)是一種兼容Arduino的擴(kuò)展板,旨在幫助用戶快速將各種傳感器添加到自己的開(kāi)發(fā)項(xiàng)目中。憑借其直觀的布局和緊湊性,該開(kāi)發(fā)板成為初學(xué)者和高級(jí)Arduino愛(ài)好者的絕佳原型制作工具。

pYYBAGPzFgCADEMRAABtXb7Tlvg857.jpg

Sensor Evaluation Kit(傳感器評(píng)估套件)配備了ROHM傳感器開(kāi)發(fā)板和8種不同的ROHM傳感器:加速度傳感器、氣壓傳感器、地磁傳感器、環(huán)境光/接近傳感器、顏色傳感器、霍爾傳感器、溫度傳感器和 紫外線傳感器。

pYYBAGPzFgGAZWPQAABl1bGNzgo263.jpg

有關(guān)傳感器開(kāi)發(fā)板和每個(gè)傳感器的詳細(xì)文檔,請(qǐng)參閱https://www.rohm.com/web/global/sensor-shield-support,該網(wǎng)頁(yè)還為您提供了各個(gè)傳感器所需的Arduino庫(kù)的下載鏈接。評(píng)估套件包裝中的用戶手冊(cè)對(duì)傳感器開(kāi)發(fā)板與傳感器的配合使用進(jìn)行了說(shuō)明,該用戶手冊(cè)的電子版也可在該網(wǎng)站上找到。

pYYBAGPzFgOATW2DAAEMbA4J6M0644.jpg

在本文中,我們將概述一下傳感器開(kāi)發(fā)板的設(shè)置和首次使用情況,然后利用開(kāi)發(fā)板和其他器件展示一個(gè)簡(jiǎn)單的物聯(lián)網(wǎng)項(xiàng)目。

poYBAGPzFgWANSAbAADZGdYMv1A270.jpg

圖1 ROHM傳感器開(kāi)發(fā)板(右上方)以及8種不同傳感器/@CoreStaff

該開(kāi)發(fā)板有兩個(gè)功能特別突出。首先,開(kāi)發(fā)板允許用戶同時(shí)處理多個(gè)傳感器。對(duì)于涉及兩種獨(dú)立傳感形式的項(xiàng)目,用戶可以一次性對(duì)系統(tǒng)進(jìn)行整體原型設(shè)計(jì),而不必分多個(gè)步驟進(jìn)行。很方便,是吧?

pYYBAGPzFgaAKdsaAACXXfljveg013.jpg

圖2 多個(gè)傳感器同時(shí)插到傳感器開(kāi)發(fā)板上
(圖中連接了溫度傳感器和接近傳感器/環(huán)境光傳感器)

其次,不同的傳感器可以直接插入開(kāi)發(fā)板。這使原型制作更加緊湊,并使大型項(xiàng)目更易于管理。由于Analog模擬)、GPIO和I2C通信連接都是在開(kāi)發(fā)板PCB內(nèi)部實(shí)現(xiàn)的,因此無(wú)需連接多個(gè)跳線。

我們以I2C協(xié)議為例進(jìn)行說(shuō)明。一個(gè)獨(dú)立的I2C傳感器與Arduino通信至少需要四根單獨(dú)的連線(SDA、SCL、電源和地)以及SDA和SCL線上的2個(gè)上拉電阻。而使用傳感器開(kāi)發(fā)板,用戶僅需將等效的ROHM傳感器插到開(kāi)發(fā)板上的一個(gè)I2C接口即可。

傳感器開(kāi)發(fā)板的長(zhǎng)邊處有一排公插針。大多數(shù)針腳可以用來(lái)配置各種硬件中斷。作為初學(xué)者,我們將僅關(guān)注板子邊緣標(biāo)有1.8V、3V和5V的前三行。這三個(gè)引腳表示所連接傳感器的電壓設(shè)置。某些傳感器需要特定的工作電壓,因此需要選擇不同的電壓設(shè)置。要選擇相應(yīng)電壓,用戶必須用跳線跨接相應(yīng)電壓電平的那對(duì)針腳。圖3展示了用跳線選擇3V電壓的示例。

pYYBAGPzFgiAUz-5AAExYQhUL4E083.jpg

圖3 用跳線選擇3V電壓

在開(kāi)發(fā)板上兩條Arduino連接排母之間,有八組不同的母排針接口(虛線框內(nèi))。這八組母排針用來(lái)連接不同的傳感器。

需要注意的是,使用某個(gè)傳感器時(shí),必須將其插入與傳感器通信方式相符的母排針中,這一點(diǎn)很重要。比如,溫度傳感器的輸出是模擬值,因此,它只能連至標(biāo)有模擬連接的兩組接口中的任何一組。手冊(cè)用鮮明的顏色描述了母排針接口與通信協(xié)議的對(duì)應(yīng)關(guān)系,請(qǐng)參見(jiàn)下圖。

pYYBAGPzFgmARqf6AADibPwVS5w532.jpg

藍(lán):Analog;紅:數(shù)字GPIO;綠:I2C

測(cè)試溫度傳感器

輸出為模擬值的兩個(gè)傳感器是溫度傳感器和紫外線傳感器。以溫度傳感器為例,要使用這個(gè)傳感器,我們首先必須下載相應(yīng)的名為BD1020HFV(溫度傳感器模塊的名稱)的Arduino庫(kù)。

請(qǐng)打開(kāi)庫(kù)隨附的示例程序。請(qǐng)?jiān)趲?kù)include語(yǔ)句下方的程序頂部,將變量 tempout_pin 設(shè)置為值 A2。在void setup()中,BD1020對(duì)象(溫度傳感器對(duì)象)將使用該值進(jìn)行初始化,表示系統(tǒng)會(huì)從模擬引腳2讀取傳感器的輸出值。這意味著我們必須將溫度傳感器模塊連至傳感器開(kāi)發(fā)板上的 Analog_2 排針連接器。

poYBAGPzFguAX5gxAADiFd_UQKM575.jpg

圖4 溫度傳感器連至Analog 2連接器(板右下方)

將示例程序上傳到Arduino并打開(kāi)Serial Monitor(串行監(jiān)視器)。此軟件界面上應(yīng)該會(huì)不斷出現(xiàn)消息,顯示所測(cè)量的當(dāng)前溫度。要測(cè)試傳感器是否按預(yù)期工作,請(qǐng)將手指按到傳感器的金屬觸點(diǎn)上。此時(shí),監(jiān)視器界面上的消息應(yīng)該會(huì)顯示溫度已經(jīng)升高!

pYYBAGPzFgyABf1iAACLGthwdnE974.jpg

圖5 溫度傳感器金屬觸點(diǎn)的標(biāo)記為“PAD1”

輸出示例如下:“BD1020HFV Temp=23.59 [degrees Celsius], ADC=277”。

ADC”表示傳感器輸出模擬值(電壓)的整數(shù)轉(zhuǎn)換。

測(cè)試加速度計(jì)

接下來(lái),我們來(lái)研究一下使用I2C協(xié)議通信的傳感器。此類傳感器包括加速度計(jì)、壓力傳感器、地磁傳感器、環(huán)境光/接近傳感器和顏色傳感器。以加速度計(jì)為例,要使用這個(gè)傳感器,我們首先必須下載名為KX022的相應(yīng)Arduino庫(kù)。

請(qǐng)打開(kāi)這個(gè)庫(kù)提供的示例程序。將加速度計(jì)模塊插到傳感器開(kāi)發(fā)板的任意一個(gè)I2C接口上,并上傳示例程序。您可能需要在程序的第一行(#include語(yǔ)句上方)輸入“#define byte uint8_t”,因?yàn)锳rduino編譯器可能無(wú)法將“byte”識(shí)別為有效數(shù)據(jù)類型。

poYBAGPzFg6AJveZAAEcA8ZNaW4441.jpg

圖6 加速度計(jì)模塊連至開(kāi)發(fā)板的I2C接口

打開(kāi)Serial Monitor(串行監(jiān)視器)。監(jiān)視器應(yīng)該不斷顯示消息,指示X、Y和Z軸的加速度。三個(gè)軸在加速度計(jì)上用小圖表示。

poYBAGPzFhCAAwSyAAClgftQ3e8073.jpg

圖7 加速度計(jì)模塊以及三個(gè)軸向

要測(cè)試加速度計(jì),請(qǐng)?jiān)谄渲幸粋€(gè)軸向上突然移動(dòng)該模塊。這時(shí),該方向上的加速度分量會(huì)發(fā)生變化。

輸出示例如下:

“KX022 (X) = -0.02 [g]

KX022 (Y) = -0.00 [g]

KX022 (Z) = 1.00 [g]”

測(cè)試霍爾傳感器

最后,我們來(lái)看一下唯一一種通過(guò)GPIO連接通信的傳感器,即霍爾傳感器?;魻杺鞲衅鲀H檢測(cè)磁場(chǎng)的存在或不存在。因此,它的輸出是數(shù)字信號(hào):“l(fā)ow(低電平)”表示磁場(chǎng)存在;“high(高電平)”表示沒(méi)有磁場(chǎng)。

在Arduino上,數(shù)字信號(hào)輸入和輸出(簡(jiǎn)稱IO)的工作范圍為5V電平,因此我們必須將跳線移至5V設(shè)置。

pYYBAGPzFgiAUz-5AAExYQhUL4E083.jpg

圖8.選擇5V電源

要使用這個(gè)傳感器,我們首先必須下載名為BD7411的相應(yīng)Arduino庫(kù)。請(qǐng)打開(kāi)庫(kù)隨附的示例程序。傳感器開(kāi)發(fā)板上標(biāo)有GPIO的數(shù)字輸出傳感器(比如霍爾傳感器)插槽只有一個(gè)。將示例程序上傳到Arduino并打開(kāi)Serial Monitor。如果存在磁場(chǎng),那么串行監(jiān)視器會(huì)顯示“BD7411G Magnet field Detect!”(BD7411G檢測(cè)到磁場(chǎng))。

如果您想在自己的項(xiàng)目中使用該傳感器開(kāi)發(fā)板,只需下載并在程序包含所需的傳感器庫(kù),然后用這些庫(kù)中的不同方法與傳感器進(jìn)行通信即可。您可以參考每個(gè)庫(kù)附帶的示例程序以及該庫(kù)的.cpp和.h源文件,以確切了解如何使用這些方法。

我用不同傳感器及其庫(kù)實(shí)現(xiàn)了多個(gè)簡(jiǎn)單項(xiàng)目:

1. 當(dāng)霍爾傳感器附近存在磁場(chǎng)時(shí),點(diǎn)亮LED

poYBAGPzFhOAcT3bAADyei-6VEs077.jpg

圖9 完成的霍爾傳感器項(xiàng)目

元器件

LED

220? 電阻(限制LED的電流

跳線

面包板

ROHM 傳感器開(kāi)發(fā)板與霍爾傳感器模塊

Arduino Uno

裝有Arduino IDE的電腦

連接電腦與Arduino Uno的USB電纜

在該項(xiàng)目中,每當(dāng)霍爾傳感器附近存在磁場(chǎng)時(shí),LED燈亮起。

將傳感器開(kāi)發(fā)板安裝到Arduino的母排針上

將霍爾傳感器模塊插到開(kāi)發(fā)板的GPIO接口上

通過(guò)220Ω電阻將LED的負(fù)極引線連至傳感器開(kāi)發(fā)板的地

將LED的正極引線連到傳感器屏蔽板上的數(shù)字引腳12上

將以下代碼上傳到Arduino:

#include 

int led_pin = 12;

int hallout_pin = 0; // use D0 pin

BD7411 bd7411;

void setup() {

 bd7411.init(hallout_pin);

 pinMode(led_pin, OUTPUT);

}

void loop() {

 int hallout;

 hallout = bd7411.readoutpin();

 if (hallout == 0) {

   digitalWrite(led_pin, HIGH);

 } else

 {

   digitalWrite(led_pin, LOW);

 }

 delay(500);

}

2. 利用Processing畫(huà)出溫度隨時(shí)間變化的曲線

poYBAGPzFguAX5gxAADiFd_UQKM575.jpg

圖10 裝到傳感器開(kāi)發(fā)板的Analog_2接口上的溫度傳感器(右下方)

元器件:

ROHM 傳感器開(kāi)發(fā)板與溫度傳感器模塊

Arduino Uno

裝有Arduino和Processing(https://processing.org/download/)IDE的電腦

連接電腦與Arduino Uno的USB電纜

該項(xiàng)目通過(guò)Processing Sketch繪制一段時(shí)間內(nèi)的溫度曲線。

將傳感器開(kāi)發(fā)板安裝到Arduino的母排針上

將溫度傳感器模塊插到開(kāi)發(fā)板的Analog_2接口上

在Processing中運(yùn)行以下程序:

import processing.serial.*;

Serial arduinoPort;        // The serial port

int currentX = 0;         // horizontal position of the graph

float data = 0;

void setup () {

 

 size(1000, 300);

 arduinoPort = new Serial(this, Serial.list()[1], 9600); //"intercept" serial print messages

 arduinoPort.bufferUntil('n');

 background(0);

}

float oldData =0;

void draw () {

 stroke(0, 255, 0);

 if (currentX++ >= width) //start at the left of the window with a blank screen when the screen has been filled

 {

   currentX=0;

   background(0);

 }

 

 if (Math.abs(data-oldData) < 30) //prevent the program from drawing noise spikes

 {

   line(currentX, height - oldData, currentX++, height - data);

 }

 else

 {

   stroke(0, 0, 0);

   line(currentX, height - oldData, currentX++, height - data);

 }

 oldData = data;

}

void serialEvent (Serial arduinoPort) {

 

 String serialInput = arduinoPort.readStringUntil('n');

 if (serialInput != null) {

   serialInput = trim(serialInput);

   data = int(serialInput);

   

   println(data);

   

   data = map(data, 0, 1023, 0, height);

 }

}

將以下程序上傳至Arduino:

#include 

int tempout_pin = A2;

BD1020 bd1020;

void setup() {

 Serial.begin(9600);

 while (!Serial);

 bd1020.init(tempout_pin);

}

void loop() {

 float temp;

 bd1020.get_val(&temp);

 Serial.println(bd1020.temp_adc);

 

 delay(500);

}

我們利用此套件中的接近傳感器完成了一個(gè)非常好玩的項(xiàng)目,具體內(nèi)容請(qǐng)點(diǎn)擊閃光萬(wàn)圣節(jié)面具項(xiàng)目。

poYBAGPzDoyAVmHgAAAjEJsiUjQ529.png

Rahul Iyer

Rahul是加州大學(xué)洛杉磯分校電氣工程學(xué)院的學(xué)生,愛(ài)好電子和機(jī)器人項(xiàng)目,尤其熱衷于電動(dòng)汽車技術(shù)和輔助機(jī)器人技術(shù)。

審核編輯黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2541

    文章

    49963

    瀏覽量

    747538
  • Arduino
    +關(guān)注

    關(guān)注

    187

    文章

    6453

    瀏覽量

    185931
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Arduino兼容傳感器擴(kuò)展板SensorShield-EVK-001

    ;SensorShield-EVK-001"是將ROHM集團(tuán)量產(chǎn)中的8種傳感器分別在PCB板上實(shí)裝并與開(kāi)放平臺(tái)連接板組成的套件。通過(guò)與在全球電子工具領(lǐng)域應(yīng)用廣泛的Arduino Uno
    發(fā)表于 04-11 06:20

    【羅姆傳感器評(píng)估板試用體驗(yàn)連載】一、產(chǎn)品開(kāi)箱

    感謝eefans和廠家提供的試用活動(dòng)。本次收到的是來(lái)自羅姆放的傳感器評(píng)估板。板卡采用日系簡(jiǎn)潔風(fēng)的包裝:板卡全家福:套件包含3個(gè)傳感器板卡和一個(gè)擴(kuò)展板以及一個(gè)
    發(fā)表于 02-11 19:08

    【羅姆傳感器評(píng)估板試用體驗(yàn)連載】1.開(kāi)箱+資料準(zhǔn)備+環(huán)境搭建+拓展板

    本帖最后由 戟戰(zhàn)士 于 2022-2-25 11:40 編輯 一、開(kāi)箱 非常感謝開(kāi)心醬和廠商提供這次免費(fèi)試用的機(jī)會(huì),傳感器評(píng)估板已簽收,內(nèi)含Arduino UNO開(kāi)發(fā)板*1、拓展板*1以及
    發(fā)表于 02-25 11:35

    【羅姆傳感器評(píng)估板試用體驗(yàn)連載】-02-傳感器篇- 溫度傳感器評(píng)估板BH1900NUX-EVK-001

    【羅姆傳感器評(píng)估板試用體驗(yàn)連載】-02-傳感器篇-溫度傳感器評(píng)估板BH1900NUX-EVK-001鳴謝: 需要準(zhǔn)備的工具和資料
    發(fā)表于 02-26 11:05

    【羅姆傳感器評(píng)估板試用體驗(yàn)連載】-03-傳感器篇- 氣壓傳感器評(píng)估板BM1390GLV-EVK-001 顏色傳感器評(píng)估板BH1749NUC-EVK-001

    本帖最后由 jf_18702540 于 2022-3-9 11:37 編輯 【羅姆傳感器評(píng)估板試用體驗(yàn)連載】-03-傳感器篇-氣壓傳感器評(píng)估
    發(fā)表于 03-08 16:06

    【羅姆傳感器評(píng)估板試用體驗(yàn)連載】開(kāi)箱展示

    首先感謝電子發(fā)燒友平臺(tái)的眷顧,有幸申請(qǐng)到了Rohm傳感器開(kāi)發(fā)板套件。這次申請(qǐng)的套件包含了Rohm三個(gè)類型
    發(fā)表于 03-11 14:01

    ROHM 地磁傳感器介紹與應(yīng)用

    本視頻將指導(dǎo)您地磁傳感器評(píng)估方法 。支持Arduino Uno、mbed等開(kāi)放平臺(tái)的羅姆傳感器評(píng)估套件
    的頭像 發(fā)表于 06-26 17:43 ?5873次閱讀

    ROHM 加速度傳感器的介紹與使用

    支持Arduino Uno、mbed等開(kāi)放平臺(tái)的羅姆傳感器評(píng)估套件 SensorShield-EVK-001??蓪⒘_姆的8種高性能傳感器組合
    的頭像 發(fā)表于 06-26 17:30 ?3723次閱讀

    利用Arduino Create和ROHM傳感器評(píng)估套件制作智能花園系統(tǒng)

    今天,我們將利用ROHM傳感器評(píng)估套件打造一套智能花園系統(tǒng)。在此項(xiàng)目中,我們整合接近/環(huán)境光傳感器(ALS)和其他
    的頭像 發(fā)表于 02-23 17:58 ?1057次閱讀
    利用<b class='flag-5'>Arduino</b> Create和<b class='flag-5'>ROHM</b><b class='flag-5'>傳感器</b><b class='flag-5'>評(píng)估</b><b class='flag-5'>套件</b>制作智能花園系統(tǒng)

    ROHM Arduino傳感器套件打造DIY萬(wàn)圣節(jié)僵尸面具

    今天,我們會(huì)利用ROHM傳感器評(píng)估套件制作一款超級(jí)簡(jiǎn)單的萬(wàn)圣節(jié)僵尸面具!我們將使用ROHM接近傳感器
    的頭像 發(fā)表于 02-23 17:45 ?808次閱讀
    用<b class='flag-5'>ROHM</b> <b class='flag-5'>Arduino</b><b class='flag-5'>傳感器</b><b class='flag-5'>套件</b>打造DIY萬(wàn)圣節(jié)僵尸面具

    Arduino預(yù)處理指令教程

    在適用于ROHM傳感器評(píng)估套件的輕量級(jí)Arduino庫(kù)中,我介紹了RohmMultiSensor——幫您輕松連接
    的頭像 發(fā)表于 02-24 09:51 ?1535次閱讀
    <b class='flag-5'>Arduino</b>預(yù)處理<b class='flag-5'>器</b>指令教程

    采用ROHM傳感器套件的DIY Arduino家庭安防系統(tǒng) 第1部分 機(jī)制

    在該項(xiàng)目中,我們將使用Arduino Mega和ROHM傳感器評(píng)估套件來(lái)制作一套DIY Arduino
    的頭像 發(fā)表于 02-24 15:08 ?918次閱讀
    采用<b class='flag-5'>ROHM</b><b class='flag-5'>傳感器</b><b class='flag-5'>套件</b>的DIY <b class='flag-5'>Arduino</b>家庭安防系統(tǒng) 第1部分 機(jī)制

    ROHM傳感器評(píng)估套件的3D外殼以及RohmMultiSensor庫(kù)更新

    不久前,我創(chuàng)建了RohmMultiSensor - Arduino庫(kù),利用該庫(kù)可以輕松控制ROHM傳感器評(píng)估套件中的多個(gè)
    的頭像 發(fā)表于 02-24 09:51 ?802次閱讀
    <b class='flag-5'>ROHM</b><b class='flag-5'>傳感器</b><b class='flag-5'>評(píng)估</b><b class='flag-5'>套件</b>的3D外殼以及RohmMultiSensor庫(kù)更新

    適用于羅姆傳感器評(píng)估套件的輕量級(jí) Arduino庫(kù)

    羅姆傳感器評(píng)估套件是一種兼容 Arduino 的擴(kuò)展板 (Shield),配有以下8鐘傳感器:加速度計(jì)、壓力
    的頭像 發(fā)表于 02-24 10:21 ?753次閱讀
    適用于羅姆<b class='flag-5'>傳感器</b><b class='flag-5'>評(píng)估</b><b class='flag-5'>套件</b>的輕量級(jí) <b class='flag-5'>Arduino</b>庫(kù)

    利用ROHM傳感器評(píng)估套件實(shí)現(xiàn)UCLA AirMouse–第2部分

    在利用ROHM傳感器評(píng)估套件實(shí)現(xiàn)UCLA AirMouse – 第1部分中,我們完成了項(xiàng)目的硬件。對(duì)于發(fā)射部分,我們將AirMouse按鈕
    的頭像 發(fā)表于 02-27 10:27 ?480次閱讀