那曲檬骨新材料有限公司

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

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

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

淺談Arduino Nano 33系列的IMU傳感器

電子設(shè)計(jì) ? 來源:一板網(wǎng) ? 作者:風(fēng)箏 ? 2021-01-13 16:52 ? 次閱讀

您的項(xiàng)目需要加速度計(jì)、陀螺儀或磁場(chǎng)傳感器嗎??jī)?nèi)置的IMU傳感器LSM9DS1包含這些功能!

您可能已經(jīng)閱讀了有關(guān)新的Arduino Nano 33系列及其實(shí)時(shí)和多線程功能的信息。但是,該開發(fā)板還有更多有用的功能!其中之一就是內(nèi)置的LSM9DS1 IMU,它包含一個(gè)加速度計(jì)、一個(gè)陀螺儀和一個(gè)磁場(chǎng)傳感器。

在本篇文章中,我們將向您展示如何在不使用任何其他硬件的情況下使用IMU。

安裝LSM9DS1 IMU庫

在開始之前,您需要為內(nèi)置傳感器安裝官方的Arduino庫。為此,導(dǎo)航到“Sketch”,在Arduino IDE中打開庫管理器,然后單擊“include library”,然后選擇“manage libraries”。這將會(huì)彈出一個(gè)新窗口。在該窗口中,搜索IMU并安裝下圖高亮顯示的軟件包:

pIYBAF_-s-eAaEl8AAFlEghM3N4601.png

接下來,如果要使用IMU,請(qǐng)?jiān)贏rduino草圖中包括這個(gè)已安裝的軟件包:

#include

使用加速度計(jì)

IMU的加速度計(jì)可用于測(cè)量設(shè)備的方向。下圖顯示了Arduino的移動(dòng)與加速度計(jì)的哪個(gè)測(cè)量軸相對(duì)應(yīng)。

pIYBAF_-s_iAPvZxAAVpNSlFrZs773.png

Arduino的運(yùn)動(dòng)如何與加速度計(jì)的X軸、Y軸和Z軸相對(duì)應(yīng)

為了測(cè)試加速度計(jì),我編寫了一個(gè)小的測(cè)試腳本,可以檢測(cè)Arduino是放置在平坦的表面上還是傾斜到任一側(cè)。如您所見,該腳本必須讀取加速度計(jì)的Y軸來確定旋轉(zhuǎn)角度。

將設(shè)備放在平坦表面上時(shí),測(cè)量值為零。當(dāng)Arduino倒置時(shí),也是如此。以下代碼段顯示了loop方法的內(nèi)容。

float x, y, z, delta = 0.05;

if (IMU.accelerationAvailable())

{

IMU.readAcceleration(x, y, z);

if(y <= delta && y >= -delta)

Serial.println("flat");

else if(y > delta && y < 1 - delta)

Serial.println("tilted to the left");

else if(y >= 1 - delta)

Serial.println("left");

else if(y < -delta && y > delta - 1)

Serial.println("tilted to the right");

else

Serial.println("right");

}

如您所見,我不必連接任何外部硬件。對(duì)IMU的所有調(diào)用都很短,這有助于保持代碼簡(jiǎn)潔。

我使用了增量值來適應(yīng)讀取傳感器值時(shí)可能出現(xiàn)的最終誤差。您可以調(diào)整該值,以使Arduino更早地對(duì)其方向變化做出反應(yīng)。

該草圖的輸出如下所示:

o4YBAF_-tAWAUbNOAAB_zvjwBns452.png

使用陀螺儀

如您所見,在Nano 33 BLE開發(fā)板上,連接IMU的加速度計(jì)是一個(gè)簡(jiǎn)單的過程。幸運(yùn)的是,讀取其他傳感器值同樣容易。例如,陀螺儀可用于實(shí)現(xiàn)手勢(shì)檢測(cè):

float x, y, z, delta = 400;

if (IMU.gyroscopeAvailable())

{

IMU.readGyroscope(x, y, z);

if(y < -delta)

Serial.println("Flicked down");

else if(y > delta)

Serial.println("Flicked up");

}

此示例腳本檢測(cè)何時(shí)快速向上或向下移動(dòng)Arduino并做出相應(yīng)的反應(yīng)。在該示例中,delta值越小,Arduino對(duì)運(yùn)動(dòng)的反應(yīng)就越早。

該程序的輸出如下所示:

pIYBAF_-tBWAMV9rAACSpkhrwSc814.png

檢測(cè)磁場(chǎng)

LSM9DS1還可以檢測(cè)磁場(chǎng)。您先前下載的庫包含用于此目的的函數(shù)。您可以通過調(diào)用readMagneticField函數(shù)獲得以微特斯拉(micro Tesla)單位測(cè)量的磁場(chǎng)。調(diào)用此函數(shù)可以生成顯示測(cè)量值的圖表。

