基于Arduino的车载测雪数据系统设计

2024-11-01 00:00:00张蔓李威王文帅冯铸王志强崔海彬王江北
科技资讯 2024年17期

摘要:设计一款基于Arduino的车载测雪系统,旨在实现对冬季冰雪路面数据的实时采集和监测。采用ArduinoUnoR3作为控制器,通过超声波传感器和温湿度传感器采集积雪深度数据和温湿度数据,并由液晶1602实时显示数据,为驾驶员冰雪天气安全行驶提供参考依据。通过软件仿真采集积雪深度数据和温湿度数据,计算测量数据的误差,分析测量的准确性,从而验证该测雪系统设计的可行性。

关键词:车载测雪系统Arduino控制器传感器

中图分类号:U463.6

DesignofanArduino-BasedVehicleSnowMeasurementDataSystem

ZHANGMan1LIWei2WANGWenshuai1FENGZhu1WANGZhiqiang1CUIHaibin1WANGJiangbei1

1.HarbinPetroleumUniversity,HarbinCity,HeilongjiangProvince,150028China;2.ComprehensiveInformationSecurityCenteroftheStaffDepartmentoftheArmedPoliceHeilongjiangCorps,HarbinCity,HeilongjiangProvince,150028China

Abstract:Inthisstudy,anArduino-basedvehiclesnowmeasurementsystemisdesigned,aimingtoachievereal-time WgmjSxmtuHF1EGh4gTzYSB1Fy3nOuqN5yNVed4rRoy8=;datacollectionandmonitoringofwintericeandsnowroadconditions.ThesystemusesArduinoUnoR3asthecontroller,collectsdataofsnowdepth,temperatureandhumiditythroughultrasonicsensorsandtemperatureandhumiditysensors.Italsodisplaysthedatainreal-timeona1602LCDscreen,providingreferenceforsafedrivinginsnowyweatherforthedriver.Itcollectssnowdepthdataandtemperatureandhumiditydatathroughsoftwaresimulation,calculatesmeasurementdataerrors,analyzestheaccuracyofthemeasurements,andthusverifiesthefeasibilityofthesnowmeasurementsystemdesign.

KeyWords:Vehicle;Snowmeasurementsystem;Arduinocontroller;Sensor

我国东北地区大地冰雪覆盖的时间较长,下雪结冰具有不确定性,给路面交通带来安全隐患。突如其来的下雪和结冰给车辆行进带来困扰。本文设计一种用于冬季冰雪频繁地区路面检测的系统,能根据测得的温湿度数据确定行驶路面四周是否结冰,根据超声波测距原理测得雪地厚度,为车辆平稳行驶,确定雪地行驶路线提供参考依据,为有清雪能力的车辆提供数据支持。气象局采用积雪深度来衡量降雪强度,积雪深度是指积雪表面到下垫面的垂直深度[1]。

1总体设计

监测系统必备电源,电源模块负责提供系统需要的各种供电电压[2],本设计采用直流5V的电源模块。如图1所示,本文选用ArduinoUnoR3作为控制器,ArduinoUNOR3是一款基于ATmega328P的微控制器板[3]。选用数字温湿度传感器DHT22测量环境的温度、湿度。DHT22适用于道路积雪监测系统中对温湿度数据的采集,选用超声波传感器HC-SR04测量积雪深度,监测积雪情况。表1描述了各传感器的工作参数,包括测量范围、测量精度、工作电压范围、工作温度范围等。根据系统设计要求,传感器是安装在车底盘,工作在户外,因此有环境温度要求。

2系统工作原理

本设计分四步骤工作,分别为传感器测量、数据处理、数据显示和输出、系统控制。车载测雪系统采用超声波传感器测量车下方积雪深度,温湿度传感器测量当前温湿度。Arduino采集传感器数据,根据预定的算法和逻辑处理数据。Arduino会将距离数据转换为实际的雪深度数值,并根据采集的温湿度情况。通过LCD显示屏呈现给驾驶员。硬件的具体连接如图2所示。

3超声波传感器测量原理

超声波探头发射一组超声波脉冲,并由处理器记下初始发射时间[4],通过计算收到回波所需时间,来计算距离的。由于传感器安装高度固定,通过连续测量即可实现对雪深的

监测[5]。假设超声波在空气中的速度在恒定不变的前提下,得到数学表达式:

式(1)中:s为距离;v为超声波速度(空气中数值为343m/s);Δt为从发送到收到回波的时间差。

4软件平台及硬件支持

本设计采用Arduino2.2作为编程平台,Proteus8.15作为硬件绘制和仿真平台。

4.1系统程序

#include<LiquidCrystal_I2C.h>

#include<microDS18B20.h>

MicroDS18B20<12>sensor;

LiquidCrystal_I2Clcd(0x27,16,2);

#defineHC_TRIG3

#defineHC_ECHO2

uint32_tmyTimer1;

#defineALPHA0.2

floatfilteredDistance=0;

inttemper;

voidsetup(){

Serial.begin(9600);

lcd.init();

BJiyq3S/lJhUdHoAHfkmvg==lcd.backlight();

pinMode(HC_TRIG,OUTPUT);

pinMode(HC_ECHO,INPUT);

temper=sensor.getTemp();

}

