曰本美女∴一区二区特级A级黄色大片, 国产亚洲精品美女久久久久久2025, 页岩实心砖-高密市宏伟建材有限公司, 午夜小视频在线观看欧美日韩手机在线,国产人妻奶水一区二区,国产玉足,妺妺窝人体色WWW网站孕妇,色综合天天综合网中文伊,成人在线麻豆网观看

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

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

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

ROHM傳感器評估套件的3D外殼以及RohmMultiSensor庫更新

張桂英 ? 來源:ggfx ? 作者:ggfx ? 2023-02-24 09:51 ? 次閱讀

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

pYYBAGPzGCyAdag-AADADNujym0609.jpg

不久前,我創(chuàng)建了RohmMultiSensor – Arduino庫,利用該庫可以輕松控制ROHM傳感器評估套件中的多個傳感器。第一篇文章發(fā)布以來,庫API發(fā)生了一些變化,使得測量更加容易。此外,RohmMultiSensor現(xiàn)在為每個傳感器和開發(fā)板提供3D打印外殼!

硬件

Arduino UNO或Mega

ROHM傳感器評估套件

3D打印傳感器外殼,詳細信息請參閱Thingiverse

軟件

Arduino IDE

RohmMultiSensor庫,詳細信息請參閱GitHub

工具

3D打印機

在本文中,我們將介紹該庫的一些新功能和改進功能。我們還會介紹傳感器和開發(fā)板的3D打印外殼。

新測量方法

首先解釋一下我如何——也許更重要的是為什么——改變了測量方式。在之前版本的庫中,您調(diào)用了一個函數(shù),其返回值如下所示:

float* accelValue = acc.measure();

雖然這種方法非常直觀,而且對于大多數(shù)傳感器來說效果很好,但對于返回多個值的傳感器而言并不方便。比如,加速度計會返回三個值:X、Y和Z軸的加速度。然后,該函數(shù)必須返回一個包含三個值的數(shù)組。用C/C++術(shù)語來說,這意味著返回一個指向數(shù)組的指針,動態(tài)地分配一個新的數(shù)組。數(shù)組用完之后,我們需要手動釋放該數(shù)組以釋放內(nèi)存。

delete[] accelValue;

在C/C++中動態(tài)分配數(shù)組并重新分配數(shù)組在C/C++中并不少見,但對于剛剛開始編程且尚未完全理解內(nèi)存管理和指針等內(nèi)容的人來說,這并不是最直觀的。

為了讓Arduino初學(xué)者便于使用該庫,測量系統(tǒng)發(fā)生了以下變化:每個傳感器仍然具有原始.measure()函數(shù)。但是,這個函數(shù)不帶參數(shù),不返回任何東西。傳感器測量的值被存儲一個測量變量中,該變量是傳感器類的一部分。

sensorAcc.measure();
// 現(xiàn)在我們把數(shù)據(jù)放在測量變量中
Serial.println(sensorAcc.accelX);
Serial.println(sensorAcc.accelY);
Serial.println(sensorAcc.accelZ);

這個新系統(tǒng)也意味著庫能夠更好地處理異步測量和中斷。

改進的中斷支持

更新庫還改進了對中斷的支持。在舊版本中,唯一支持——實際上是需要——中斷的傳感器是BM1422GMV地磁傳感器。但是,幾乎所有使用I2C總線的傳感器都有某種形式的中斷。這就是為什么現(xiàn)在庫可以支持KX022加速度計的中斷功能,后續(xù)我會提供更多支持!

現(xiàn)在,實現(xiàn)中斷的方式非常簡單:每次Arduino接收到傳感器的中斷后,測量變量就會被更新。這個值一直有效,直到新中斷到達。此時,系統(tǒng)從傳感器讀取一個新值并保存。

以下代碼展示了如何將BM1422GMV和KX022與中斷一起使用。

// 定義所使用的傳感器

#define INCLUDE_BM1422GMV

#define INCLUDE_KX022_1020

// 包含庫

#include 

// 用中斷0實例化KX022-1020類

KX022_1020 sensorAcc(INT_0);

// 用中斷1實例化BM1422GMV類

BM1422GMV sensorMag(INT_1);

// 定義中斷服務(wù)程序

void acc_isr(void) {

sensorAcc.setFlagDrdy();

}

void mag_isr(void) {

sensorMag.setFlagDrdy();

}

