一. 系统概述
本骑车系统集成了温度监测功能,通过光电速度传感器来检测骑行速度和距离,同时显示实时时钟。当骑行速度未达到设定阈值时,系统将提示骑手加速;当骑行距离达到预设阈值时,系统将启动警报提醒。
二. 仿真概述
- 在 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