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

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

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

怎樣使用加速度計和RF收發(fā)器對的手勢控制流動站

454398 ? 來源:網(wǎng)絡整理 ? 作者:網(wǎng)絡整理 ? 2019-12-11 11:36 ? 次閱讀

步驟1:收集物品

《表樣式=“ border-collapse:折疊;”》 ?Arduino Nano x1 ?加速度計(ADXL335) x1 ?5V直流電機+車輪 每個x2 ?牛車輪* x1 ?L293D電機驅(qū)動器+ 16針IC插座 每個x1 ?434 MHz射頻發(fā)送器 x1 ? 434 MHz射頻接收器 x1 ?HT-12E編碼器IC + 18針I(yè)C插座 每個x1 ?HT-12D解碼器IC + 18針I(yè)C插座t 每個x1 ?LM7805穩(wěn)壓器 x1 ?按鈕開關(guān) x2 ?紅色LED + 330O電阻器 每個x2 ?黃色LED + 330O電阻器 每個x1 ?綠色LED + 330O電阻器(可選) 每個x4 ?51kO和1MO電阻器 每個x1 ?10μF徑向電容器 x2 電池,電池連接器,USB電纜,跳線,母接頭,2針螺絲端子,PCB,機箱和常用的焊接配件

如果您想知道為什么我們?yōu)槭裁匆褂檬聦嵤?,射頻發(fā)射器和接收器模塊只有4個數(shù)據(jù)引腳,這意味著我們只能驅(qū)動2個電機,因此使用牛輪來支撐結(jié)構(gòu)。但是,如果您覺得四輪摩托看起來更酷一點,請放心,這是可以解決的!在這種情況下,只需從列表中刮出牛輪,添加另一對5V DC電機,每個電機都帶一個輪,,并注意在步驟3結(jié)束時討論的簡單技巧。/p》

最后,對于勇敢的人來說,可以在設計中進行其他一些小的修改,其中包括對您自己的Arduino進行設計。前往下一步的“獎金”部分,親自看看。您還需要一些額外的電源: ATmega328P , 28pin IC插座, 16Mhz晶體振蕩器,兩個 22pF陶瓷電容,另一個 7805穩(wěn)壓器,另外兩個10μF徑向電容和10kΩ,680Ω,330Ω電阻,是的,減去Arduino !

步驟2:連接變送器

我們將把項目分解為兩個組成部分:發(fā)射器和接收器電路。發(fā)射器由一個加速度計,一個Arduino和一個射頻發(fā)射器模塊以及一個HT-12E編碼器IC組成,所有模塊均按照所附的原理圖進行接線。

如前所述,該加速度計用于識別我們的加速度計。手勢。我們將使用三軸加速度計(基本上是三個單軸加速度計)來滿足我們的需求。它可以用來測量所有三個維度上的加速度,并且您可能已經(jīng)猜到了,它不會產(chǎn)生一個,而是相對于三個軸(x,y和z)的三個模擬值的集合。實際上,我們只需要沿x和y軸加速,因為我們只能沿四個方向驅(qū)動流動站:向前或向后(即,沿y軸)和向左或向右(即,沿x軸)。如果要構(gòu)建無人機,我們將需要z軸,以便我們也可以通過手勢控制它的上升或下降。在任何情況下,加速度計產(chǎn)生的這些模擬值都必須轉(zhuǎn)換為數(shù)字信號,以便能夠驅(qū)動電動機。 Arduino負責解決這一問題,Arduino也將這些信號轉(zhuǎn)換后通過RF發(fā)送器模塊發(fā)送到流動站。

RF發(fā)送器只有一項工作: 將天線3處的“串行”數(shù)據(jù)發(fā)送到天線1處。提倡使用 HT-12E ,這是一種12位并行/串行數(shù)據(jù)編碼器,它可以從Arduino在AD8至AD11行收集多達4位并行數(shù)據(jù),從而使我們能夠為多達24 = 16種不同的I/O組合騰出空間,而不是RF發(fā)射器上的單個數(shù)據(jù)引腳。從編碼器上的A0到A7線提取的其余8位構(gòu)成地址字節(jié),這有助于將RF發(fā)送器與相應的RF接收器配對。然后將這12位組合在一起并進行序列化,然后傳遞到RF發(fā)送器的數(shù)據(jù)引腳,后者再將ASK將數(shù)據(jù)調(diào)制到434MHz載波上,并通過天線在引腳1處發(fā)射出去。