pIYBAF_-tCSACaSyAAB3rZacryw478.png

顯示來自readMagneticField函數(shù)的測(cè)量值的圖表

內(nèi)置IMU易于設(shè)置

內(nèi)置的LSM9DS1 IMU具有許多不同的有用傳感器,并且很容易進(jìn)行連接。您唯一要做的就是安裝官方庫以利用傳感器的功能。 IMU所配備的各種傳感器不僅給我留下了深刻的印象,而且其準(zhǔn)確性也給我留下了深刻的印象。陀螺儀和加速度計(jì)可以精確地檢測(cè)甚至最小的運(yùn)動(dòng)。
編輯:hfy

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

    關(guān)注

    2553

    文章

    51392

    瀏覽量

    756593
  • 陀螺儀
    +關(guān)注

    關(guān)注

    44

    文章

    792

    瀏覽量

    98978
  • 加速度計(jì)
    +關(guān)注

    關(guān)注

    6

    文章

    704

    瀏覽量

    46024
  • Arduino
    +關(guān)注

    關(guān)注

    188

    文章

    6477

    瀏覽量

    187819
  • 磁場(chǎng)傳感器
    +關(guān)注

    關(guān)注

    0

    文章

    41

    瀏覽量

    12080
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于Arduino Nano和HC-SR04超聲波傳感器制作社交距離項(xiàng)目

    描述基于 Arduino Nano、超聲波傳感器和 LED 模塊的針對(duì) Covid-19 冠狀病毒的社會(huì)隔離項(xiàng)目在本教程中,您將學(xué)習(xí)如何基于 Arduino
    發(fā)表于 08-09 06:30

    Arduino Nano 33 BLE Sense的色度計(jì)和近接感測(cè)傳感器來分類對(duì)象

    在本文中,我們將帶您了解一個(gè)更為簡(jiǎn)單的端到端教程:使用 TensorFlow Lite Micro 庫,以及 Arduino Nano 33 BLE Sense 的色度計(jì)和近接感測(cè)
    的頭像 發(fā)表于 11-18 17:21 ?7196次閱讀

    基于Arduino Nano、超聲波傳感器和LED模塊的項(xiàng)目

    電子發(fā)燒友網(wǎng)站提供《基于Arduino Nano、超聲波傳感器和LED模塊的項(xiàng)目.zip》資料免費(fèi)下載
    發(fā)表于 07-26 10:28 ?1次下載
    基于<b class='flag-5'>Arduino</b> <b class='flag-5'>Nano</b>、超聲波<b class='flag-5'>傳感器</b>和LED模塊的項(xiàng)目

    使用Arduino nano計(jì)算風(fēng)速的傳感器

    電子發(fā)燒友網(wǎng)站提供《使用Arduino nano計(jì)算風(fēng)速的傳感器.zip》資料免費(fèi)下載
    發(fā)表于 08-11 11:37 ?4次下載
    使用<b class='flag-5'>Arduino</b> <b class='flag-5'>nano</b>計(jì)算風(fēng)速的<b class='flag-5'>傳感器</b>

    Arduino Nano 33 IoT遠(yuǎn)程調(diào)試及編碼

    電子發(fā)燒友網(wǎng)站提供《Arduino Nano 33 IoT遠(yuǎn)程調(diào)試及編碼.zip》資料免費(fèi)下載
    發(fā)表于 10-26 10:57 ?1次下載
    <b class='flag-5'>Arduino</b> <b class='flag-5'>Nano</b> <b class='flag-5'>33</b> IoT遠(yuǎn)程調(diào)試及編碼

    使用TinyML和Arduino Nano 33 BLE計(jì)算閱讀時(shí)間

    電子發(fā)燒友網(wǎng)站提供《使用TinyML和Arduino Nano 33 BLE計(jì)算閱讀時(shí)間.zip》資料免費(fèi)下載
    發(fā)表于 10-28 16:50 ?1次下載
    使用TinyML和<b class='flag-5'>Arduino</b> <b class='flag-5'>Nano</b> <b class='flag-5'>33</b> BLE計(jì)算閱讀時(shí)間

    Arduino Nano 33 BLE與Web應(yīng)用程序通信

    電子發(fā)燒友網(wǎng)站提供《Arduino Nano 33 BLE與Web應(yīng)用程序通信.zip》資料免費(fèi)下載
    發(fā)表于 11-01 10:59 ?0次下載
    <b class='flag-5'>Arduino</b> <b class='flag-5'>Nano</b> <b class='flag-5'>33</b> BLE與Web應(yīng)用程序通信

    使用Arduino Nano傳感器制成的數(shù)字測(cè)距儀

    電子發(fā)燒友網(wǎng)站提供《使用Arduino Nano傳感器制成的數(shù)字測(cè)距儀.zip》資料免費(fèi)下載
    發(fā)表于 11-04 09:19 ?0次下載
    使用<b class='flag-5'>Arduino</b> <b class='flag-5'>Nano</b>和<b class='flag-5'>傳感器</b>制成的數(shù)字測(cè)距儀

    Arduino Nano 33 BLE Sense上的白血病檢測(cè)

    電子發(fā)燒友網(wǎng)站提供《Arduino Nano 33 BLE Sense上的白血病檢測(cè).zip》資料免費(fèi)下載
    發(fā)表于 11-04 14:28 ?0次下載
    <b class='flag-5'>Arduino</b> <b class='flag-5'>Nano</b> <b class='flag-5'>33</b> BLE Sense上的白血病檢測(cè)

    Arduino Nano 33 BLE Sense的語音識(shí)別項(xiàng)目

    電子發(fā)燒友網(wǎng)站提供《Arduino Nano 33 BLE Sense的語音識(shí)別項(xiàng)目.zip》資料免費(fèi)下載
    發(fā)表于 12-07 09:32 ?3次下載
    <b class='flag-5'>Arduino</b> <b class='flag-5'>Nano</b> <b class='flag-5'>33</b> BLE Sense的語音識(shí)別項(xiàng)目

    Arduino Nano 33 LiPo適配器nano9jira開源分享

    電子發(fā)燒友網(wǎng)站提供《Arduino Nano 33 LiPo適配器nano9jira開源分享.zip》資料免費(fèi)下載
    發(fā)表于 12-20 09:51 ?0次下載
    <b class='flag-5'>Arduino</b> <b class='flag-5'>Nano</b> <b class='flag-5'>33</b> LiPo適配器<b class='flag-5'>nano</b>9jira開源分享

    帶有Arduino Nano 33 IoT的氣鼓

    電子發(fā)燒友網(wǎng)站提供《帶有Arduino Nano 33 IoT的氣鼓.zip》資料免費(fèi)下載
    發(fā)表于 06-14 11:10 ?0次下載
    帶有<b class='flag-5'>Arduino</b> <b class='flag-5'>Nano</b> <b class='flag-5'>33</b> IoT的氣鼓

    基于Arduino Nano 33 BLE Sense的深蹲計(jì)數(shù)

    電子發(fā)燒友網(wǎng)站提供《基于Arduino Nano 33 BLE Sense的深蹲計(jì)數(shù).zip》資料免費(fèi)下載
    發(fā)表于 06-15 10:52 ?0次下載
    基于<b class='flag-5'>Arduino</b> <b class='flag-5'>Nano</b> <b class='flag-5'>33</b> BLE Sense的深蹲計(jì)數(shù)<b class='flag-5'>器</b>

    Arduino Nano 33物聯(lián)網(wǎng)調(diào)試

    電子發(fā)燒友網(wǎng)站提供《Arduino Nano 33物聯(lián)網(wǎng)調(diào)試.zip》資料免費(fèi)下載
    發(fā)表于 06-25 10:33 ?0次下載
    <b class='flag-5'>Arduino</b> <b class='flag-5'>Nano</b> <b class='flag-5'>33</b>物聯(lián)網(wǎng)調(diào)試

    Arduino Nano 33 Sense BLE開源

    電子發(fā)燒友網(wǎng)站提供《Arduino Nano 33 Sense BLE開源.zip》資料免費(fèi)下載
    發(fā)表于 06-26 15:20 ?5次下載
    <b class='flag-5'>Arduino</b> <b class='flag-5'>Nano</b> <b class='flag-5'>33</b> Sense BLE開源
    百家乐官网路单走势图| 百家乐技巧看| 百家乐官网保单破解方法| 百家乐娱乐官网| 百家乐官网视频象棋| 百家乐视频游戏网址| 全球最大赌博网站| 百家乐娱乐城介绍| 百家乐官网的代理办法| 百家乐园选蒙| 王牌百家乐官网的玩法技巧和规则| 大发888娱乐场老虎机| 百家乐官网论坛bocaila| 贵定县| 百家乐象棋赌博| 真人百家乐官网澳门娱乐城| 老虎机干扰器| 百家乐官网翻天下载| 新澳博| 真人百家乐蓝盾娱乐平台| 百家乐官网群1188999| 百家乐存200送200| 女优百家乐官网的玩法技巧和规则| 乐天堂娱乐场| 百家乐赌场牌路分析| 百家乐官网全透明牌靴| 真人百家乐游戏软件| 百家乐官网对子的玩法| 皇冠现金网网址| 澳门百家乐博牌| 赌博中百家乐官网什么意思| 德州扑克保险| 百家乐发牌的介绍| 百家乐官网二十一点游戏| 大发888代理充值| 百家乐怎么下可以赢| 百家乐官网类游戏平台| 真人百家乐赌场娱乐网规则| 百家乐官网赌博导航| 汇丰娱乐城| 电子百家乐技巧|