void setup() {

// 開始串行通信

Serial.begin(9600);

Serial.println();

// 開啟TWI(I2C)接口。

// 調(diào)用.init()之前,必須調(diào)用這個函數(shù)!

Wire.begin();

// 用默認值初始化KX022-1020和BM1422GMV

// 我們必須為.init()提供中斷服務(wù)例程

sensorAcc.init(acc_isr);

sensorMag.init(mag_isr);

Serial.println("X[g]tY[g]tZ[g]tX[uT]tY[uT]tZ[uT]");

}


void loop() {

// 測量傳感器數(shù)值

sensorAcc.measure();

sensorMag.measure();

// 輸出所測量的數(shù)值

Serial.print(sensorAcc.accelX);

Serial.print('t');

Serial.print(sensorAcc.accelY);

Serial.print('t');

Serial.print(sensorAcc.accelZ);

Serial.print('t');

Serial.print(sensorMag.magX);

Serial.print('t');

Serial.print(sensorMag.magY);

Serial.print('t');

Serial.println(sensorMag.magZ);


// 下次測量之前等待100 ms

delay(100);

}

由于KX022不需要中斷工作,因此可以禁用中斷!

// 定義所使用的傳感器

#define INCLUDE_KX022_1020

// 包含庫

#include RohmMultiSensor.h

// 用默認設(shè)置實例化傳感器類

KX022_1020 sensorAcc;

// 上述指令相當于

// KX022_1020 acc(INT_NONE);

void setup() {

// 開始串行通信

Serial.begin(9600);

Serial.println();

// 開啟TWI(I2C)接口。

// 調(diào)用.init()之前,必須調(diào)用這個函數(shù)!

Wire.begin();

// 用默認值初始化KX022-1020

sensorAcc.init();

Serial.println("X[g]tY[g]tZ[g]");

}

void loop() {

// 測量傳感器數(shù)值

sensorAcc.measure();

// 將值打印至串口

Serial.print(sensorAcc.accelX);

Serial.print('t');

Serial.print(sensorAcc.accelY);

Serial.print('t');

Serial.println(sensorAcc.accelZ);

// 下次測量之前等待100 ms

delay(100);

}

傳感器外殼

除了RohmMultiSensor庫,我們還為傳感器制作了重要的外殼!憑借這些裝置,您可以將傳感器安裝在任何位置,然后使用線將它們連至開發(fā)板。如果您需要確保像加速度計和磁力計這樣的傳感器牢固安裝并提供精確測量,或者需要將傳感器開發(fā)板放在單獨的外殼中,這將非常有用。

將傳感器安裝到外殼中非常簡單。所有外殼都由兩部分組成:下半部分和上半部分。

pYYBAGPzFEeAZKULAACD6t1_Giw353.jpg

圖1 KX022-1020或BM1422GMV等傳感器的通用外殼。左邊為下半部分,右邊為上半部分。

只需將傳感器插入外殼的下半部分,讓引腳突出另一側(cè)即可。

poYBAGPzGC-AfLddAACGzvy6uFw731.jpg

圖2 插入外殼下半部分的傳感器,底視圖(左)和頂視圖(右)

然后,用兩個M3螺栓將傳感器固定到位。

poYBAGPzGDGAf1IvAACTm8A19XE994.jpg

圖3 裝有兩個M3螺栓的傳感器,底視圖(左)和頂視圖(右)

現(xiàn)在只需要用M3螺栓將外殼的上半部分固定到下半部分。完成!外殼現(xiàn)在可以自由安裝在幾乎任何東西上。

pYYBAGPzGDOANaN6AABrvtL1Ir0666.jpg

圖4 裝配完成的傳感器外殼

有些傳感器,比如紫外線傳感器或顏色傳感器,需要與外界進行光學(xué)接觸。這些傳感器的外殼設(shè)計能夠?qū)崿F(xiàn)這種光學(xué)接觸,如下圖所示。

poYBAGPzGDSAENu5AACH0KxKrqk923.jpg

圖5 裝配完成的UV傳感器外殼

當然,如果沒有開發(fā)板外殼,那么這個外殼清單就不完整!開發(fā)板外殼可以讓您將Arduino和ROHM傳感器評估開發(fā)板放入一個非常方便的箱子中,同時仍然能夠在上面安裝傳感器!

pYYBAGPzGDaADYZYAADLjm1UI40882.jpg

圖6 開發(fā)板外殼

pYYBAGPzGDiAfq1GAAFH0e3_CME195.jpg

圖7 傳感器開發(fā)板的頂蓋

poYBAGPzGDqAfOFTAADg_JaiDKE699.jpg

