一種移動(dòng)距離反饋裝置的制作方法_第1頁
一種移動(dòng)距離反饋裝置的制作方法_第2頁
一種移動(dòng)距離反饋裝置的制作方法_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

一種移動(dòng)距離反饋裝置的制作方法簡介移動(dòng)距離反饋裝置是一種能夠檢測移動(dòng)距離并反饋到用戶的裝置,廣泛應(yīng)用于虛擬現(xiàn)實(shí)、游戲、智能家居等領(lǐng)域。本文將介紹一種制作移動(dòng)距離反饋裝置的方法。所需材料ArduinoUnoR3開發(fā)板9DOF姿態(tài)傳感器(MPU9250)兩個(gè)直流電機(jī)兩個(gè)電機(jī)驅(qū)動(dòng)模塊(L9110)兩個(gè)電機(jī)一個(gè)9V電池電線、面包板等小物件制作步驟第一步:連接ArduinoUnoR3開發(fā)板和傳感器將傳感器的SDA、SCL端口連接到Arduino的SDA、SCL引腳上。將傳感器的(VCC、GND)接口分別與Arduino的(5V、GND)接口相連。第二步:連接電機(jī)和驅(qū)動(dòng)模塊將紅色電線連接到驅(qū)動(dòng)模塊的VCC端口,黑色電線連接到GND端口。將電機(jī)的接口連接到驅(qū)動(dòng)模塊的M1、M2端口。第三步:編寫程序連接ArduinoUnoR3開發(fā)板和電腦。打開Arduino開發(fā)環(huán)境,按下Ctrl+Shift+N,打開新窗口。輸入如下代碼:#include<Wire.h>

#defineaddr0x68//MPU一般默認(rèn)地址

volatileintX,Aa,Az,T;

intMotor1=3;

intMotor2=5;

intPWM=255;

voidsetup()

{

Serial.begin(9600);//使用串口需要設(shè)置比特率

Wire.begin();//Wire庫初始化

Wire.beginTransmission(addr);//向?qū)?yīng)地址傳輸

Wire.write(0x6B);//六軸傳感器的寄存器

Wire.write(0);//喚醒MPU

Wire.endTransmission(true);//結(jié)束傳輸,如果輸入true,發(fā)送stop或restart標(biāo)志

pinMode(Motor1,OUTPUT);//設(shè)置1號(hào)電機(jī)控制引腳

pinMode(Motor2,OUTPUT);//設(shè)置2號(hào)電機(jī)控制引腳

}

voidloop()

{

Wire.beginTransmission(addr);//開始數(shù)據(jù)刪除

Wire.write(0x3B);//ang格式化

Wire.endTransmission(false);

Wire.requestFrom(addr,14,true);//請求MPU傳感器發(fā)送14個(gè)字節(jié)

X=Wire.read()<<8|Wire.read();//讀取x軸高八位和低八位

Aa=Wire.read()<<8|Wire.read();//y軸信息

Az=Wire.read()<<8|Wire.read();//z軸信息

T=Wire.read()<<8|Wire.read();//溫度信息

Aa=-Aa/16384.0*90.0;//matlab用degree

Az=Az/16384.0*90.0;//求z軸旋轉(zhuǎn)角

PWM=-Az/45.0*255;//計(jì)算PWM值

if(PWM>255)PWM=255;//PWM值最大為255

if(PWM<-255)PWM=-255;

if(PWM>0)Motor_run(Motor2,0,PWM);//1號(hào)電機(jī)正轉(zhuǎn)

elseMotor_run(Motor2,-PWM,0);//1號(hào)電機(jī)反轉(zhuǎn)

if(PWM<0)Motor_run(Motor1,0,-PWM);//2號(hào)電機(jī)正轉(zhuǎn)

elseMotor_run(Motor1,PWM,0);//2號(hào)電機(jī)反轉(zhuǎn)

delay(1000);

}

voidMotor_run(intmotor1_val,intmotor2_val)

{

analogWrite(Motor1,motor1_val);

analogWrite(Motor2,motor2_val);

}第四步:上傳程序?qū)rduinoUnoR3開發(fā)板連接到電腦上,選擇對應(yīng)的串口和板子進(jìn)行燒錄。上傳成功后,將電池、電機(jī)、面包板等連接好??偨Y(jié)本文介紹了一種簡單易學(xué)的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論