電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>使用arduino/genuino 101的板載慣性測(cè)量單元(IMU)教程

使用arduino/genuino 101的板載慣性測(cè)量單元(IMU)教程

2022-12-19 | zip | 0.16 MB | 次下載 | 免費(fèi)

資料介紹

描述

?

簡(jiǎn)介和動(dòng)機(jī):

有很多關(guān)于如何在您的項(xiàng)目中使用 arduino/genuino 101 的板載慣性測(cè)量單元 (IMU) 的優(yōu)秀教程。例如:,但缺少有關(guān)如何使用 Arduino/Genuino 101 的板載低功耗藍(lán)牙 (BLE) 傳輸此數(shù)據(jù)的信息。

本教程項(xiàng)目將演示一種使用 Evothings Workbench 通過(guò) BLE 將原始 IMU 數(shù)據(jù)傳輸?shù)揭苿?dòng)設(shè)備的方法。本教程還將展示如何使用Smoothie.js庫(kù) 以圖形方式實(shí)時(shí)顯示 IMU 數(shù)據(jù)。

pYYBAGOYdd-APbeYAADSZ-ZTrtQ305.jpg
標(biāo)題(可選)
?

你需要什么

  • Arduino/Genuino 101 板
  • USB電纜
  • Arduino IDE 1.6.8
  • 我們定制的 arduino 草圖,imuble01.ino
  • Evothings 工作臺(tái)和 Evothings 查看器?
  • Smoothie.js來(lái)自 SmoothieCharts?
  • 我們修改后的應(yīng)用文件index.htmlapp.js

軟件

該項(xiàng)目的代碼已注釋,我鼓勵(lì)您閱讀它。我不會(huì)提供所有代碼如何工作的逐行細(xì)分,而是強(qiáng)調(diào)我認(rèn)為最重要的領(lǐng)域。

對(duì)于 BLE 連接的 Arduino/Genuino 101 項(xiàng)目,了解所需軟件的整體布局非常重要。除了電路板上的 Arduino 草圖之外,您還必須編寫軟件才能在移動(dòng)設(shè)備上運(yùn)行。為了編寫草圖,我們使用熟悉的 Arduino IDE 以及我們項(xiàng)目所需的庫(kù) CurieIMU 和 CurieBLE。

要為移動(dòng)設(shè)備開(kāi)發(fā)我們的軟件,有兩大類選項(xiàng):

  • 直接為我們希望與之交互的移動(dòng)設(shè)備的操作系統(tǒng)編寫本機(jī)應(yīng)用程序。
  • 使用 JavaScript/HTML/CSS 三重奏編寫一個(gè) Web 應(yīng)用程序,它基本上可以在任何平臺(tái)上運(yùn)行。

在我與 BLE 合作的最初努力中,我面臨的挑戰(zhàn)不僅是學(xué)習(xí) BLE,而且還必須了解這些選項(xiàng)。這就是 Evothings 的用武之地。Evothings 平臺(tái)是一個(gè)完整的“生態(tài)系統(tǒng)”。借助 EvothingsStudio,我們可以使用 JavaScript/HTML/CSS 編寫我們軟件的移動(dòng)應(yīng)用程序組件。通過(guò)在我們的移動(dòng)設(shè)備上運(yùn)行 EvothngsViewer 應(yīng)用程序,我們可以訪問(wèn)設(shè)備的原生功能,例如 BLE。Evothings 平臺(tái)包括一個(gè)名為 easyble.js 的庫(kù),該庫(kù)具有通過(guò) BLE 連接與您的 Arduino/Genuino 101 項(xiàng)目建立和通信的所有必要功能。

?

如果您擔(dān)心不了解 HTML/CSS/JavaScript 會(huì)阻礙您,我可以保證在開(kāi)始這些項(xiàng)目和使用 Evothings 之前,我沒(méi)有任何網(wǎng)絡(luò)編程經(jīng)驗(yàn)。我確實(shí)有 C/Arduino C 和 Python 方面的經(jīng)驗(yàn),但沒(méi)有 HTML/CSS/JavaScript 方面的經(jīng)驗(yàn)。evothings 網(wǎng)站包含大量?jī)?yōu)秀的教程和文章 可幫助您入門。如果您有一些基本的編程知識(shí),并且愿意通讀并學(xué)習(xí)一些有趣的代碼示例,那么請(qǐng)立即投入并使用這個(gè)非凡的工具!