圖8 傳感器開發(fā)板的底蓋

當然,還有很多需要改進的地方。如上文所述,許多其他傳感器也可以使用中斷,實現(xiàn)這些功能也不錯。另外,我們可以設(shè)法在運行程序(sketch)時重新配置傳感器設(shè)置,該功能也很有用。目前,這個過程只能在Arduino啟動、構(gòu)建傳感器類時完成。

審核編輯:湯梓紅

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

    關(guān)注

    2561

    文章

    52298

    瀏覽量

    762338
  • Rohm
    +關(guān)注

    關(guān)注

    8

    文章

    379

    瀏覽量

    66617
  • Arduino
    +關(guān)注

    關(guān)注

    188

    文章

    6485

    瀏覽量

    189833
收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    3D打印外殼資料

    /index.htm?spm=2013.1.w5002-4851414884.2.DnEssPNanoPi M3 3D打印外殼NanoPi M1 3D打印
    發(fā)表于 11-29 18:03

    3D傳感器如何為車內(nèi)安全保駕護航?

    圖像感知技術(shù)公司,此前,他們的3D感知技術(shù)已經(jīng)實現(xiàn)了穿透不同材料、感知液體,以及繪制3D模型等場景應(yīng)用。當?shù)貢r間7月13日,Vayyar宣布發(fā)布新一代傳感器產(chǎn)品,將面向汽車及自動駕駛市
    發(fā)表于 07-29 07:38

    3D傳感器有哪些類型

    目標表面的橫截面輪廓,從而生成高密度3D點云。整個零件的3D點云用于執(zhí)行尺寸和體積測量以及決策。智能線輪廓傳感器提供內(nèi)置的測量工具,還可以生成與3D
    發(fā)表于 12-09 14:09

    3D元件封裝

    3D元件封裝3D元件封裝3D元件封裝3D元件封
    發(fā)表于 03-21 17:16 ?0次下載

    快速了解3D力度感測技術(shù)廠商Peratech推出3D力度觸摸傳感器

    Peratech QTC力度感測的獨特柔性顯示可實現(xiàn)全新應(yīng)用。3D力度感測技術(shù)廠商Peratech宣布推出一款集成了柔性有機液晶顯示(OLCD)的有源矩陣3D力度觸摸
    發(fā)表于 04-26 16:09 ?3765次閱讀

    多個3D智能傳感器組網(wǎng)的多傳感器網(wǎng)絡(luò)介紹

    由多個3D智能傳感器組網(wǎng)的多傳感器網(wǎng)絡(luò)是應(yīng)對這一挑戰(zhàn)的理想解決方案,同步掃描以及跨多部掃描設(shè)備執(zhí)行校準和拼接的能力帶來諸多關(guān)鍵優(yōu)勢。
    發(fā)表于 11-04 15:47 ?2235次閱讀

    3D視覺傳感器的精度是指什么

    經(jīng)常聽到有人問“3D視覺傳感器/3D激光視覺傳感器的精度是指什么?跟重復(fù)精度有什么區(qū)別?”“3D視覺傳感
    發(fā)表于 03-28 13:33 ?2557次閱讀
    <b class='flag-5'>3D</b>視覺<b class='flag-5'>傳感器</b>的精度是指什么

    選擇3D傳感器時需要注意什么

    3D傳感器在原理與結(jié)構(gòu)上千差萬別,如何根據(jù)具體的測量目的、測量對象以及測量環(huán)境合理地選用傳感器,是在進行某個量的測量時首先要解決的問題。
    發(fā)表于 04-13 14:59 ?679次閱讀
    選擇<b class='flag-5'>3D</b><b class='flag-5'>傳感器</b>時需要注意什么

    創(chuàng)建3D打印智能燈絲傳感器的教程

    今天我將演示如何使用光學(xué)編碼傳感器和控制在穿孔板上創(chuàng)建 3D 打印智能燈絲傳感器。我為我們的燈絲傳感
    發(fā)表于 07-12 16:19 ?1562次閱讀
    創(chuàng)建<b class='flag-5'>3D</b>打印智能燈絲<b class='flag-5'>傳感器</b>的教程

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

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

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

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

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

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

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

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

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

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

    3D霍爾傳感器與三軸的霍爾開關(guān)傳感器有什么區(qū)別和聯(lián)系

    霍爾微電子全新推出3D 3軸霍爾傳感器 ,那么3D霍爾傳感器3軸的霍爾開關(guān)
    的頭像 發(fā)表于 09-20 11:52 ?1300次閱讀