從概念上講,任何以434Mhz監(jiān)聽的RF接收器都應該能夠攔截,解調(diào)和解碼該數(shù)據(jù)。但是,HT-12E和HT-12D對應地址線(12位串行到并行數(shù)據(jù)解碼器)上的地址線允許我們通過路由數(shù)據(jù)來使射頻收發(fā)器對唯一。僅與目標接收者進行通信,從而限制了與所有其他接收器的通信。我們要做的就是在兩個前端上完全相同地配置地址線。例如,由于我們已將HT-12E的所有地址線都接地,因此必須在接收端對HT-12D進行同樣的處理,否則流動站將無法接收信號。 通過這種方式,我們還可以通過在每個接收器的HT-12D上相同地配置地址線,用單個發(fā)射器電路控制多個流動站。或者,我們可以戴上兩副手套,每只手套上都貼有包含不同地址線配置的發(fā)射器電路(例如,一根接地,所有地址線都接地,另一根接地的線都保持高電平,或者一根接地的線,而其余七根保持著。高,另一條接地兩根線,而其余六根保持高電平,或它們的任何其他組合),每根轉(zhuǎn)向操縱多個相同構(gòu)造的漫游車。

組裝電路時要注意的一件事是 Rosc的值。 HT-12E在引腳15和16之間有一個內(nèi)部振蕩器電路,可通過在這些引腳之間連接一個稱為Rosc的電阻來使能該振蕩器。實際上,為 Rosc選擇的值確定了振蕩器頻率,該頻率可以根據(jù)電源電壓而變化。為Rosc選擇合適的值對于HT-12E的功能至關(guān)重要!理想情況下,HT-12E的振蕩器頻率應為HT-12D振蕩器頻率的1/50倍。因此,由于我們使用5V電壓工作,因此我們分別為HT-12E和HT-12D電路選擇1MΩ和51kΩ電阻作為Rosc。如果您打算在不同的電源電壓下操作電路,請參考隨附的HT-12E數(shù)據(jù)表的“振蕩器頻率與電源電壓”圖第11頁,以確定確切的振蕩器頻率和電阻。

此外,作為附帶說明,我們將使用母頭(與IC插座具有類似目的)來插入加速度計,RF發(fā)射器和電路中的Arduino,而不是直接將它們焊接到PCB上。目的是為了適應組件的可重用性。假設您已經(jīng)設計了一段時間,因為您已經(jīng)設計好了手勢控制的流動站,而現(xiàn)在它正坐在那里,一半被灰塵覆蓋,位于獎杯架的頂部,您偶然發(fā)現(xiàn)了另一個利用加速度計功能的出色指導。所以你會怎么做?您只需將其從流動站中拉出,然后推入新電路即可。無需召喚“亞馬遜”為您帶來新的機會:-p

獎金:放棄Arduino,但不要!

以防萬一,感覺有點冒險,尤其是如果您認為將這種設計精美的奇跡(當然是Arduino)花費在我們這樣的瑣碎任務上有點過頭了,請耐心等待一段時間;

我們的目標是制造Arduino(實際上是Arduino的大腦;是的,我在談論ATmega IC?。F隊的永久成員。 將ATmega編程為一次又一次地運行一個草圖,以便它可以作為電路的永久部分,就像HT-12E一樣,它只是一個IC,只坐在那里,做應該做的事。

無論如何,要繼續(xù)進行此升級,只需按照所附的第二個原理圖修改電路即可。在這里,我們只需用ATmega的IC插座替換Arduino的母接頭,在IC的復位引腳(引腳1)上添加一個10K上拉電阻,并在引腳9和10之間使用外部時鐘將其泵浦不幸的是,如果我們放棄了Arduino,我們也將其內(nèi)置的電壓調(diào)節(jié)器也放開了;因此,我們還必須在此處復制我們用于接收器的LM7805電路。此外,我們還利用分壓器來為加速度計供電所需的3.3V電壓。

現(xiàn)在,唯一要注意的就是對ATmega進行編程以完成其工作。不過,您必須等到第4步。因此,請繼續(xù)關(guān)注…

步驟3:而且,接收器

接收器由一個射頻接收器模塊,一個HT-12D解碼器IC和一對在L293D電機驅(qū)動器的幫助下運行的直流電機組成,所有電機均按照隨附的原理圖進行接線。

RF接收器的唯一工作是解調(diào)載波(通過其在引腳1處的天線接收),并在引腳7處呈現(xiàn)獲取的“串行”數(shù)據(jù)被 HT-12D 拾取并反序列化。現(xiàn)在,假設HT-12D上的地址線(A0至A7)與HT-12E的地址線相同,則通過數(shù)據(jù)線提取數(shù)據(jù)的4個并行位并通過 HT-12D上的(D8到D11),連接到電動機驅(qū)動器,電動機驅(qū)動器又將這些信號解釋為驅(qū)動電動機。

再次,請注意四川‘竹根即可。 HT-12D在引腳15和16之間也有一個內(nèi)部振蕩器電路,該電路通過在這些引腳之間連接一個稱為Rosc的電阻器來使能。實際上,為 Rosc選擇的值確定了振蕩器頻率,該頻率可以根據(jù)電源電壓而變化。為Rosc選擇合適的值對于HT-12D的功能至關(guān)重要!理想情況下,HT-12D的振蕩器頻率應為HT-12E振蕩器頻率的50倍。因此,由于我們工作在5V電壓下,因此我們?yōu)镠T-12E和HT-12D選擇了1MΩ和51kΩ電阻作為Rosc。電路。如果您打算在不同的電源電壓下操作電路,請參考隨附的HT-12D數(shù)據(jù)表的“振蕩器頻率與電源電壓”圖第5頁,以確定確切的振蕩器頻率和電阻。

