一. 系统概述
骑车系统配备了温度检测功能,并利用光电速度检测模块监测骑行速度、路程和实时时间。当骑行速度未达到设定阈值时,系统会发出加速提示;而一旦骑行路程达到设定阈值,系统则会发出报警提醒。
二. 仿真概述
- OLED12864显示屏上将实时显示当前的时间、温度、骑行速度以及行驶的路程。
- 通过调节DHT11传感器上的红色按钮,可以设置或调整温度参数。
- 调整速度传感器上的滑动变阻器可实现实时速度的调节,并在显示屏上同步更新速度数据。
- 当检测到骑行路程超过设定阈值时,系统将通过蜂鸣器发出报警提示。
三.程序设计
int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//2:2
Init_Test();
while(1)
{
DHT11_Read_Data(&t,&h);
AIN0=PCF8591_ADC_Input(0x90,2);
OLED_ShowNum(1,3,time[0],2);OLED_ShowNum(1,8,time[1],2);OLED_ShowNum(1,13,time[2],2);OLED_ShowString(1,6,":");OLED_ShowString(1,11,":");
OLED_ShowString(2,1,"Temp:");OLED_ShowNum(2,7,t,2);OLED_ShowString(2,10,"C");
OLED_ShowString(3,1,"V :");OLED_ShowNum(3,6,AIN0,3);OLED_ShowString(3,10,"Km/h"); OLED_ShowNum(3,15,10,2);
OLED_ShowString(4,1,"Dis :");OLED_ShowNum(4,6,Dis,3);OLED_ShowString(4,10,"Km"); OLED_ShowNum(4,15,15,2);
if(AIN0>5) timeflag=1; else timeflag =0;
if(AIN0<10){ count++; if(count>5){ count=0; LedA2_1;}else LedA2_0;} else LedA2_0;
if(Dis>15){ OLED_ShowNum(4,6,Dis,3);Dis=0;LedA3_1;delay_ms(500);LedA3_0;delay_ms(500);LedA3_1;delay_ms(500);LedA3_0;delay_ms(500);}
}
}
void Init_Test(void)
{
/*-System Init-*/
TIM2_Init();
/*-HardWare Init-*/
OLED_Init(); //pb8-9
DHT11_Init(); //pa12
PCF8591_Init(); //pb10-11
LedA_Init(); //温湿度控制pa0-3
}
24-32f-14