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

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

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

利用ROHM傳感器評(píng)估套件實(shí)現(xiàn)UCLA AirMouse–第1部分

李娓侖 ? 來(lái)源:guotong1984 ? 作者:guotong1984 ? 2023-02-27 10:27 ? 次閱讀

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

今天,我們介紹一款由洛加利福尼亞大學(xué)洛杉磯分校(UCLA)電氣電子工程師協(xié)會(huì)(IEEE)學(xué)生分會(huì)一群聰明的工程師研發(fā)的3D AirMouse。AirMouse的功能與傳統(tǒng)電腦鼠標(biāo)非常類(lèi)似,但是能夠檢測(cè)三維運(yùn)動(dòng)。

Device Plus已經(jīng)與100多所美國(guó)頂尖大學(xué)展開(kāi)合作,希望通過(guò)資助一些缺乏資金或資源的項(xiàng)目來(lái)促進(jìn)學(xué)生創(chuàng)新。目前,Device Plus正在提供硬件贊助計(jì)劃,并希望與活躍的學(xué)生工程組織合作,以構(gòu)建我們的“連接”部分。

加州大學(xué)洛杉磯分校IEEE

加州大學(xué)洛杉磯分校IEEE(UCLA IEEE)是一個(gè)IEEE學(xué)生分會(huì),致力于“為全校工程學(xué)生帶來(lái)親身實(shí)踐體驗(yàn)”。該項(xiàng)目完全由學(xué)生們自己開(kāi)展,高年級(jí)學(xué)生負(fù)責(zé)指導(dǎo)參與項(xiàng)目計(jì)劃的新成員。高級(jí)項(xiàng)目(Advanced Projects)是UCLA IEEE為期四年的項(xiàng)目之一,旨在讓具有中等硬件和軟件經(jīng)驗(yàn)的學(xué)生學(xué)習(xí)微控制器硬件、通信協(xié)議、原理圖和電路板設(shè)計(jì)等高級(jí)主題。

參與高級(jí)項(xiàng)目(Advanced Projects)的學(xué)生組成多個(gè)2-4人的團(tuán)隊(duì),在學(xué)年的三個(gè)季度中研發(fā)兩個(gè)項(xiàng)目。通過(guò)第一個(gè)項(xiàng)目——AirMouse,學(xué)生將學(xué)習(xí)不同的通信協(xié)議、硬件寄存器和寄存器使用等概念。有了這些知識(shí),學(xué)生們將在接下來(lái)的兩個(gè)季度中繼續(xù)構(gòu)建自己的四軸飛行器,同時(shí)還會(huì)學(xué)習(xí)其他概念,比如使用MOSFET作為開(kāi)關(guān)以及PWM速度控制等。

作為UCLA IEEE高級(jí)項(xiàng)目(Advanced Projects)計(jì)劃的一部分,最初的AirMouse由Rahul Iyer、Aaron和Andrew Wilhelm研發(fā)。

AirMouse概述

我們都用過(guò)電腦鼠標(biāo),但是它們只能在桌面之類(lèi)的平面上工作。在本教程中,我們將制作一個(gè)“AirMouse”——一個(gè)能夠在3D空間中運(yùn)行的計(jì)算機(jī)鼠標(biāo)!用戶(hù)通過(guò)傾斜鼠標(biāo)就可以讓屏幕上的光標(biāo)移動(dòng),從而可以進(jìn)行大范圍自定義動(dòng)作。我們首先展示構(gòu)建AirMouse的基礎(chǔ)知識(shí),然后介紹如何擴(kuò)展其功能!

AirMouse主要由兩個(gè)部分組成:戴在手上的鼠標(biāo)發(fā)射器和連接用戶(hù)計(jì)算機(jī)的接收器。發(fā)射器收集鼠標(biāo)的方向和按鈕狀態(tài)信息;而接收器轉(zhuǎn)換這些信息,從而在計(jì)算機(jī)屏幕上執(zhí)行相應(yīng)操作。

為了易用性和簡(jiǎn)潔性,我們最初利用Arduino Pro Mini和Teensy 3.2微控制器——市場(chǎng)上深受業(yè)余愛(ài)好者歡迎的兩種最小的微控制器——構(gòu)建AirMouse。兩個(gè)微控制器通過(guò)一對(duì)nRF24L01 RF模塊進(jìn)行無(wú)線通信,AirMouse使用MPU6050加速度計(jì)檢測(cè)運(yùn)動(dòng)。

