一.系统概述
该骑车系统具备温度检测功能,能够通过光电速度检测模块跟踪骑车速度、行驶路程以及当前时间。当系统检测到速度未达到设定阈值时,会提示骑车者加速;一旦路程达到预设的阈值,系统将触发报警提醒。
二.仿真概述
- 在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