Arduino草圖

我為 arduino 項(xiàng)目編寫軟件的首要原則是建立在其他人的工作之上,這個(gè)項(xiàng)目也不例外。我使用加速度計(jì)和陀螺儀原始數(shù)據(jù)訪問(wèn)示例草圖作為我項(xiàng)目草圖的基礎(chǔ)。這些位于 CurieIMU 庫(kù) ( http://www.arduino.cc/en/Reference/CurieIMU )參考頁(yè)面的底部。我從加速度計(jì)草圖開(kāi)始,然后將相關(guān)的陀螺儀草圖元素剪切并粘貼到其中。

低功耗藍(lán)牙

當(dāng)我第一次開(kāi)始使用 BLE 時(shí),我對(duì)所有新術(shù)語(yǔ)感到不知所措。我希望它會(huì)像通過(guò)串行端口發(fā)送消息一樣簡(jiǎn)單。如果您感到不知所措,請(qǐng)不要擔(dān)心,只需開(kāi)始嘗試即可。您使用它的次數(shù)越多,您就越有信心在您的項(xiàng)目中使用 BLE!有許多很好的教程可以幫助您入門。開(kāi)始學(xué)習(xí)的幾個(gè)好地方是 CurieBLE 庫(kù)參考和 Adafruit BLE 教程:

BLE 標(biāo)準(zhǔn)規(guī)定了服務(wù),這些服務(wù)是相關(guān)數(shù)據(jù)值的集合或集合。在 BLE 的世界中,這些值被稱為特性。每個(gè)服務(wù)和特征都由一個(gè)通用唯一標(biāo)識(shí)符 (uuid) 指定。對(duì)于官方接受的服務(wù),這些 uuid 是為您指定的。信不信由你,我找不到慣性測(cè)量的標(biāo)準(zhǔn)服務(wù)!所以對(duì)于這個(gè)應(yīng)用程序,我必須為我的“imu 服務(wù)”生成一個(gè)自定義 uuid。對(duì)于自定義服務(wù),您必須創(chuàng)建自己的 128 位自定義 uuid。這很容易做到,并且有很多資源可以生成這些 uuid。我使用的是一個(gè)在線 uuid 生成器:

完成后,您可以使用 CurieBLE 庫(kù)創(chuàng)建 BLE 服務(wù):

BLEService imuService("917649A0-D98E-11E5-9EEC-0002A5D5C51B"); // 自定義 UUID

BLECharacteristic imuAccCharacteristic("917649A1-D98E-11E5-9EEC-0002A5D5C51B", BLERead | BLENotify, 12 );

BLECharacteristic imuGyroCharacteristic("917649A2-D98E-11E5-9EEC-0002A5D5C51B", BLERead | BLENotify, 12 );

BLEUnsignedCharCharacteristic appButtonCharacteristic("917649A7-D98E-11E5-9EEC-0002A5D5C51B", BLERead | BLEWrite );

請(qǐng)閱讀 Arduino/Genuino 101 網(wǎng)站上的 BLE 代碼示例(https://www.arduino.cc/en/Tutorial/Genuino101CurieBLEHeartRateMonitor) 和此代碼中的注釋以進(jìn)一步了解如何設(shè)置您的 BLE 服務(wù)和特性。通過(guò) BLE 發(fā)送浮點(diǎn)數(shù):所有 BLE 數(shù)據(jù)都以字節(jié)形式傳輸。因此,無(wú)論您的數(shù)據(jù)是來(lái)自整數(shù)、字符還是浮點(diǎn)數(shù),都必須將其轉(zhuǎn)換為字節(jié)才能通過(guò) BLE 傳輸。無(wú)需將 IMU 數(shù)據(jù)作為浮點(diǎn)數(shù)傳輸,CurieIMU 接口允許您以整數(shù)形式訪問(wèn)原始 IMU 數(shù)據(jù)。然而,這兩個(gè)示例應(yīng)用程序都將這些原始數(shù)據(jù)轉(zhuǎn)換為具有物理意義的浮點(diǎn)數(shù)。這些轉(zhuǎn)換基于 CurieIMU 參考中推薦的公式。對(duì)于加速度計(jì),建議使用以下公式將原始加速度計(jì)讀數(shù)轉(zhuǎn)換為 mg:

? ? ?浮動(dòng) g = (gRaw/32768.0)*getAccelerometerRange()

我們有什么選擇來(lái)處理這個(gè)問(wèn)題?

  • 我們可以通過(guò) BLE 發(fā)送原始數(shù)據(jù)整數(shù),并在我們軟件的移動(dòng)應(yīng)用程序端實(shí)現(xiàn)推薦的方程。這將問(wèn)題轉(zhuǎn)移到移動(dòng)應(yīng)用程序上。
  • 我們可以將浮點(diǎn)數(shù)轉(zhuǎn)換為字符串。字符串只是 char 數(shù)組,或者另一種看待它們的方式是字節(jié)數(shù)組。然后我們可以在移動(dòng)應(yīng)用程序方面隨意轉(zhuǎn)換或解碼這些字節(jié)。這是 CurieBLE 庫(kù) ( http://www.arduino.cc/en/Reference/CurieBLE ) 的教程/參考所暗示的解決方案。
  • 我們可以使用一些 C 編程魔法將我們的浮點(diǎn)數(shù)轉(zhuǎn)換為它們的 char 數(shù)組或字節(jié)等價(jià)物,然后通過(guò) BLE 將它們發(fā)送給移動(dòng)應(yīng)用程序“解碼”。

選項(xiàng) 1 很好,但沒(méi)有教給我們?nèi)魏涡聳|西。此外,當(dāng)我們最終獲得只能作為浮點(diǎn)數(shù)使用的數(shù)據(jù)時(shí),我們將回到我們開(kāi)始的地方。英特爾居里模塊非常強(qiáng)大,那么為什么不使用它來(lái)執(zhí)行計(jì)算并讓移動(dòng)應(yīng)用程序來(lái)處理其他瑣事呢?選項(xiàng) 2 是一種非常常用且可接受的方法,但涉及處理字符串和字符串轉(zhuǎn)換的所有開(kāi)銷。

選項(xiàng) 3 可能是最復(fù)雜的,但也是最有效的。我們跳過(guò)了處理字符串的所有開(kāi)銷。在這個(gè)選項(xiàng)中,我們還將學(xué)習(xí)如何使用代表我們數(shù)據(jù)的實(shí)際字節(jié)。我們將更深入地了解我們的計(jì)算機(jī)如何表示和存儲(chǔ)數(shù)字。我們還將獲得以 Arduino C 為核心的信心。最重要的是,這個(gè)選項(xiàng)也將為我們贏得一些嚴(yán)肅的“極客信譽(yù)”,因此作為優(yōu)秀的制造者和黑客,我們當(dāng)然會(huì)選擇選項(xiàng) #3!

選項(xiàng)#3:

所有數(shù)據(jù)類型在內(nèi)存中都有一個(gè)底層表示。了解浮點(diǎn)數(shù)的存儲(chǔ)和表示方式是我們解決方案的關(guān)鍵。Arduino C 使用 32 位或 4 個(gè)字節(jié)來(lái)表示和存儲(chǔ)一個(gè)浮點(diǎn)數(shù)。char 和 unsigned char 數(shù)據(jù)類型都使用 4 位或 1 字節(jié)來(lái)表示和存儲(chǔ) char 數(shù)據(jù)。

unsigned char 是 CurieBLE 庫(kù)中數(shù)據(jù)交換的“貨幣”:

/**

* 設(shè)置 Characteristic 的當(dāng)前值

* @param value 要設(shè)置的新值,作為字節(jié)數(shù)組。數(shù)據(jù)存儲(chǔ)在內(nèi)部副本中。

* @param length 數(shù)組中要寫入的有效數(shù)據(jù)的長(zhǎng)度,以字節(jié)為單位。

* 不得超過(guò)為此特征設(shè)置的 maxLength。

* @return bool true 設(shè)置值成功,錯(cuò)誤為 false

*/

bool setValue(const unsigned char value[], unsigned short length);

如您所見(jiàn),為了使用setValue()函數(shù)更改特征的值,我們需要將數(shù)據(jù)作為 char 數(shù)組傳遞(unsigned char 數(shù)組與字節(jié)數(shù)組相同)。

所以現(xiàn)在的問(wèn)題變成了,我們?nèi)绾蝹鬟f一個(gè)浮點(diǎn)數(shù)和一個(gè)無(wú)符號(hào)字符數(shù)組?我們可以通過(guò)使用 C 語(yǔ)言union來(lái)做到這一點(diǎn)。union關(guān)鍵字允許我們讓不同數(shù)據(jù)類型的變量在內(nèi)存中共享相同的空間。由于 C 中的浮點(diǎn)數(shù)占用 4 個(gè)字節(jié),我們希望與 4 個(gè)無(wú)符號(hào)字符的數(shù)組共享 4 個(gè)字節(jié)的內(nèi)存空間。

從某種意義上說(shuō),編譯器并不真正關(guān)心我們?nèi)绾谓忉屪止?jié),它只是保留空間并允許我們使用這個(gè)空間,就好像它是我們聯(lián)合中的一種數(shù)據(jù)類型一樣。但是,當(dāng)我們?cè)诔绦蛑惺褂米兞繒r(shí),我們必須非常小心,以確保正確考慮變量的大小和類型。

