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

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

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

Arduino藍(lán)牙手套第一部分—基礎(chǔ)

李繼明 ? 來(lái)源:DevicePlus ? 作者:DevicePlus ? 2023-03-01 17:45 ? 次閱讀

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

入門篇:Arduino藍(lán)牙手套第一部分-基礎(chǔ)

poYBAGPzEvKAa97vAAlOhBPNfKs611.png

本項(xiàng)目的目的是開發(fā)一種能夠檢測(cè)出操作員的手和手指方位的設(shè)備,以實(shí)現(xiàn)機(jī)器人的控制。我們將介紹有關(guān)電阻和分壓器的基礎(chǔ)知識(shí)。另外,我們還將了解如何通過(guò) I2C 總線從陀螺儀和加速度計(jì)獲取測(cè)量值,以及如何建立 Arduino–PC藍(lán)牙連接。該設(shè)備在集成到 Arduino藍(lán)牙手套中之后將會(huì)發(fā)揮出它的作用。

硬件

? Arduino UNO

? 面包板

? 電位計(jì) 0-10kOhm

? 電阻 10 kOhm

? IMU 傳感器

? 電線

? Arduino 無(wú)線擴(kuò)展板

? Xbee USB 適配器

? Bluetooth Bee

? PC 藍(lán)牙適配器

? USB A-B 數(shù)據(jù)線

? 微型 USB 數(shù)據(jù)線

軟件

? Arduino IDE 1.6.7

? LabVIEW

工具

? 萬(wàn)用表

poYBAGPzEvOAZoaSAAEFfJw1NTk154.png

圖1: Arduino藍(lán)牙手套項(xiàng)目的基本示意圖

基于Arduino的采集系統(tǒng)配置在用戶的每只手上。Arduino開發(fā)板通過(guò)測(cè)量每個(gè)電位計(jì)的電阻來(lái)獲取手指彎曲(手指彎折)的信息。在處理了來(lái)自慣性測(cè)量單元(IMU)的數(shù)據(jù)后,可以識(shí)別出用戶手的方位,該單元包括陀螺儀和加速度計(jì)。電池和無(wú)線數(shù)據(jù)傳輸模式使基于 Arduino的采集系統(tǒng)可用作一個(gè)可穿戴智能手套。例如,它可以用作手動(dòng)控制機(jī)器人手臂的通用輸入設(shè)備。

旋轉(zhuǎn)測(cè)量

當(dāng)旋轉(zhuǎn)從手指?jìng)鬟f到電位器手柄時(shí),可以通過(guò)測(cè)量每個(gè)電位計(jì)的電阻來(lái)識(shí)別手指的彎曲??墒褂梅謮浩鱽?lái)測(cè)量電位計(jì)電阻。如果想要降低電壓并獲得某些固定值,可以在電路中使用分壓器,由兩個(gè)或多個(gè)電阻組成。

pYYBAGPzEvWAbWwEAAAe35sDxGA258.png

圖2:分壓器電路圖

V 是來(lái)自Arduino 5V電源的電壓; I 是 流經(jīng)電路的電流; R1是具有固定電阻值的電阻; R2 是具有可變電阻的電位計(jì); V1和V2是電壓表。

電壓在電阻R1和R2處均產(chǎn)生壓降。V1和V2之和為V的值。根據(jù)歐姆定律:

poYBAGPzEveAM8lEAAEHoIq8i-4689.png

用Arduino模擬輸入代替V2電壓表,以測(cè)量電位計(jì)的電阻。

poYBAGPzEvqAHARYAAG7J-L2Amc421.png

圖3:分壓器電路示意圖

pYYBAGPzEv2AN9KBAAXRNzr6IHY398.png

圖4:安裝在面包板上的分壓器電路

int sensorValue;
void setup()
{
  Serial.begin(9600);// initialize serial communication at 9600 bits per second
}

void loop()
{
  sensorValue = analogRead(A0);// read the input on analog pin 0
  Serial.println(sensorValue);// print out the value you read
  delay(100);        // delay in between reads for stability
}

