一种移动距离反馈装置的制作方法_第1页
一种移动距离反馈装置的制作方法_第2页
一种移动距离反馈装置的制作方法_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一种移动距离反馈装置的制作方法简介移动距离反馈装置是一种能够检测移动距离并反馈到用户的装置,广泛应用于虚拟现实、游戏、智能家居等领域。本文将介绍一种制作移动距离反馈装置的方法。所需材料ArduinoUnoR3开发板9DOF姿态传感器(MPU9250)两个直流电机两个电机驱动模块(L9110)两个电机一个9V电池电线、面包板等小物件制作步骤第一步:连接ArduinoUnoR3开发板和传感器将传感器的SDA、SCL端口连接到Arduino的SDA、SCL引脚上。将传感器的(VCC、GND)接口分别与Arduino的(5V、GND)接口相连。第二步:连接电机和驱动模块将红色电线连接到驱动模块的VCC端口,黑色电线连接到GND端口。将电机的接口连接到驱动模块的M1、M2端口。第三步:编写程序连接ArduinoUnoR3开发板和电脑。打开Arduino开发环境,按下Ctrl+Shift+N,打开新窗口。输入如下代码:#include<Wire.h>

#defineaddr0x68//MPU一般默认地址

volatileintX,Aa,Az,T;

intMotor1=3;

intMotor2=5;

intPWM=255;

voidsetup()

{

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

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

Wire.beginTransmission(addr);//向对应地址传输

Wire.write(0x6B);//六轴传感器的寄存器

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

Wire.endTransmission(true);//结束传输,如果输入true,发送stop或restart标志

pinMode(Motor1,OUTPUT);//设置1号电机控制引脚

pinMode(Motor2,OUTPUT);//设置2号电机控制引脚

}

voidloop()

{

Wire.beginTransmission(addr);//开始数据删除

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

Wire.endTransmission(false);

Wire.requestFrom(addr,14,true);//请求MPU传感器发送14个字节

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轴旋转角

PWM=-Az/45.0*255;//计算PWM值

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

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

if(PWM>0)Motor_run(Motor2,0,PWM);//1号电机正转

elseMotor_run(Motor2,-PWM,0);//1号电机反转

if(PWM<0)Motor_run(Motor1,0,-PWM);//2号电机正转

elseMotor_run(Motor1,PWM,0);//2号电机反转

delay(1000);

}

voidMotor_run(intmotor1_val,intmotor2_val)

{

analogWrite(Motor1,motor1_val);

analogWrite(Motor2,motor2_val);

}第四步:上传程序将ArduinoUnoR3开发板连接到电脑上,选择对应的串口和板子进行烧录。上传成功后,将电池、电机、面包板等连接好。总结本文介绍了一种简单易学的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论