實(shí)際上,在我們的例子中,我們需要從加速度計(jì)和陀螺儀中分別考慮 3 個(gè)浮點(diǎn)數(shù)。每個(gè)軸一個(gè)浮點(diǎn)數(shù)。我們可以為每個(gè)變量考慮一個(gè)單獨(dú)的變量、聯(lián)合和 BLE 特征。但是,知道每個(gè)浮點(diǎn)數(shù)的長(zhǎng)度為 4 個(gè)字節(jié),并且每次 BLE 傳輸最多可以發(fā)送 20 個(gè)字節(jié),我們可以使用 2 個(gè)聯(lián)合、2 個(gè) 3 個(gè)浮點(diǎn)數(shù)的數(shù)組發(fā)送完整的加速度計(jì)和陀螺儀數(shù)據(jù)集,并且只需2 個(gè)特性,每個(gè)特性 12 個(gè)字節(jié)。這不僅會(huì)使我們的代碼更具可讀性和可管理性,而且效率更高。

為此,我們將使用聯(lián)合來(lái)共享 3 個(gè)浮點(diǎn)數(shù)數(shù)組(需要 12 個(gè)字節(jié))和一個(gè) 12 個(gè)無(wú)符號(hào)字符數(shù)組之間的空間。這樣做是這樣的:

聯(lián)盟

{

? ? ?浮動(dòng)一個(gè)[3];

? ? 無(wú)符號(hào)字符字節(jié)[12];

} 數(shù)據(jù);

當(dāng)從 IMU 讀取數(shù)據(jù)并轉(zhuǎn)換為浮點(diǎn)數(shù)時(shí),我們將其分配給聯(lián)合體的浮點(diǎn)元素:

? ?CurieIMU.readAccelerometer(axRaw, ayRaw, azRaw);

? ?accData.a[0] = convertRawAcceleration(axRaw);

? ?accData.a[1] = convertRawAcceleration(ayRaw);

? ?accData.a[2] = convertRawAcceleration(azRaw);

不幸的是,我們還沒(méi)有完成。如果我們嘗試將聯(lián)合傳遞給setValue()函數(shù),我們的編譯器會(huì)抱怨并且不讓我們繼續(xù)。完成這項(xiàng)工作還需要一個(gè)步驟。我們必須讓編譯器相信我們的并集實(shí)際上是一個(gè)無(wú)符號(hào)字符數(shù)組,方法是這樣轉(zhuǎn)換。演員表是一種編程魔法,它允許我們將一種數(shù)據(jù)類型轉(zhuǎn)換為另一種數(shù)據(jù)類型(https://www.arduino.cc/en/Reference/Cast)。在某些情況下,這可能會(huì)導(dǎo)致數(shù)據(jù)丟失,但在我們的例子中,由于我們只是處理字節(jié),我們根本不會(huì)丟失任何信息。然而,為了執(zhí)行這個(gè)轉(zhuǎn)換,我們確實(shí)需要使用一些指針魔法:

? ?unsigned char *acc = (unsigned char *)&accData;

讓我們翻譯一下:

首先,&accData獲取我們 12 個(gè)字節(jié)的內(nèi)存位置的地址。然后,(unsigned char *)&accData告訴編譯器我們認(rèn)為這個(gè)內(nèi)存位置被視為一個(gè)無(wú)符號(hào)數(shù)組字符。實(shí)際上,這是一個(gè)指向該內(nèi)存位置第一個(gè)字節(jié)的指針。最后,unsigned char *acc將變量acc分配給這個(gè)指針。要處理的內(nèi)容很多,但多讀幾遍就會(huì)明白。如果沒(méi)有,只需按原樣使用模式發(fā)送數(shù)據(jù)。對(duì)陀螺儀數(shù)據(jù)重復(fù)完全相同的命令模式。?現(xiàn)在我們可以繼續(xù)使用移動(dòng)應(yīng)用程序了。

JavaScript/HTML/CSS 移動(dòng)應(yīng)用程序:

為了開(kāi)發(fā)我們的移動(dòng)應(yīng)用程序,必須學(xué)習(xí) JavaScript/HTML/CSS 似乎是一件苦差事。但是,時(shí)間和精力將是值得的!它將為您的項(xiàng)目打開(kāi)許多機(jī)會(huì),并允許您利用許多令人興奮的庫(kù)進(jìn)行編程。一個(gè)這樣的庫(kù),smoothie.js將在此處討論。為了幫助您學(xué)習(xí)如何使用 JavaScript/HTML/CSS,Evothings 網(wǎng)站和 Evothings 工作臺(tái)提供了大量示例和教程來(lái)幫助您。就本項(xiàng)目而言,我發(fā)現(xiàn)最簡(jiǎn)單的方法是修改 TI SensorTag CC2650 示例。此示例代碼遵循功能強(qiáng)大的結(jié)構(gòu),易于閱讀,并且已經(jīng)具有我們項(xiàng)目所需的大部分功能。每個(gè)示例都有一個(gè)包含許多文件的目錄樹(shù),乍一看可能看起來(lái)很復(fù)雜,但出于我們的目的,我們只需要修改示例根目錄中的兩個(gè)文件 index.html 和app.js ,并將smoothie.js庫(kù)添加到我們的項(xiàng)目目錄。下面的項(xiàng)目配方涵蓋了這些步驟

移動(dòng)應(yīng)用程序的亮點(diǎn):

沒(méi)有什么可以替代閱讀代碼,但我將在這里介紹一些亮點(diǎn)。請(qǐng)記住,我們的 IMU 數(shù)據(jù)將作為無(wú)符號(hào)字符或字節(jié)數(shù)組通過(guò) BLE 發(fā)送。幸運(yùn)的是,JavaScript 提供了易于使用的函數(shù)來(lái)將這些字節(jié)轉(zhuǎn)換回任何形式的數(shù)據(jù)。這是一個(gè)代碼片段,它將我們的加速度計(jì)字節(jié)轉(zhuǎn)換回 JavaScript 中的浮點(diǎn)數(shù):

? ?var ax = new DataView(data).getFloat32(0, true);

? ?var ay = new DataView(data).getFloat32(4, true);

? ?var az = new DataView(data).getFloat32(8, true);

字節(jié)通過(guò) data 變量傳遞到我們的函數(shù)中。此數(shù)據(jù)用于實(shí)例化 DataView。一旦我們有了這個(gè),我們就可以調(diào)用 DataView 對(duì)象的許多方法之一來(lái)將數(shù)據(jù)轉(zhuǎn)換為我們想要的表示形式。在?這種情況下,我們要將其轉(zhuǎn)換回浮點(diǎn)數(shù)。還記得我們從 Arduino/Genuino 101 IMU 創(chuàng)建的浮點(diǎn)數(shù)是 4 字節(jié)還是 32 位長(zhǎng)?getFloat32 ()函數(shù)專門用于處理 32 位浮點(diǎn)表示。我們發(fā)送到getFloat32()的參數(shù)功能非常重要。第一個(gè)是一個(gè)數(shù)字,這個(gè)數(shù)字在我們的例子中是 0、4 或 8,表示我們的 4 字節(jié)浮點(diǎn)數(shù)的第一個(gè)字節(jié)的字節(jié)偏移或索引。第二個(gè)參數(shù) true 表示我們的浮點(diǎn)數(shù)是小端格式。就是這樣,很簡(jiǎn)單。我們現(xiàn)在可以將所有的 分配給一個(gè)變量ax、ayaz來(lái)表示沿每個(gè)軸的加速度。

現(xiàn)在,擁有這些數(shù)據(jù)的實(shí)時(shí)滾動(dòng)圖形表示不是很巧妙嗎?當(dāng)然會(huì)!為了實(shí)現(xiàn)這一點(diǎn),我們將使用Smoothie.js庫(kù)。我相信這說(shuō)明了使用 JavaScript/HTML/CSS 為連接設(shè)備開(kāi)發(fā)移動(dòng)應(yīng)用程序的力量。幾乎所有您能想到的用途都有免費(fèi)且易于使用的庫(kù)和框架。

Smoothie.js庫(kù)在?http://smoothiecharts.org/??網(wǎng)站上?有完整的描述。為了學(xué)習(xí)如何使用該庫(kù),作者創(chuàng)建了一個(gè) 10 分鐘的教程(http://smoothiecharts.org/tutorial.html)。在查看示例并閱讀他們的教程后,您應(yīng)該能夠輕松地使用他們的代碼來(lái)創(chuàng)建自己的繪圖。作者還創(chuàng)建了一個(gè)構(gòu)建器頁(yè)面 ( http://smoothiecharts.org/builder/ ),允許您以圖形方式自定義繪圖。根據(jù)您的意愿對(duì)繪圖進(jìn)行格式化后,您可以從構(gòu)建器頁(yè)面底部的文本框中剪切代碼并將其直接粘貼到您的應(yīng)用程序中。

我們將從smoothiecharts.org 主頁(yè)下載smoothie.js庫(kù)到我們的移動(dòng)應(yīng)用程序目錄中以使用它。請(qǐng)按照以下項(xiàng)目配方中的說(shuō)明執(zhí)行此操作。index.html 中的以下行允許我們?cè)趹?yīng)用程序中使用該庫(kù):