然而,在本教程中,我們將向您展示一種更簡(jiǎn)單的AirMouse構(gòu)建方法:Arduino Uno結(jié)合ROHM傳感器開(kāi)發(fā)板上的加速度計(jì)。由于該ROHM傳感器開(kāi)發(fā)板結(jié)構(gòu)緊湊,而且附帶的庫(kù)可以處理I2C 通信,因此大大簡(jiǎn)化了設(shè)計(jì)。

硬件:

發(fā)射器:

1 x Arduino Uno微控制器

1 x ROHM傳感器評(píng)估套件

1 x ROHM加速度計(jì) (KX022-1020)

1 x nRF24L01+ RF模塊

排母

滑動(dòng)開(kāi)關(guān)

1 x 可焊接試驗(yàn)電路板,足夠大,能焊接微控制器和所有電子器件

2 x 按鍵

1 x 1s LiPo電池

1 x 1k?電阻

1 x 3.3k?電阻

接收器:

1 x Teensy 3.2微控制器

1 x NRF24L01+ RF模塊

排母

1 x 可焊接試驗(yàn)電路板,足夠大,能焊接微控制器和所有電子器件

1 x 紅、黃、綠LED

1 x 150?電阻

硬件組裝

這一步您可以發(fā)揮自己的創(chuàng)造力!只要按照下圖所示的接線圖進(jìn)行接線即可,各個(gè)組件的實(shí)際位置并不重要。但是請(qǐng)確保AirMouse使用起來(lái)非常舒適!比如,您可能需要按照姿勢(shì)舒服、暢通無(wú)阻的方式安裝左鍵和右鍵單擊按鈕。

然而,組裝這些設(shè)備之前,讓我們來(lái)看一下必須建立的不同連接。

發(fā)射器

poYBAGPzJhSAdy2dAADIJbgeeJE938.jpg

圖1 發(fā)射器原理圖(請(qǐng)注意RF模塊的Vcc連至3.3V?。?/p>

pYYBAGPzJhaAfImTAARhAVU_X7g816.jpg

圖2 Arduino Uno的面包板“蓋板” 由于Uno的接頭與面包板的孔間距(0.1〞)并不完全吻合,因此按鈕數(shù)字輸入線需要使用跳線(藍(lán)色)。

兩個(gè)RF模塊通過(guò)SPI總線分別連至各自的微控制器。要了解有關(guān)不同通信協(xié)議和SPI的更多信息,請(qǐng)查看我們的此處鏈接轉(zhuǎn)移至DevicePlus.com英語(yǔ)網(wǎng)站Arduino通信協(xié)議教程!SPI在RF通信等應(yīng)用中非常有用,因?yàn)槠鋽?shù)據(jù)傳輸速度快,允許兩個(gè)器件以高數(shù)據(jù)速率、低延遲和高可靠性相互傳輸大量數(shù)據(jù)。正如我們?cè)诒窘坛讨杏懻摰哪菢樱琒PI通信是同步的、雙向的,這兩個(gè)特性顯著提高了數(shù)據(jù)發(fā)送和接收速度。

RF模塊的 MOSI, MISO, and SCK 線路必須連接 Arduino上的特定引腳。這些引腳的介紹如下:

MOSI D11
MISO D12
SCK D13

RF模塊的CE腳表示Chip Enable(芯片使能), 可以用來(lái)讓RF模塊進(jìn)入待機(jī)/睡眠模式。RF模塊的CS腳是SPI從機(jī)選擇引腳。這兩個(gè)引腳必須連至Arduino上的兩個(gè)單獨(dú)GPIO引腳,但是不需要連至任何具體引腳。

poYBAGPzJheAF4zjAAEElhblnng776.jpg

圖3 Arduino Uno和RF模塊的接線圖