voidloop(){

floatdist=getDist(temper);

floatfilteredDistance=getFilteredDistance(dist);

Serial.print(dist);

Serial.print("");

Serial.print(filternWfpJTvClGRRLRYQgCtc+Q==edDistance);//выводим

Serial.print("");

Serial.println(temper);

delay(50);

if(millis()-myTimer1>=1000)

{

myTimer1=millis();

lcd.setCursor(0,0);

lcd.print("");

lcd.setCursor(0,0);

lcd.print(filteredDistance);

}

}

floatgetDist(intt){

digitalWrite(HC_TRIG,HIGH);

delayMicroseconds(10);

digitalWrite(HC_TRIG,LOW);

uint32_tus=pulseIn(HC_ECHO,HIGH);

return(us*(t*6/10+330)/2000ul/10);

}

floatgetFilteredDistance(floatnewDistance){

filteredDistance=(ALPHA*newDistance)+((1-ALPHA)*filteredDistance);

returnfilteredDistance;

}

{

"version":1,

"author":"ValeraGribov",

"editor":"wokwi",

"parts":[

{"type":"wokwi-Arduino-uno","id":"uno","top":0.6,"left":-115.8,"attrs":{}},

{"type":"wokwi-lcd1602","id":"lcd1","top":16,&nbsp;"left":236,"attrs":{"pins":"i2c"}},

{

"type":"wokwi-hc-sr04",

"id":"ultrasonic1",

"top":-228.9,

"left":197.5,

"attrs":{"distance":"18"}

},

{"type":"board-ds18b20","id":"temp1","top":-279.53,"left":4.08,"attrs":{}},

{

"type":"wokwi-resistor",

"id":"r1",

"top":-177.6,

"left":37.85,

"rotate":90,

"attrs":{"value":"5000"}

}

]

"connections":[

["lcd1:VCC","uno:5V","red",["h-28.8","v163.3","h-172.8"]],

["lcd1:GND","uno:GND.2","black",["h-19.2","v182.4","h-163.2"]],

["lcd1:SDA","uno:A4","green",["h-48","v201.8","h-67.2","v-9.6"]],

["lcd1:SCL","uno:A5","green",["h-19.2","v182.7","h-76.8"]],

["ultrasonic1:VCC","uno:5V","red",["v48","h-403.2","v374.4","h182.4","v-9.6"]],

["ultrasonic1:GND","uno:GND.1","black",["v19.2","h-298.8","v28.8"]],

["ultrasonic1:TRIG","uno:3","green",["v67.2","h-0.4"]],

["ultrasonic1:ECHO","uno:2","green",["v86.4","h-0.8"]],

["temp1:GND","uno:GND.1","black",["v0"]],

["temp1:VCC","uno:5V","red",["v9.6","h38.4","v-86.4","h-220.8","v576","h211.2"]],

["temp1:DQ","uno:12","green",["v0"]],

["temp1:DQ","r1:2","green",["v0"]],

["r1:1","temp1:VCC","red",["h0","v0","h-38.4","v-28.8"]]

],

"dependencies":{}

}

4.2积雪深度和温湿度数据仿真测量结果

以2023年11月6日哈尔滨地区暴雪天气数据为例,户外温度-9℃,相对湿度85%,积雪深度25cm。用前述数据作为本研究的输入数据,如图3、图4所示,当户外积雪深度输入数据为25cm时,超声波传感器测得积雪深度数据为24cm,误差为1cm。当户外温湿度输入数据分别为-9℃、85%时,温湿度传感器测得温度数据为-9℃,湿度数据为85%。仿真测量基本准确。

5结语

本设计为车辆驾驶员提供行车路上积雪深度和户外环境温湿度,为冰雪路面行车提供参考依据。

本研究实现了车载测雪系统功能,为冬季行车提供积雪数据信息。通过温湿度传感器判断行驶路面是否结冰。选用超声波传感器回波反射测量车下雪地深度数据。

本文设计的是一种应用于冬季冰雪道路的测雪系统,通过电脑软件仿真验证测雪系统设计的可行性,从获得的数据来看,超声波测深度存在一定误差,相对误差为0.4%,为可以接受范围。温湿度传感器测量仿真测量结果基本正确。

qExiJTKrHS8hB442bvdkFQ==

本文软件仿真验证结果有一定的局限性,天气转暖积雪消融,超声波传感器无法到真实环境测量验证,获取真实数据。该系统在车辆底盘的准确位置还有待进一步校正。

参考文献

[1]刘威.铁路沿线激光雪深计研究与设计[D].南京:南京信息工程大学,2021.

[2]胡敏.基于边缘AI的雪面识别技术研究与应用[D].南京:南京信息工程大学,2021.

[3]黄业源,李守晓.基于Arduino与Blinker云平台的温室大棚环境监控及自动灌溉系统设计[J].物联网技术,2024,14(1):26-28,33.

[4]孟庆伟,张磊,蒲莉莉.超声波自动化积雪深度测量与分析[J].测绘与空间地理信息,2021,44(9):102-105,109.

[5]周鹏,杨帅,杨斌,等.人工观测与超声波传感器测量雪深的差异及其影响因素[J].贵州农业科学,2020,48(6):139-142.