這就是教學(xué)的內(nèi)容。讓我們做這個(gè)項(xiàng)目吧!

硬件

Arduino/Genuino 101。

因?yàn)?Arduino/Genuino 101 帶有板載 BLE 和 IMU 功能,所以無(wú)需制作電路!只需通過(guò) USB 將您的計(jì)算機(jī)連接到您的計(jì)算機(jī)以上傳草圖并訪問(wèn) Arduino 軟件 (IDE) 的串行監(jiān)視器窗口以進(jìn)行調(diào)試。

項(xiàng)目配方:

我假設(shè)您已經(jīng)安裝了 Arduino IDE、對(duì)英特爾居里的板級(jí)支持以及所有必要的庫(kù)。如果沒(méi)有,請(qǐng)?jiān)诖颂帿@取說(shuō)明:https://www.arduino.cc/en/Guide/Arduino101。

1) 下載并安裝 EvothingsStudio 和 EvothingsViewer ( http://evothings.com/download/ )。按照此處特定于您的操作系統(tǒng)和移動(dòng)平臺(tái)的說(shuō)明進(jìn)行操作。

2) 啟動(dòng) Evothings Workbench 并單擊示例選項(xiàng)卡。

pYYBAGOYdeGAR9laAAGPwP0Pez8298.png
Evothings Workbench 在桌面上打開(kāi),單擊頂部的示例選項(xiàng)卡。
?