Arduino Uno工作電壓為5V,而nRF24L01+工作電壓為3.3V。兩者工作電壓存在差異,但是我們可以利用Arduino的輸出引腳為RF模塊供電,并且不會(huì)損壞RF模塊。nRF24L01+模塊的電源(Vcc)引腳應(yīng)連至Uno上的Arduino穩(wěn)壓3.3V輸出。切勿將Vcc引腳連至5V,否則可能會(huì)損壞模塊!在這個(gè)項(xiàng)目中,使用Arduino上的穩(wěn)壓輸出為RF模塊供電是可行的,因?yàn)椋?)RF模塊的電流消耗非常低;(2)在軟件中,我們將配置無(wú)線電的功率放大器,讓其處于較低功率模式。

無(wú)線模塊中間的nRF24L01+芯片的Nordic Semiconductor 數(shù)據(jù)表 表明,該模塊的發(fā)射和接收電流分別為11.3mA和13.5mA。而Arduino的核心Atmel芯片能夠在每個(gè)數(shù)字引腳上提供高達(dá)40mA的電流,因此在最低發(fā)射和接收功率設(shè)置下(對(duì)于這個(gè)項(xiàng)目來(lái)說(shuō)已經(jīng)足夠),Arduino能夠成功地為RF模塊供電。在Arduino代碼中,我們會(huì)通過(guò)命令setPALevel(RF24_PA_LOW)指定LOW(低)功耗模式,告訴RF模塊其功耗不能超過(guò)它的次低功率等級(jí)(設(shè)置選項(xiàng)包括MIN、LOW、HIGH和MAX)。

現(xiàn)在我們來(lái)看一下這些引腳在RF模塊上的實(shí)際位置。具體引腳位置請(qǐng)參見(jiàn)下方的引腳說(shuō)明。

poYBAGPzFsCAcLgzAADF7CqlfvU395.jpg

圖4 nRF24L01+ RF模塊的引腳排列
模塊的引腳1用正方形表示。請(qǐng)注意,模塊與插頭引腳并不對(duì)稱(chēng)。/ ?Addicore

連接RF模塊時(shí),您可能需要在試驗(yàn)電路板上使用排母。這樣,如有必要,您可以從試驗(yàn)板上拆下模塊。

此外,在焊接4×2排針的連接時(shí)要特別小心——引腳之間的距離非常小
,任何不必要的短路都會(huì)損壞模塊!請(qǐng)確保排針接頭周?chē)粲凶銐蚩臻g
,以便可以輕松進(jìn)行焊接工作。

鼠標(biāo)左鍵和右鍵的功能按鈕連至設(shè)置為輸入的Arduino數(shù)字引腳。我們通過(guò)布置每個(gè)按鈕,使得數(shù)字引腳在單擊按鈕時(shí)讀取邏輯高電平,否則為邏輯低電平。按鈕連接的放大圖如下所示:

pYYBAGPzJhuABC76AABwSEma38g727.jpg

圖5 本項(xiàng)目使用的按鈕布局
按下此按鈕時(shí),GPIO腳接通Vcc。

從上圖可以看出,單擊按鈕時(shí),GPIO引腳直接連至Vcc。沒(méi)有按下按鈕時(shí),GPIO引腳和地之間的電阻將GPIO引腳“拉低”到地,因此稱(chēng)為下拉電阻。這種做法是為了避免數(shù)字輸入引腳的懸空邏輯電平問(wèn)題。當(dāng)數(shù)字輸入不確定(或者連接邏輯高或者連接邏輯低)時(shí),會(huì)出現(xiàn)這種情況,即使沒(méi)有連接也會(huì)由于系統(tǒng)噪聲導(dǎo)致不可預(yù)知的行為,比如高讀數(shù)或低讀數(shù)。我們需要一個(gè)高阻值電阻(在這種情況下,10k電阻即可),因?yàn)橹灰c(diǎn)擊按鈕,將GPIO引腳接地就會(huì)導(dǎo)致Vcc和地之間短路。按下按鈕電路形成閉環(huán)時(shí),電阻會(huì)降低Vcc和地之間的電流,從而防止出現(xiàn)危險(xiǎn)的短路情況。

poYBAGPzJh2AOmF5AAPwlcTB5p8892.jpg

圖6 ROHM傳感器開(kāi)發(fā)板上方的面包板
傳感器開(kāi)發(fā)板隨附的KX022加速度計(jì)模塊可完美安裝在I2C接頭頂部和面包板下方。