還可以,不要忘記RF接收器的母頭。

可選地,可以通過330Ω限流器連接LED電阻連接到HT-12D的4個數(shù)據(jù)引腳中的每一個,以便幫助確定在該引腳上接收的位。如果接收到的位為高電平(1),則LED會點亮;如果接收到的位為低電平(0),則LED會變暗。另外,也可以將單個LED綁在HT-12D的VT引腳上(同樣通過330Ω限流電阻),如果有效傳輸,該指示燈會亮起。

現(xiàn)在,如果您正在尋找我在第一步中提到的電動機的駭客,這太容易了! 只需將第二組中的兩個電動機并聯(lián)連接即可。之所以如此,是因為每組中的電動機(左側(cè)的前部和后部電動機,右側(cè)的前部和后部電動機)絕不會反向驅(qū)動。也就是說,為了使流動站向右轉(zhuǎn),必須同時向前驅(qū)動左側(cè)的前部和后部電動機,并且必須向后驅(qū)動右側(cè)的前部和后部電動機。同樣,要使流動站向左轉(zhuǎn),必須同時向左驅(qū)動左側(cè)的前部和后部電動機,并且必須向前驅(qū)動右側(cè)的前部和后部電動機。因此,將同一對電壓饋入一組中的兩個電機是安全的。而且,解決該問題的方法是簡單地將它們并聯(lián)起來。

步驟4:進入代碼

要做的只是使流動站啟動并運行。是的,您猜對了! (我希望您做到了)我們?nèi)匀槐仨殞⒓铀俣扔嫷淖x數(shù)轉(zhuǎn)換為電機驅(qū)動器可以解釋為能夠驅(qū)動電機的形式。如果您認為由于加速度計的讀數(shù)是模擬的,并且電動機驅(qū)動器期望數(shù)字信號,那么我們將必須實現(xiàn)某種ADC,這不是技術(shù)上的要求,但這就是我們要做的。并且它非常簡單。

我們知道加速度計沿線性軸測量重力加速度,并且該加速度表示為在地面和電源電壓之間波動的電壓水平,我們的微控制器讀取該電壓水平輸入的模擬值在0到1023之間變化。但是,由于我們將加速度計的工作電壓設為3.3V,因此我們建議將10位ADC(集成在Arduino上的ATmeaga中)的模擬參考值設置為3.3 V 即可。它只會使事情更容易理解;不過,即使我們不這樣做,對于我們的小實驗也無濟于事(我們只需要稍微調(diào)整一下代碼)。但是,為此,我們只需將Arduino上的AREF引腳(ATmega上的引腳21)連接到3.3V,并通過調(diào)用 analogReference(EXTERNAL) 來表示代碼中的這一更改。

現(xiàn)在,當我們將加速度計放平并模擬讀取沿x和y軸的加速度時(記住嗎?我們只需要這兩個軸),我們得到的值約為511(即0到1023之間的一半),即只是說沿這些軸的加速度為0。與其深入研究事實的細節(jié),不如將其想象為圖形上的x和y軸,如圖所示,值511表示原點,值0和1023表示端點。調(diào)整加速度計的方向,使其針腳指向下方并靠近您,否則您可能會反轉(zhuǎn)/互換軸。這意味著,如果將加速度計向右傾斜,則應沿x軸讀取大于511的值,如果將加速度計向左傾斜,則應沿x軸讀取小于511的值。 x軸上。同樣,如果將加速度計向前傾斜,則應沿y軸讀取大于511的值,如果向后傾斜加速度計,則應沿y軸讀取小于511的值。這就是我們在代碼中推斷流動站應駛?cè)氲姆较虻姆绞?。但這也意味著我們必須保持加速度計真正穩(wěn)定并平行于平面對齊,才能沿511方向讀取511。以便將流動站停在兩個軸上。為了稍微簡化此任務,我們?nèi)鐖D所示定義了一些形成邊界的閾值,以便只要x和y讀數(shù)在范圍之內(nèi),流動站就保持靜止,而且我們可以肯定知道流動站一旦超過閾值,必須將其設置為運動狀態(tài)。