?

3) 復(fù)制 TI SensorTag CC2650 演示應(yīng)用程序并為其命名。

4) 使用文件瀏覽器,進(jìn)入 EvothingsStudio/MyApps 目錄,找到您在步驟 3 中重命名的項(xiàng)目的主目錄。

poYBAGOYdeSAKfa8AADMUqkVZcg685.png
項(xiàng)目主目錄,將 index.html 和 app.js 替換為項(xiàng)目 index.html 和 app.js 文件。
?

5) 選擇 index.html 文件并將其重命名為 index_old.html。

6) 選擇 app.js 文件并將其重命名為 app_old.js。

7) 現(xiàn)在將本項(xiàng)目教程中的 index.html 和 app.js 文件復(fù)制到新項(xiàng)目的主目錄中。

8) 創(chuàng)建一個(gè)名為 Smoothie 的目錄。

9) 轉(zhuǎn)到 smoothiecharts.org 并單擊標(biāo)有下載 Smoothie.js 的按鈕。Smoothie.js 庫(kù)的文本應(yīng)顯示在您的瀏覽器中。

10) 單擊瀏覽器的文件選項(xiàng)卡,然后選擇將頁(yè)面另存為。在步驟 8 中創(chuàng)建的 Smoothie 目錄中將此頁(yè)面另存為 Smoothie.js。

