曙光服务器主板系统警示灯,智能井盖偏移警示灯——2021神灯奖申报设计曙光奖...

太原理工大学团队研发了一款智能井盖偏移警示灯,利用MPU6050传感器监测井盖状态。在恶劣天气或能见度低的情况下,若井盖移位,警示灯将自动亮起,提高行人安全。系统采用NB-IoT和ZigBee技术,数据直接上传云端,简化部署,降低维护成本。创新点在于无需额外设备,仅靠井盖偏移就能触发警示,保障行人安全。
摘要由CSDN通过智能技术生成

8c919ddd84ec3c1f6943b0627db9ccbc.png

项目名称:

智能井盖偏移警示灯

Intelligent well cover deviation warning light

申报单位(或个人):

太原理工大学-周文

综合介绍或申报理由:

为了在洪水暴雨井盖被冲走之后以及井盖缺失的雾霾天、下雨天或夜晚,能见度低的情况达到提醒行人的目的,我们组制作了下水道井盖偏移警示灯,以此来减少行人不小心跌落入井道而带来的伤害。

主要技术参数:

使MPU6050开始工作

为了使MPU6050开始工作,需要向MPU6050的0x6B寄存器写入0数据(1 Wire.beginTransmission(0x6B);//MPU6050对应的I2C slave设备地址是0x6B

2 Wire.write(0x6B);//写入下一步要写的寄存器地址0x6B

3 Wire.write(0);//向0x6b寄存器写入0,使MPU6050开始工作

4 Wire.endTransmission(true);

读取数据

一共需要读取7个寄存器的数据,每个寄存器均为16位的,所以一共是14个字节。

7个寄存器分别保存的是x、y、z方向的加速度,温度,x、y、z方向的角速度。

7个寄存器地址分别是0x3b、ox3d、0x3f、0x41、0x43、0x45和0x47(按照字节编址,每个寄存器两个字节,7个寄存器位于连续存储空间)。

1 int x,y,z = 0;//用来保存加速度数据

2 int t = 0;//用来保存温度数据

3 int a,b,c = 0;//用来保存角速度数据

4 Wire.beginTransmission(0x6B);

5 Wire.write(0x3B);//写入要读取的寄存器的起始地址0x3B

6 Wire.requestFrom(0x68, 14, true);//以该地址为起始地址,依次读取14个字节的数据到缓冲区

7 Wire.endTransmission(true);

#include#include#includevoid setup() {

// put your setup code here, to run once:

MPU6050 accelgyro;

const int MPU6050_addr=0x68;

Wire.begin();//默认作为master设备打开

pinMode(A4,INPUT);

Serial.begin(9600);//串口通讯的波特率设置为9600

Wire.beginTransmission(0x68);//MPU6050对应的I2C slave设备地址是0x68

Wire.write(0x6B);//写入下一步要写的寄存器地址0x6b

Wire.write(0);//向0x6b寄存器写入0,使MPU6050开始工作

Wire.endTransmission(true);

int16_t AccX,AccY,AccZ,Temp,GyroX,GyroY,GyroZ;

}

void loop() {

int AccX、AccY、AccZ = 0;//用来保存加速度数据

int Temp= 0;//用来保存温度数据

int GyroX、GyroY、GyroZ= 0;//用来保存角速度数据

Wire.beginTransmission(0x68);

Wire.write(0x3B);//写入要读取的寄存器的起始地址0x3B

Wire.endTransmission(false);

Wire.requestFrom(0x68, 14, true);//以该地址为起始地址,依次读取14个字节的数据到缓冲区

AccX= Wire.read() << 8 | Wire.read();//每次从缓冲区读取一个字节,先读高字节,再读低字节,高字节左移八位,低位补0,再与低字节作或运算,即可得到一个寄存器(长度为2个字节)的完整数据

AccY=Wire.read()<<8|Wire.read(); AccZ=Wire.read()<<8|Wire.read(); Temp=Wire.read()<<8|Wire.read(); GyroX=Wire.read()<<8|Wire.read(); GyroY=Wire.read()<<8|Wire.read(); GyroZ=Wire.read()<<8|Wire.read(); Serial.print("AccX = "); Serial.print(AccX); Serial.print(" || AccY = "); Serial.print(AccY); Serial.print(" || AccZ = "); Serial.print(AccZ); Serial.print(" || Temp = "); Serial.print(Temp/340.00+36.53); Serial.print(" || GyroX = "); Serial.print(GyroX); Serial.print(" || GyroY = "); Serial.print(GyroY); Serial.print(" || GyroZ = "); Serial.println(GyroZ);

accelgyro.getMotion6(&AccX, &AccY, &AccZ, &GyroX, &GyroY, &GyroZ);

程序显示:

#includeVoid setup()

{pinMode(13,OUTPUT);}

if(abs(AccX)>=6000)

{digitalWrite(13,high);}

else{ digitalWrite(13,LOW);}

产品实现的原理:

有井盖时,陀螺仪传感器的AccX值较低 ,经测试大概为-4000左右

当井盖被拿起时,陀螺仪传感器的AccX的值变为-7000左右

此时,只需要给LED灯一个指示

当AccX的绝对值大于6000时,LED灯发光

5a894bac372f2b3a8c53605756fec8eb.png

技术及工艺创新要点:

不需要额外设置提示装置和栅栏等设备,只需要井盖发生偏移就会有自动发光的LED灯弹起,使用简单方便,有效的保障了行人的安全。

使用了NB-IoT节点和ZigBee节点,其中NB-IoT属于LPWAN技术,LPWAN技术有覆盖广、连接多、速率低、成本低、功耗少等特点。NB-IoT有个明显的优势是数据采集后可直接上传到云端,不需要通过网关,简化了现场部署。

申报单位(或个人)介绍:

太原理工大学

机械与运载工程学院机电系1907班

相关产品图片:

9944398d99db18123bb92516bad084a0.png

37fa1a9675cb59136ef66abf4a560a39.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值