例如,如果y軸讀數(shù)為543,我們知道加速度計是向前傾斜的,因此我們必須使流動站向前。我們通過將引腳D2和D4設置為高電平并將引腳D3和D5設置為低電平來實現(xiàn)此目的?,F(xiàn)在,由于這些引腳直接連接到HT-12E,因此信號被串行化并發(fā)射到RF發(fā)射器,僅被位于流動站上的RF接收器捕獲,借助于HT-12D,該信號反序列化并將它們傳遞給L293D,L293D依次解釋這些信號并驅(qū)動電動機前進。

您可能想要更改這些閾值,以便校準靈敏度。一種簡單的方法是將加速度計連接到Arduino,然后運行一個草圖,將x和y讀數(shù)吐到串行監(jiān)視器上。現(xiàn)在,只需稍微移動一下加速度計,瀏覽一下讀數(shù)并確定閾值即可。

就這樣!將代碼上傳到您的Arduino并享受??!或者,也許不是很快:-( 如果您沒有跳過獎金部分,將代碼上傳到ATmega將會意味著更多工作。您有兩種選擇:

選項A: 使用USB到串行設備(例如FTDI FT232基本分線板),只需將TTL接頭連接線連接到ATmega上的相應引腳即可。根據(jù)下面的映射:

突破板上的針腳微控制器上的針腳

DTR/GRNRST/復位(引腳1)通過0.1μF電容

RxTx(Pin 3)

TxRx(Pin 2)

Vcc+ 5v輸出

CTS(未使用)

GndGround

現(xiàn)在,將USB電纜的一端插入分線板,另一端插入PC并按通常的方式上載代碼:啟動Arduino IDE,選擇一個合適的串行端口,設置

選項B: 如果周圍有人躺在地板上,請使用UNO 。只需將您的ATmega插入UNO,按通常的方式上載代碼,將IC拔出,然后將其推回到發(fā)送器電路中即可。像餡餅一樣簡單!

這兩個選項都應該起作用,前提是您足夠聰明,可以先燒掉引導加載程序,然后再使用ATmega,或者如果您更聰明地購買,首先安裝了引導程序的ATmega。如果沒有,請按照此處概述的步驟進行操作。

Andddd,我們正式完成!我希望您喜歡這個冗長的指導。現(xiàn)在,繼續(xù)進行,如果還沒有完成,請完成構(gòu)建您的流動站,試一會兒,然后再返回以對下面的評論部分進行大量查詢和/或建設性的批評。

責任編輯:wv

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

    關(guān)注

    1

    文章

    72

    瀏覽量

    24462
  • 加速度計
    +關(guān)注

    關(guān)注

    6

    文章

    693

    瀏覽量

    45732
收藏 人收藏

    評論

    相關(guān)推薦

    EPSON工業(yè)級加速度計選型

    愛普生加速度計(Accelerometers)是一種工業(yè)級三軸輸出壓電式加速度傳感,采用具有專利技術(shù)的雙音叉式石英傳感元件和Quarts光刻技術(shù),通過壓電效應來計算出諸如此類的內(nèi)容
    的頭像 發(fā)表于 09-19 15:31 ?64次閱讀
    EPSON工業(yè)級<b class='flag-5'>加速度計</b>選型

    三軸加速度計LIS2DUX12開發(fā)(2)----靜態(tài)校準

    零偏是影響加速度計輸出精度的重要指標之一,零偏可分為靜態(tài)零偏和動態(tài)零偏 。靜態(tài)零偏也稱為固定零偏,通常經(jīng)標定與補償減小靜態(tài)零偏。動態(tài)零偏是由于加速度計自身的缺陷或環(huán)境因素(如溫度、振動、電子干擾等
    的頭像 發(fā)表于 05-17 15:27 ?949次閱讀
    三軸<b class='flag-5'>加速度計</b>LIS2DUX12開發(fā)(2)----靜態(tài)校準

    采用可調(diào)電熱微梁的近零剛度MEMS加速度計

    MEMS加速度計正越來越多地應用于各種移動和測試設備,以測量運動、沖擊和振動。
    的頭像 發(fā)表于 05-09 09:11 ?400次閱讀
    采用可調(diào)電熱微梁的近零剛度MEMS<b class='flag-5'>加速度計</b>

    MEMS加速度計與MEMS陀螺儀的區(qū)別

    MEMS加速度計與MEMS陀螺儀是現(xiàn)代慣性導航系統(tǒng)中最常用的傳感。
    的頭像 發(fā)表于 02-17 14:05 ?2234次閱讀
    MEMS<b class='flag-5'>加速度計</b>與MEMS陀螺儀的區(qū)別

    ADXL1001加速度計沒有輸出的原因?

    RT9058轉(zhuǎn)換為5V為加速度計供電。 現(xiàn)有3種猜測: 1、由于我們是手工焊的ADXL1001,懷疑芯片沒有焊好 2、RT9058輸出電壓為5V~5.2V,懷疑比較接近ADXL1001的輸入電壓上限5.25V導致傳感不工作 3、傳感
    發(fā)表于 12-29 07:05

    兩軸加速度計和三軸加速度計的使用區(qū)別?

    有個問題請教一下:在靜態(tài)測量的情況下,兩軸的加速度計在測得X、Y軸上的加速度后,是不是就可以根據(jù)這兩個值和重力加速度g算出Z軸方向的加速度,這樣的話XYZ三個方向的角度也可以推導出來。
    發(fā)表于 12-29 06:06

    采集到的ADIS16477-2的imu數(shù)據(jù),測試陀螺、加速度計的漂移非常大怎么解決?

    是不是沒有設置濾波的帶寬原因,后面我再試一下。 陀螺漂移都大于40度/小時了, 加速度計的漂移大于1e-4g了。 與技術(shù)文檔相差很多呀?是不是要根據(jù)溫度進行補償呀?不知道怎么解決? 麻煩專家指點一下。謝謝!
    發(fā)表于 12-28 07:25

    mems加速度計的量程是指什么

    Mems加速度計(Micro Electro Mechanical Systems Accelerometer)是一種微型化的加速度傳感,可以測量物體在三個軸向上的加速度,并且廣泛地
    的頭像 發(fā)表于 12-15 10:21 ?1273次閱讀

    iMEMS加速度計和陀螺儀的相位及頻度響應性能

    電子發(fā)燒友網(wǎng)站提供《iMEMS加速度計和陀螺儀的相位及頻度響應性能.pdf》資料免費下載
    發(fā)表于 11-28 11:19 ?0次下載
    iMEMS<b class='flag-5'>加速度計</b>和陀螺儀的相位及頻度響應性能

    MEMS加速度計基本振動特性

    電子發(fā)燒友網(wǎng)站提供《MEMS加速度計基本振動特性.pdf》資料免費下載
    發(fā)表于 11-28 11:18 ?1次下載
    MEMS<b class='flag-5'>加速度計</b>基本振動特性

    加速度計和其他感主導的應用領(lǐng)域

    電子發(fā)燒友網(wǎng)站提供《加速度計和其他感主導的應用領(lǐng)域.pdf》資料免費下載
    發(fā)表于 11-27 11:58 ?0次下載
    <b class='flag-5'>加速度計</b>和其他感<b class='flag-5'>器</b>主導的應用領(lǐng)域

    MEMS加速度計振動校正說明

    電子發(fā)燒友網(wǎng)站提供《MEMS加速度計振動校正說明.pdf》資料免費下載
    發(fā)表于 11-23 16:03 ?0次下載
    MEMS<b class='flag-5'>加速度計</b>振動校正說明

    基于MEMS麥克風高帶寬加速度計的聲學性能設計

      加速度計可捕獲高達2.4KHz的振動信號,使用具有降噪功能的MEMS麥克風,可以顯著提高耳戴式設備或智能手機的音頻質(zhì)量。加速度計中嵌入的自檢功能消除了對每個產(chǎn)品PCB進行機械測試的需要[3]。
    發(fā)表于 11-23 10:10 ?827次閱讀
    基于MEMS麥克風高帶寬<b class='flag-5'>加速度計</b>的聲學性能設計

    MEMS加速度計的振動校正介紹

    電子發(fā)燒友網(wǎng)站提供《MEMS加速度計的振動校正介紹.pdf》資料免費下載
    發(fā)表于 11-23 09:45 ?0次下載
    MEMS<b class='flag-5'>加速度計</b>的振動校正介紹

    ADXL345超低功耗3軸加速度計應用

    電子發(fā)燒友網(wǎng)站提供《ADXL345超低功耗3軸加速度計應用.pdf》資料免費下載
    發(fā)表于 10-20 16:57 ?3次下載
    ADXL345超低功耗3軸<b class='flag-5'>加速度計</b>應用