91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

Arduino藍牙手套第一部分—基礎

李繼明 ? 來源:DevicePlus ? 作者:DevicePlus ? 2023-03-01 17:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

入門篇:Arduino藍牙手套第一部分-基礎

poYBAGPzEvKAa97vAAlOhBPNfKs611.png

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

硬件

? Arduino UNO

? 面包板

? 電位計 0-10kOhm

? 電阻 10 kOhm

? IMU 傳感器

? 電線

? Arduino 無線擴展板

? Xbee USB 適配器

? Bluetooth Bee

? PC 藍牙適配器

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

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

軟件

? Arduino IDE 1.6.7

? LabVIEW

工具

? 萬用表

poYBAGPzEvOAZoaSAAEFfJw1NTk154.png

圖1: Arduino藍牙手套項目的基本示意圖

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

旋轉測量

當旋轉從手指傳遞到電位器手柄時,可以通過測量每個電位計的電阻來識別手指的彎曲??墒褂梅謮浩鱽頊y量電位計電阻。如果想要降低電壓并獲得某些固定值,可以在電路中使用分壓器,由兩個或多個電阻組成。

pYYBAGPzEvWAbWwEAAAe35sDxGA258.png

圖2:分壓器電路圖

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

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

poYBAGPzEveAM8lEAAEHoIq8i-4689.png

用Arduino模擬輸入代替V2電壓表,以測量電位計的電阻。

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
}

定向測量

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

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

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

pYYBAGPzEv-AQstEAAIuLMBD7k0100.png

圖5:IMU傳感器連接

poYBAGPzEwSAEHk9AAghOpvUQBE745.png

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

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

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

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

您需要下載安裝 IMU 庫 (點擊Github上的“View Raw”來下載 IMU_Sensor.zip )。

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

pYYBAGPzEweAQgesAAJ3obpghTg387.png

圖7: Arduino IDE上添加.ZIP Library

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

pYYBAGPzEwmAeT84AAHXcxebNTM865.png

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

#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傳感器輸出

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

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

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

pYYBAGPzEw2AFNB5AALtDDXWstM327.png

圖10:開關置于AT模式的 Bluetooth Bee

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

poYBAGPzEw-AOL8kAAOoVE_VjmU948.png

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

啟動Arduino IDE,從 Tools >> Serial Port菜單中選擇與 Xbee適配器對應的COM端口。

打開 Arduino的串行監(jiān)視器( Tools >> Serial Monitor或者Ctrl+Shift+M )。如果COM端口沒有正常顯示,請安裝 Xbee USB適配器驅動程序。從相應的選項欄中選擇“Both NL & CR”、“38400”來更改PC的串行設置,以讀取來自 Xbee適配器的信息,或寫入需要輸入到 Xbee 適配器中的信息。

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

poYBAGPzExGAKReGAAFFH0HG1OU176.png

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

pYYBAGPzExKAB8_SAAEcMdeCS5s713.png

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

poYBAGPzExSANUqdAAFLb-RFh9U587.png

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

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

pYYBAGPzExiAMlTaAAYCdZ1WGqc831.png

圖12:在 Arduino無線擴展板上的 Bluetooth Bee

完成此步驟后,您將可以使用默認的“我的藍牙設備”窗口找到您的 Bluetooth Bee。將您的 Bluetooth Bee與默認密碼“1234”配對。請注意連接到您的設備的是哪個COM端口,在下一步草圖中選擇該COM端口。

這是用于測試藍牙連接的 Arduino草圖。(請注意,當將 Bluetooth Bee 安裝到 Arduino無線擴展板上時,您將無法啟用草圖)。

#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:測試 Bluetooth Bee連接

如果您有任何意見或疑問,請在 Google + 上給我們留言。請在該主頁繼續(xù)關注我們,我們將會盡快發(fā)布更多資訊。

