评测

当前位置:首页 > 评测 > 新品发布 > 正文

智能井盖偏移警示灯——2021神灯奖申报设计曙光奖

大件事要分享到:
2021-03-12 作者: 来源:太原理工大学-周文 浏览量: 网友评论: 0

摘要: 智能井盖偏移警示灯,为太原理工大学-周文2021神灯奖申报设计曙光奖产品。



项目名称:

智能井盖偏移警示灯

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灯发光

技术及工艺创新要点:

不需要额外设置提示装置和栅栏等设备,只需要井盖发生偏移就会有自动发光的LED灯弹起,使用简单方便,有效的保障了行人的安全。 使用了NB-IoT节点和ZigBee节点,其中NB-IoT属于LPWAN技术,LPWAN技术有覆盖广、连接多、速率低、成本低、功耗少等特点。NB-IoT有个明显的优势是数据采集后可直接上传到云端,不需要通过网关,简化了现场部署。

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

太原理工大学 机械与运载工程学院机电系1907班

相关产品图片:


凡本网注明“来源:阿拉丁照明网”的所有作品,版权均属于阿拉丁照明网,转载请注明。
凡注明为其它来源的信息,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点及对其真实性负责。
| 收藏本文