幸運(yùn)的是,對(duì)于我們來(lái)說(shuō),ROHM傳感器開(kāi)發(fā)板已經(jīng)完成了所有的I2C 硬件連接,這大大簡(jiǎn)化了I2C硬件設(shè)置,用戶(hù)只需將加速度模塊連至I2C的一個(gè)接頭即可!要了解有關(guān)I2C工作的更多信息,請(qǐng)?jiān)L問(wèn)我們的 Arduino通信協(xié)議教程!!

接收器

poYBAGPzJh6AB3dyAADfjYCRTbs625.jpg

圖7 接收器原理圖(如上所示,RF模塊的Vcc連至3.3V?。?/p>

pYYBAGPzJiCAUBTqAASjmrhCeLo752.jpg

圖8 接收器模塊
GPIO引腳連接了兩個(gè)LED,以便進(jìn)行調(diào)試

接收端的連接與發(fā)送端非常相似。RF模塊的不同SPI引腳連至Teensy微控制器上的匹配引腳(與Arduino相同的引腳)。您還可以添加LED,以便進(jìn)行調(diào)試和信息顯示。

組裝AirMouse是構(gòu)建過(guò)程中最乏味的地方,但是,您可以充分發(fā)揮您的創(chuàng)意!請(qǐng)嘗試把模塊做得更小、更符合人體工程學(xué),并與我們分享您的想法和作品吧!

請(qǐng)確保在通風(fēng)良好的區(qū)域進(jìn)行焊接并使用高質(zhì)量設(shè)備,并經(jīng)常休息。您完成硬件構(gòu)建之后,請(qǐng)參閱本文的第2部分 – 軟件部分!

poYBAGPzJiOABwwCAAeW240Ppes045.jpg

審核編輯:湯梓紅

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

    關(guān)注

    48

    文章

    7467

    瀏覽量

    150882
  • 傳感器
    +關(guān)注

    關(guān)注

    2546

    文章

    50498

    瀏覽量

    751201
  • 發(fā)射器
    +關(guān)注

    關(guān)注

    6

    文章

    842

    瀏覽量

    53360
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    采用ROHM傳感器套件的DIY Arduino家庭安防系統(tǒng) 2部分- Cayenne設(shè)置

    在DIY智能家居安防系統(tǒng)1部分中,我們將各種組件(例如PIR傳感器、溫度傳感器和壓力傳感器)組
    的頭像 發(fā)表于 09-19 10:20 ?4188次閱讀

    使用觸摸傳感器的設(shè)備的輸入和控制,2部分:控制和開(kāi)發(fā)包

    在本系列觸摸感知的1部分中,我們研究了各種類(lèi)型的觸摸傳感器技術(shù)。在2部分中,我們將探討觸摸感
    發(fā)表于 06-21 09:28 ?5次下載
    使用觸摸<b class='flag-5'>傳感器</b>的設(shè)備的輸入和控制,<b class='flag-5'>第</b>2<b class='flag-5'>部分</b>:控制<b class='flag-5'>器</b>和開(kāi)發(fā)包

    1部分:MAX32660的特點(diǎn)原理介紹

    該系列視頻共包括2部分,這是1部分。本部分介紹MAX32660低功耗Arm? Cortex?-M4 FPU微控制
    的頭像 發(fā)表于 10-08 01:46 ?7243次閱讀

    DN236-1和2通道無(wú)延遲ΔΣ<sup>?</sup>24位ADC輕松實(shí)現(xiàn)多種傳感器的數(shù)字化,1部分

    DN236-1和2通道無(wú)延遲ΔΣ?24位ADC輕松實(shí)現(xiàn)多種傳感器的數(shù)字化,1部分
    發(fā)表于 04-19 20:11 ?1次下載
    DN236-<b class='flag-5'>1</b>和2通道無(wú)延遲ΔΣ<sup>?</sup>24位ADC輕松<b class='flag-5'>實(shí)現(xiàn)</b>多種<b class='flag-5'>傳感器</b>的數(shù)字化,<b class='flag-5'>第</b><b class='flag-5'>1</b><b class='flag-5'>部分</b>

    DN237-1通道和2通道無(wú)延遲ΔΣ<sup>?</sup>24位ADC輕松實(shí)現(xiàn)多種傳感器的數(shù)字化,2部分

    DN237-1通道和2通道無(wú)延遲ΔΣ?24位ADC輕松實(shí)現(xiàn)多種傳感器的數(shù)字化,2部分
    發(fā)表于 04-19 21:17 ?0次下載
    DN237-<b class='flag-5'>1</b>通道和2通道無(wú)延遲ΔΣ<sup>?</sup>24位ADC輕松<b class='flag-5'>實(shí)現(xiàn)</b>多種<b class='flag-5'>傳感器</b>的數(shù)字化,<b class='flag-5'>第</b>2<b class='flag-5'>部分</b>

    用Hercules? LaunchPad? 開(kāi)發(fā)套件控制GaN功率級(jí)—1部分

    用Hercules? LaunchPad? 開(kāi)發(fā)套件控制GaN功率級(jí)—1部分
    發(fā)表于 11-03 08:04 ?0次下載
    用Hercules? LaunchPad? 開(kāi)發(fā)<b class='flag-5'>套件</b>控制GaN功率級(jí)—<b class='flag-5'>第</b><b class='flag-5'>1</b><b class='flag-5'>部分</b>

    基于Arduino的太陽(yáng)能電池板數(shù)字生態(tài)箱(1部分

    這篇文章來(lái)源于DevicePlus.com英語(yǔ)網(wǎng)站的翻譯稿。在今天的文章中,我們將提供一個(gè)使用Arduino構(gòu)建電子套件的新方案,本文分為1部分
    的頭像 發(fā)表于 02-23 09:44 ?1072次閱讀
    基于Arduino的太陽(yáng)能電池板數(shù)字生態(tài)箱(<b class='flag-5'>第</b><b class='flag-5'>1</b><b class='flag-5'>部分</b>)

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

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

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

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

    采用ROHM傳感器套件的DIY Arduino家庭安防系統(tǒng) 2部分- Cayenne設(shè)置

    在DIY智能家居安防系統(tǒng)1部分中,我們將各種組件(例如PIR傳感器、溫度傳感器和壓力傳感器)組
    的頭像 發(fā)表于 02-24 14:38 ?963次閱讀
    采用<b class='flag-5'>ROHM</b><b class='flag-5'>傳感器</b><b class='flag-5'>套件</b>的DIY Arduino家庭安防系統(tǒng) <b class='flag-5'>第</b>2<b class='flag-5'>部分</b>- Cayenne設(shè)置

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

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

    ROHM傳感器評(píng)估套件的3D外殼以及RohmMultiSensor庫(kù)更新

    不久前,我創(chuàng)建了RohmMultiSensor - Arduino庫(kù),利用該庫(kù)可以輕松控制ROHM傳感器評(píng)估套件中的多個(gè)
    的頭像 發(fā)表于 02-24 09:51 ?853次閱讀
    <b class='flag-5'>ROHM</b><b class='flag-5'>傳感器</b><b class='flag-5'>評(píng)估</b><b class='flag-5'>套件</b>的3D外殼以及RohmMultiSensor庫(kù)更新

    利用ROHM傳感器評(píng)估套件實(shí)現(xiàn)UCLA AirMouse2部分

    利用ROHM傳感器評(píng)估套件實(shí)現(xiàn)UCLA
    的頭像 發(fā)表于 02-27 10:27 ?527次閱讀

    帶溫度傳感器的低功耗電子墨水顯示屏(1部分

    電子發(fā)燒友網(wǎng)站提供《帶溫度傳感器的低功耗電子墨水顯示屏(1部分).zip》資料免費(fèi)下載
    發(fā)表于 07-03 10:20 ?0次下載
    帶溫度<b class='flag-5'>傳感器</b>的低功耗電子墨水顯示屏(<b class='flag-5'>第</b><b class='flag-5'>1</b><b class='flag-5'>部分</b>)

    電源設(shè)計(jì)方法-1部分

    電子發(fā)燒友網(wǎng)站提供《電源設(shè)計(jì)方法-1部分.pdf》資料免費(fèi)下載
    發(fā)表于 09-06 11:40 ?0次下載
    電源設(shè)計(jì)方法-<b class='flag-5'>第</b><b class='flag-5'>1</b><b class='flag-5'>部分</b>