定向測(cè)量

慣性測(cè)量單元(IMU)是一種可以測(cè)量人體比力和角速度的電子設(shè)備。通過(guò)對(duì)角速度的連續(xù)積分,我們可以獲得安裝有IMU傳感器的物體的當(dāng)前方向。

得益于MEMS技術(shù),IMU傳感器開始流行并被廣泛使用。大多數(shù)MEMS IMU傳感器利用 I2C協(xié)議作為將測(cè)量結(jié)果發(fā)送到控制器的主要方式。

您必須為芯片供電源(V和G),并將數(shù)據(jù)和時(shí)鐘引腳(D和C)連接到相應(yīng)的數(shù)字引腳(SDA和SCL),如圖5所示:

pYYBAGPzEv-AQstEAAIuLMBD7k0100.png

圖5:IMU傳感器連接

poYBAGPzEwSAEHk9AAghOpvUQBE745.png

圖6:連接到Arduino開發(fā)板的IMU傳感器

通常,來(lái)自不同制造商的IMU傳感器都會(huì)具有相同的結(jié)構(gòu),即所有的MEMS芯片都連接到 I2C 總線。因此,要從陀螺儀、加速度計(jì)和磁力計(jì)獲取測(cè)量值,您將僅使用這兩個(gè)引腳。

我們這里使用的IMU傳感器包含 STMicroelectronics芯片( L3G4200D和 LIS331DLH )。如果您使用包含不同MEMS芯片的IMU傳感器,可以更改源代碼中的地址使其工作。

現(xiàn)在,讓我們進(jìn)行測(cè)試程序吧!

您需要下載安裝 IMU 庫(kù) (點(diǎn)擊Github上的“View Raw”來(lái)下載 IMU_Sensor.zip )。

將.ZIP Library 添加到 Arduino IDE( Sketch >> Include Library >> Add .ZIP Library…)

pYYBAGPzEweAQgesAAJ3obpghTg387.png

圖7: Arduino IDE上添加.ZIP Library

您將會(huì)在 Arduino libraries文件夾中看到 IMU_Sensor庫(kù)(圖8)。現(xiàn)在,我們將使用“#include ”測(cè)試IMU傳感器。

pYYBAGPzEwmAeT84AAHXcxebNTM865.png

圖8:Arduino libraries文件夾中出現(xiàn)的 IMU_Sensor庫(kù)

#include  // Library for I2C
#include  // Library for working with IMU modules

Gyroscope gyro; // Create an object to work with Gyroscope

Accelerometer accel; // Create an object to work with Accelerometer

void setup ()
{
Serial.begin (9600); // Open the serial port

Serial.println ("Begin init ..."); // Display a message on the beginning of the initialization

gyro.begin (); // Initialize the gyroscope
accel.begin (); // Initialization of accelerometers
Serial.println ("Init completed"); // Display a message about the successful initialization

Serial.println ("GyroscopetttAccelerometer");
}

void loop ()
{
Serial.print (gyro.readX_DegPerSec ()); // Output angular velocity around the axis X
Serial.print ("t");
Serial.print (gyro.readY_DegPerSec ()); // Output of the angular velocity around the Y axis
Serial.print ("t");
Serial.print (gyro.readZ_DegPerSec ()); // Output of the angular velocity about the Z axis
Serial.print ("tt");

Serial.print (accel.readX_G ()); // Output of the direction and magnitude of acceleration along the X axis
Serial.print ("t");
Serial.print (accel.readY_G ()); // Output of the direction and magnitude of acceleration along the Y-axis
Serial.print ("t");
Serial.print (accel.readZ_G ()); // Output of the direction and magnitude of acceleration along the Z axis
Serial.print ("tt");

Serial.println ("");
delay (300);
}

poYBAGPzEwuASnLjAANaX37AvVI783.png

圖9:IMU傳感器輸出

無(wú)線數(shù)據(jù)傳輸

