基于STM32单片机的骑车系统设计

描述

一.系统概

骑车系统内具有温度检测功能,通过光电速度检测模块检测骑车的速度和路程以及实时时间,当检测速度没有达到阈值就会提示加速,当检测到路程达到阈值后就会报警提醒。

单片机

二.仿真概述

1. OLED12864显示屏上会显示实时时间、温度以及骑车的实时速度和路程。

单片机

2. 调节DHT11的红色按钮来进行温度调节

单片机

3. 调节速度传感器的滑动变阻器完成实时速度的调节,并在显示端进行同步。

单片机

4. 当检测到路程超过阈值蜂鸣器就会报警提醒

单片机

三.程序设计

 

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
  
}
 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分