審核編輯黃宇

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

    關注

    119

    文章

    6311

    瀏覽量

    178676
  • Arduino
    +關注

    關注

    190

    文章

    6526

    瀏覽量

    196891
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    (介入式)血管內(nèi)腦機接口技術的效能密碼

    ”的電極陣列,從大腦內(nèi)部的血管中“聆聽”神經(jīng)信號,并將這些信號轉化為對電腦等數(shù)字設備的控制指令。第一部分:植入體內(nèi)的組件血管內(nèi)電極陣列(Stentrode本身,圖1
    的頭像 發(fā)表于 01-26 18:03 ?284次閱讀
    (介入式)血管內(nèi)腦機接口技術的效能密碼

    OpenWrt 路由器 Banana Pi R4 評測 第一部分:規(guī)格、性能和購買渠道

    購買 Banana Pi R4 的理由 經(jīng)過番深思熟慮,我的 OpenWrt 路由器——Banana Pi R4 終于到貨了。我之前考慮換個路由器,是因為家里的 ipTIME 路由器經(jīng)常斷
    發(fā)表于 11-01 11:14

    OpenWrt Wifi7路由器 Banana Pi R4 評測 第一部分:規(guī)格、性能和購買渠道

    購買 Banana Pi R4 的理由 經(jīng)過番深思熟慮,我的 OpenWrt 路由器——Banana Pi R4 終于到貨了。我之前考慮換個路由器,是因為家里的 ipTIME 路由器經(jīng)常斷
    的頭像 發(fā)表于 11-01 11:12 ?1308次閱讀
    OpenWrt Wifi7路由器 Banana Pi R4 評測 <b class='flag-5'>第一部分</b>:規(guī)格、性能和購買渠道

    雷卯針對香橙派Orange Pi 5 Pro開發(fā)板防雷防靜電方案

    第一部分 應用場景 高端平板、邊緣計算、人工智能、云計算、AR/VR、智能安防、智能家居、Linux 桌面計算機、Linux 網(wǎng)絡服務器、Android 平板、Android 游戲機 第二部分 功能
    的頭像 發(fā)表于 08-19 17:31 ?751次閱讀
    雷卯針對香橙派Orange Pi 5 Pro開發(fā)板防雷防靜電方案

    【米爾NXP i.MX 91開發(fā)板評測】開發(fā)環(huán)境搭建+編譯uboot,kernel

    uboot代碼有2部分組成。第一部分由米爾提供,第二部分在GitHub公開。 解壓米爾提供的MYD-LMX91-Bootloader.tar.gz, 再下載uboot到如下目錄 完整路徑如下 編譯
    發(fā)表于 08-18 15:40

    恩智浦i.MX 95系列MPU如何賦能邊緣計算

    在本系列博文的第一部分,我探討了恩智浦i.MX 95系列如何將新功能安全技術應用于工業(yè)環(huán)境、汽車領域及其他邊緣應用。在接下來的文章中,我將進步闡述i.MX 95系列如何賦能邊緣計算,實現(xiàn)先進的AI功能。
    的頭像 發(fā)表于 07-30 11:08 ?2751次閱讀
    恩智浦i.MX 95系列MPU如何賦能邊緣計算

    PTR54L15藍牙模組的引腳規(guī)劃——電源域

    更加的強大,使用上也有些不同,關于這個模組的引腳該如何規(guī)劃使用呢,現(xiàn)在我們來說下電源域: “電源域”是芯片的一部分,可以獨立開機或關機以優(yōu)化能耗 引腳規(guī)劃需注意,PTR54L15架構 MCU、無線電、外設、低功耗四個電源域,各域含不同外設及 GPIO 端口,合理分配引腳
    發(fā)表于 06-25 19:13

    提高篇——C語言核心技術(中文版)

    該資料是“C編程語言”和“C語言鏈接庫”的完整參考手冊。這本書的目的是提供本方便、可靠的手冊,輔助日常的編程工作。本書描述C語言的所有元素,并介紹它們的用法。 資料分成三部分第一部分使用相當
    發(fā)表于 06-13 16:39

    TI大學計劃-電源篇

    本手冊將分為以下幾部分介紹信號鏈和電源相關的知識及 TI 產(chǎn)品在大學生創(chuàng)新活動中的應用: 第一部分:運算放大器的原理和設計; 第二部分:數(shù)據(jù)轉換器的原理和設計; 第三部分:線性電源和開
    發(fā)表于 05-19 15:33

    如何用 Raspberry Pi 500 搭建家庭錄音室?

    是時候安裝并配置家庭錄音室中高質量音頻制作所需的軟件了。這是來自《樹莓派官方雜志》系列教程的第三部分,也是最后一部分。若想閱讀整個系列教程,請先回顧第一部分(關于錄音空間設置),再閱讀第二部分
    的頭像 發(fā)表于 05-18 08:33 ?1452次閱讀
    如何用 Raspberry Pi 500 搭建家庭錄音室?

    實用電子電路設計(全6本)—— 數(shù)字系統(tǒng)設計

    由于資料內(nèi)存過大,分開上傳,有需要的朋友可以去主頁搜索下載哦~ 本文內(nèi)容主要分為兩部分第一部分是以數(shù)字技術的思維方法作為主體論述; 第二部分是從實踐角度出發(fā),對數(shù)字技術實際應用方法進行詳細介紹
    發(fā)表于 05-15 15:25

    LTC6563輸入端采用AC耦合時,信號的一部分有效值會因飽和而截斷怎么解決?

    手冊中的電路,其中RB選用3K歐姆電阻、CAC選用100nf電容: 在實際測試中遇到了這樣的情況: 此時的OFFSET為0V.我的輸入光電流是正弦形式,但輸出的正弦波有一部分被截掉了,若為了顯示完整
    發(fā)表于 04-24 08:03

    瑞為技術牽頭制定的國家標準《信息技術 可擴展的生物特征識別數(shù)據(jù)交換格式 第1部分:框架》正式發(fā)布

    圖像、步態(tài)圖像等模態(tài))也同發(fā)布。 至此,瑞為已累計牽頭及參與的國家/行業(yè)標準近30項,其中已發(fā)布實施的國家標準16項。 作為《信息技術 可擴展的生物特征識別數(shù)據(jù)交換格式》系列標準的第一部分,《第1部分:框架》具有舉足輕重
    的頭像 發(fā)表于 04-22 18:05 ?914次閱讀

    基于運算放大器和模擬集成電路的電路設計(第3版)

    內(nèi)容介紹: 本文全面闡述以運算放大器和模擬集成電路為主要器件構成的電路原理、設計方法和實際應用。電路設計以實際器件為背景,對實現(xiàn)中的許多實際問題尤為關注。全書共13章,包含三大部分第一部分(第
    發(fā)表于 04-16 14:34

    python入門圣經(jīng)-高清電子書(建議下載)

    此資料內(nèi)容是本針對所有層次的Python 讀者而作的Python 入門電子書。 全書部分第一部分介紹用Python 編程所必須了解的基本概念,包括matplotlib、NumP
    發(fā)表于 04-10 16:53