可以使用 Bluetooth Bee(無(wú)線藍(lán)牙BT模塊)來(lái)建立無(wú)線連接。 Bluetooth Bee模塊帶有板載天線。它的作用就像一個(gè)透明串行端口,可與各種藍(lán)牙適配器和藍(lán)牙手機(jī)配合使用。

為了檢查藍(lán)牙模塊配置,請(qǐng)將開關(guān)置于AT模式。當(dāng)模塊處于AT模式時(shí),用戶或主機(jī)微控制器可以通過(guò)經(jīng)串行端口發(fā)送預(yù)定義的AT指令來(lái)對(duì)其進(jìn)行配置。在AT模式下,您可以從BT模塊獲取服務(wù)數(shù)據(jù)并更改某些設(shè)置(名稱,波特率,奇偶校驗(yàn)和停止位)。

pYYBAGPzEw2AFNB5AALtDDXWstM327.png

圖10:開關(guān)置于AT模式的 Bluetooth Bee

將BT模塊和 Xbee適配器堆疊在一起,然后通過(guò)微型USB電纜將 Xbee適配器連接到PC。LED燈必須處于打開狀態(tài)。

poYBAGPzEw-AOL8kAAOoVE_VjmU948.png

圖11: Bluetooth Bee 放置于 Xbee適配器上

啟動(dòng)Arduino IDE,從 Tools >> Serial Port菜單中選擇與 Xbee適配器對(duì)應(yīng)的COM端口。

打開 Arduino的串行監(jiān)視器( Tools >> Serial Monitor或者Ctrl+Shift+M )。如果COM端口沒(méi)有正常顯示,請(qǐng)安裝 Xbee USB適配器驅(qū)動(dòng)程序。從相應(yīng)的選項(xiàng)欄中選擇“Both NL & CR”、“38400”來(lái)更改PC的串行設(shè)置,以讀取來(lái)自 Xbee適配器的信息,或?qū)懭胄枰斎氲?Xbee 適配器中的信息。

發(fā)送“AT”并接收到“OK”。

poYBAGPzExGAKReGAAFFH0HG1OU176.png

發(fā)送“AT+UART?”并接收串行設(shè)置,如“9600,0,0”。

pYYBAGPzExKAB8_SAAEcMdeCS5s713.png

如果您接收到的串行設(shè)置不是“9600,0,0”,那么發(fā)送“AT+UART=9600,0,0”指令并接收到“OK”。

poYBAGPzExSANUqdAAFLb-RFh9U587.png

關(guān)閉串行監(jiān)視器,斷開 Xbee適配器與微型 USB數(shù)據(jù)線和BT模塊的連接。不要忘記向左旋轉(zhuǎn)開關(guān)來(lái)關(guān)閉AT模式。

將 Bluetooth Bee放置在 Arduino無(wú)線擴(kuò)展板上,將 Arduino與USB A-B數(shù)據(jù)線連接,如圖12所示。

pYYBAGPzExiAMlTaAAYCdZ1WGqc831.png

圖12:在 Arduino無(wú)線擴(kuò)展板上的 Bluetooth Bee

完成此步驟后,您將可以使用默認(rèn)的“我的藍(lán)牙設(shè)備”窗口找到您的 Bluetooth Bee。將您的 Bluetooth Bee與默認(rèn)密碼“1234”配對(duì)。請(qǐng)注意連接到您的設(shè)備的是哪個(gè)COM端口,在下一步草圖中選擇該COM端口。

這是用于測(cè)試藍(lán)牙連接的 Arduino草圖。(請(qǐng)注意,當(dāng)將 Bluetooth Bee 安裝到 Arduino無(wú)線擴(kuò)展板上時(shí),您將無(wú)法啟用草圖)。

#define LED 13 
int pause = 0;    // variable to store sent value
 
void setup() 
{ 
  pinMode(LED, OUTPUT); 
  Serial.begin(9600);  // open the serial port
} 
 