11) 使用 USB 電纜將您的 Arduino/Genuino 101 連接到您的計(jì)算機(jī)。

12) 使用您的 Arduino IDE 1.6.8,將 imu_ble.ino 草圖上傳到 Arduino/Genuino 101。

13) 打開(kāi)串口連接。在建立 BLE 連接之前,不會(huì)從 arduino/genuino101 imu 發(fā)送數(shù)據(jù),因此此時(shí)您不應(yīng)期望看到任何串行數(shù)據(jù)。

14) 返回 EvothingsWorkbench 并從 Connect 選項(xiàng)卡中獲取您的連接密鑰。

15) 在您的移動(dòng)設(shè)備上啟動(dòng) EvothingsViewer 并輸入連接密鑰。

16) 點(diǎn)擊移動(dòng)應(yīng)用主頁(yè)上的開(kāi)始按鈕。

17) 建立連接后,您應(yīng)該會(huì)在移動(dòng)設(shè)備上看到以下消息,狀態(tài):數(shù)據(jù)流活動(dòng) - 加速度計(jì)。值應(yīng)該在 Arduino IDE 串行窗口上流式傳輸,并且線條應(yīng)該在加速度計(jì)和陀螺儀圖上滾動(dòng)。

18) 搖晃、扭轉(zhuǎn)和轉(zhuǎn)動(dòng) Arduino/Genuino101!

結(jié)論:

您可以選擇多種方法來(lái)收集、傳輸和顯示 IMU 數(shù)據(jù),但我相信這里介紹的方法是最有教益的方法。仔細(xì)閱讀代碼并對(duì)其進(jìn)行試驗(yàn)確實(shí)沒(méi)有替代品。你的努力會(huì)得到回報(bào)。作為創(chuàng)客,我們?cè)绞钦嬲私馕覀兊捻?xiàng)目是如何運(yùn)作的,我們就越能完成:

“投入勞動(dòng)力的最佳紅利總是來(lái)自尋求更多的知識(shí),而不是更多的權(quán)力。” 1906 年 3 月 12 日簽署威爾伯和奧維爾賴特。”

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開(kāi)發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)