的射频和无线供应商和资源

一站的射频和无线的需要

Arduino与陀螺传感器图、工作、代码

这个程序注意封面Arduino与陀螺传感器图及其工作。它描述了陀螺传感器和提到arduino代码使用。

介绍:
陀螺传感器广泛用于可穿戴设备。它是用来确定旋转运动和方向的变化。现今陀螺传感器带有I2C接口与arduino可以轻松实现,单片机或微处理器。

陀螺传感器的典型应用是角速度传感、角传感和控制机制。

对陀螺传感器

是模型微处理器- 6050所示的陀螺传感器。它提供x轴、y轴和z轴数据结合在一起。相同的将解析代码获得个人价值。

陀螺传感器微处理器6050

I2C总线协议使用两条线主人和奴隶之间的通信设备。线条SDA(串行数据)和sci(串行时钟)。请参考I2C vs SPI vs UART > >I2C接口上的更多信息。

关于Arduino电路板

Arduino电路板

•Arduino Uno房屋ATmega328 ATMEL单片机。这个单片机包含闪存(32 KB), RAM (2 KB), CPU和1 KB eepm 8位宽。
•它还支持6模拟针读取电压并没有电流。内,它将模拟测量转换为数字用于各种目的。它支持数字针(0 - 13),可以作为输入或输出函数。
•各种接口即I2C,数字别针,模拟别针,串行通信、USB等。
•也有复位销,电源端口、晶体振荡器和Tx / Rx led。
•这个开源模型板很容易编程使用易于使用arduino IDE和USB界面上的笔记本电脑和arduino电路板之间。
•IDE使用简化的c++程序。
•板需要5 v直流可使用AC / DC适配器或电池供电。

Arduino与陀螺传感器图及其工作

如图1所示,五针陀螺传感器界面的arduino电路板。下面的表格提到他们之间的连接。

Arduino与陀螺传感器
陀螺传感器 Arduino Uno董事会
VCC 5伏
接地 接地
sci A5
SDA A4
INT 销2

Arduino陀螺传感器接口代码

以下是arduino和编译的代码上传到arduino董事会使用arduino IDE。从微控制器代码读取数据- 6050与arduino陀螺传感器。完整的代码及其描述访问howtomechatronics.com > >

# include
const int微处理器= 0 x68;/ / MPU6050 I2C地址
AccX浮动,AccY AccZ;
GyroX浮动,GyroY GyroZ;
浮动accAngleX、accAngleY gyroAngleX、gyroAngleY gyroAngleZ;
浮动辊、俯仰、偏航;
浮动AccErrorX、AccErrorY GyroErrorX、GyroErrorY GyroErrorZ;
elapsedTime浮动,currentTime previousTime;
int c = 0;
无效的设置()
{
Serial.begin (19200);
Wire.begin ();/ /初始化交流
Wire.beginTransmission(微控制器);/ /开始与MPU6050 / /微处理器= 0 x68沟通
Wire.write (0 x6b);/ /寄存器6 b
Wire.write (0 x00);/ /重置,0到6基址寄存器
Wire.endTransmission(真正的);/ /结束传输
}
无效循环(){
/ / = = = = = = / /读取acceleromter数据
Wire.beginTransmission(微控制器);
Wire.write (0 x3b);/ /开始注册0 x3b (ACCEL_XOUT_H)
Wire.endTransmission(假);
电线。requestFrom(微处理器6真实);
/ /读6寄存器,每个轴值存储在寄存器
/ / + 2 g的范围,我们需要原始值除以16384,根据数据表
AccX = (Wire.read () < < 8 | Wire.read ()) / 16384.0;/ / X-axis-value
AccY = (Wire.read () < < 8 | Wire.read ()) / 16384.0;/ / Y-axis-value
AccZ = (Wire.read () < < 8 | Wire.read ()) / 16384.0;/ / Z-axis-value
/ /计算横滚和俯仰加速度计的数据
accAngleX =(每股AccY /√(战俘(AccX, 2) +战俘(AccZ 2))) * 180 / PI) - 0.58;
/ / AccErrorX ~(0.58)看到calculate_IMU_error()自定义函数的更多细节
accAngleY =(每股1 * AccX /√(战俘(AccY, 2) +战俘(AccZ 2))) * 180 / PI) + 1.58;
/ / AccErrorY ~ (-1.58)
/ / = = = = = = / /读取陀螺仪数据
previousTime = currentTime;/ /之前存储在实际时间阅读
currentTime =米尔斯();/ /当前时间实际时间阅读
elapsedTime = (currentTime - previousTime) / 1000;/ /除以1000秒
Wire.beginTransmission(微控制器);
Wire.write (0 x43);/ /第一个寄存器地址0 x43陀螺数据
Wire.endTransmission(假);
电线。requestFrom(微处理器6真实);/ /读取4个寄存器,每个轴值存储在寄存器
GyroX = (Wire.read () < < 8 | Wire.read ()) / 131.0;
/ /在250度/秒范围内我们必须首先原始值除以131.0,根据数据表
GyroY = (Wire.read () < < 8 | Wire.read ()) / 131.0;
GyroZ = (Wire.read () < < 8 | Wire.read ()) / 131.0;
/ /正确的输出计算误差值
GyroX = GyroX + 0.56;/ / GyroErrorX ~ (-0.56)
GyroY = GyroY - 2;/ / GyroErrorY ~ (2)
GyroZ = GyroZ + 0.79;/ / GyroErrorZ ~ (-0.8)
/ /当前原始值是在度/秒,度/秒,所以我们需要增加
/ / sendonds (s)的角度
gyroAngleX = gyroAngleX + GyroX * elapsedTime;/ /度/秒平方=度
gyroAngleY = gyroAngleY + GyroY * elapsedTime;
偏航=偏航+ GyroZ * elapsedTime;
/ /互补滤波器,结合acceleromter和陀螺角值
= 0.96 * gyroAngleX + 0.04 * accAngleX滚;
距= 0.96 * gyroAngleY + 0.04 * accAngleY;

/ /打印串行监控上的值
并同时(卷);
并同时(“/”);
并同时(沥青);
并同时(“/”);
以偏航);
}

结论本应用笔记:在我们看到陀螺传感器与Arduino Uno董事会。Arduino电路板也可以用于连接不同类型的传感器应用程序。arduino的典型传感器界面的声音传感器,心跳传感器、存贷比传感器、GPS传感器,pH值颜色传感器,传感器等参考加速度计和陀螺仪> >的区别陀螺仪的优缺点> >为更多的信息。

物联网系统芯片相关的教程链接

本教程介绍了物联网(物联网)涵盖了后子主题:
主要的教程物联网部分物联网的文章移动物联网组件传感器印度公司天线类型无线技术物联网收发器SoC


射频和无线术语


翻译这个页面
Baidu