void loop() 
{ 
  if (Serial.available() > 0) {
    // read incoming serial data:
    String inStr = Serial.readString();
    Serial.println("Get Message:"+inStr);
    pause = inStr.toInt();
    }
  
  digitalWrite(LED, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(pause);              // wait for a second
  digitalWrite(LED, LOW);    // turn the LED off by making the voltage LOW
  delay(pause);              // wait for a second
}

poYBAGPzExqAbWeNAADwY7xUDiU221.png

圖13:測(cè)試 Bluetooth Bee連接

如果您有任何意見或疑問(wèn),請(qǐng)?jiān)?Google + 上給我們留言。請(qǐng)?jiān)谠撝黜?yè)繼續(xù)關(guān)注我們,我們將會(huì)盡快發(fā)布更多資訊。

審核編輯黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • 藍(lán)牙
    +關(guān)注

    關(guān)注

    114

    文章

    5751

    瀏覽量

    169596
  • Arduino
    +關(guān)注

    關(guān)注

    187

    文章

    6457

    瀏覽量

    186502
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Air780EP硬件設(shè)計(jì)原理解析(第一部分

    ? 、緒論 Air780EP是款基于移芯EC718P平臺(tái)設(shè)計(jì)的LTE Cat 1無(wú)線通信模組。支持FDD-LTE/TDD-LTE的4G遠(yuǎn)距離無(wú)線傳輸技術(shù)。另外,模組提供了USB/UART/I2C
    的頭像 發(fā)表于 11-06 15:04 ?73次閱讀
    Air780EP硬件設(shè)計(jì)原理解析(<b class='flag-5'>第一部分</b>)

    干貨分享:Air700ECQ的硬件設(shè)計(jì),第一部分

    ?# 、緒論 Air700ECQ是款基于移芯EC716E平臺(tái)設(shè)計(jì)的LTE Cat 1無(wú)線通信模組。支持移動(dòng)雙模FDD-LTE/TDD-LTE的4G遠(yuǎn)距離無(wú)線傳輸技術(shù)。以極小封裝,極高性價(jià)比,滿足
    的頭像 發(fā)表于 10-25 07:25 ?706次閱讀
    干貨分享:Air700ECQ的硬件設(shè)計(jì),<b class='flag-5'>第一部分</b>

    0.5mm層疊封裝應(yīng)用處理器的PCB設(shè)計(jì)指南,第一部分

    電子發(fā)燒友網(wǎng)站提供《0.5mm層疊封裝應(yīng)用處理器的PCB設(shè)計(jì)指南,第一部分.pdf》資料免費(fèi)下載
    發(fā)表于 10-14 11:15 ?0次下載
    0.5mm層疊封裝應(yīng)用處理器的PCB設(shè)計(jì)指南,<b class='flag-5'>第一部分</b>

    0.4毫米層疊封裝(PoP)的PCB設(shè)計(jì)指南,第一部分

    電子發(fā)燒友網(wǎng)站提供《0.4毫米層疊封裝(PoP)的PCB設(shè)計(jì)指南,第一部分.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 11:00 ?0次下載
    0.4毫米層疊封裝(PoP)的PCB設(shè)計(jì)指南,<b class='flag-5'>第一部分</b>

    高性能電壓監(jiān)控器詳解—-- 第一部分

    本文闡述了高性能電壓監(jiān)控器的價(jià)值,討論了其基本定義、工作原理、技術(shù)規(guī)格、拓?fù)浣Y(jié)構(gòu)和極性。某些高性能電壓監(jiān)控器旨在幫助基于微處理器的系統(tǒng)提升可靠性,防止掉電狀況下系統(tǒng)出錯(cuò)。本文提供了些示例。
    發(fā)表于 09-18 17:19 ?768次閱讀
    高性能電壓監(jiān)控器詳解—-- <b class='flag-5'>第一部分</b>

    庫(kù)克:Vision Pro已成為日常生活中不可或缺的一部分

    據(jù)知名科技媒體MacRumors援引的消息,蘋果公司首席執(zhí)行官蒂姆·庫(kù)克在近期接受《太陽(yáng)報(bào)》專訪時(shí),興奮地分享了他個(gè)人對(duì)蘋果最新力作——Vision Pro的深切體驗(yàn)與高度評(píng)價(jià)。庫(kù)克透露,自這款創(chuàng)新產(chǎn)品登陸英國(guó)市場(chǎng)以來(lái),Vision Pro已成為他日常生活中不可或缺的一部分,每天相伴左右。
    的頭像 發(fā)表于 07-15 15:29 ?594次閱讀

    EPSON(愛普生)獲得高頻輸出的方法(第一部:鎖相環(huán)電路)

    EPSON(愛普生)獲得高頻輸出的方法(第一部:鎖相環(huán)電路)
    的頭像 發(fā)表于 06-20 10:42 ?419次閱讀
    EPSON(愛普生)獲得高頻輸出的方法(<b class='flag-5'>第一部</b>:鎖相環(huán)電路)

    stm32L476部分電腦讀不到驅(qū)動(dòng)是怎么回事?

    一部分通過(guò)USB連接電腦后在設(shè)備管理器中讀不到STM32 bootloader,,會(huì)顯示Unknown device,但是換一部分電腦缺可以正確讀出,問(wèn)下這個(gè)驅(qū)動(dòng)和電腦的什么有關(guān)
    發(fā)表于 05-22 07:01

    些國(guó)家標(biāo)準(zhǔn)規(guī)范的文檔般在哪找和下載

    GB4943.1-2011《信息技術(shù)設(shè)備 安全 第一部分,通用要求》的文檔資料有嗎,在哪邊可以找到,能免費(fèi)下載最好(*^ω^*)
    發(fā)表于 03-06 10:46

    旋變輸出的波形接到AD2S1200后,下端會(huì)被削掉一部分是為什么?

    和sinLO接到AD2S1200輸入端,再用示波器看波形,波形下端被截止一部分 這是為什么?直沒(méi)有找到解決方法,輸入AD2S1200的波形符合3.6Vp-p,10HZ
    發(fā)表于 12-21 06:48

    高速模數(shù)轉(zhuǎn)換器精度透視(第一部分)

    作者:Rob Reeder,ADI公司 模數(shù)轉(zhuǎn)換器(亦稱為ADC)廣泛用于各種應(yīng)用中,尤其是需要處理模擬傳感器信號(hào)的測(cè)量系統(tǒng),比如測(cè)量壓力、流量、速度和溫度的數(shù)據(jù)采集系統(tǒng)(僅舉數(shù)例)。般而言,這些
    發(fā)表于 11-28 14:29 ?0次下載
    高速模數(shù)轉(zhuǎn)換器精度透視(<b class='flag-5'>第一部分</b>)

    驅(qū)動(dòng)ADC 第一部分

    電子發(fā)燒友網(wǎng)站提供《差驅(qū)動(dòng)ADC 第一部分.pdf》資料免費(fèi)下載
    發(fā)表于 11-23 16:36 ?0次下載
    差<b class='flag-5'>分</b>驅(qū)動(dòng)ADC <b class='flag-5'>第一部分</b>

    使用Σ-Δ轉(zhuǎn)換器——第一部分

    電子發(fā)燒友網(wǎng)站提供《使用Σ-Δ轉(zhuǎn)換器——第一部分.pdf》資料免費(fèi)下載
    發(fā)表于 11-23 14:31 ?0次下載
    使用Σ-Δ轉(zhuǎn)換器——<b class='flag-5'>第一部分</b>

    用于高頻接收器和發(fā)射器的鎖相環(huán)——第一部分

    電子發(fā)燒友網(wǎng)站提供《用于高頻接收器和發(fā)射器的鎖相環(huán)——第一部分.pdf》資料免費(fèi)下載
    發(fā)表于 11-23 10:32 ?0次下載
    用于高頻接收器和發(fā)射器的鎖相環(huán)——<b class='flag-5'>第一部分</b>

    學(xué)習(xí)如何使用萬(wàn)用表第一部分

    電路萬(wàn)用表
    油潑辣子
    發(fā)布于 :2023年11月18日 11:44:52