ST MCU Finder
安装免费手机应用,
寻找理想的ST MCU

[STM32F1] 《st的暑假+PM2.5检测器》

[复制链接]
246|13
 楼主 | 2019-7-11 17:01 | 显示全部楼层 |阅读模式
本帖最后由 ningling_21 于 2019-7-11 20:13 编辑

天气好热,刚刚看到活动却发现马上就要结束了,于是抓紧时间参加一个。
此 检测器采用的芯片是STM32F103C8T6,传感器是PMS5003,还有温湿度一体传感器SHT20(未使用),显示屏12864。

虽然这款芯片引脚不算太多但资源丰富,主频72MHZ,128K-FLASH,20KRAM,ADC,DMA,多达37个快速I/O口,7个定时器,9个通信接口,USART,CAN,USB,IIC,一个都不少。

QQ图片20190711195959.jpg QQ图片20190711195950.jpg

  1. int main(void)
  2. {

  3.     uint8_t  l_u8_flag_led =0;
  4.    
  5.     uint16_t  i=0;     

  6.         uint16_t u16_temp =0;
  7.         uint16_t u16_humi =0;
  8.          
  9.     /*初始化gpio,*/
  10.     Sys_gpio_init();
  11. RESET:        
  12.         if(flag_sys_off_stat ==0x5a)
  13.         {
  14.                 //关机并检测按键
  15.                 Init_lcd(0x22);        
  16.                 GPIO_SetBits(GPIOB, GPIO_Pin_5) ;        //LCD电源   
  17.                
  18.                 GPIO_ResetBits(GPIOB, GPIO_Pin_1) ;        //传感器低功耗控制,低电平休眠
  19.                 GPIO_SetBits(GPIOA, GPIO_Pin_1) ;          //RUN
  20.                 while(1)
  21.                 {
  22.                         key_in_Stat=GPIO_ReadInputDataBit(GPIOB , GPIO_Pin_11);//按键输入
  23.                         if( key_in_Stat<1)
  24.                         {
  25.                                 GPIO_ResetBits(GPIOB, GPIO_Pin_5) ;//LCD电源   
  26.                                 GPIO_ResetBits(GPIOB, GPIO_Pin_0) ;//背光
  27.                                 GPIO_SetBits(GPIOB, GPIO_Pin_1) ;//传感器低功耗控制,低电平休眠
  28.                                 GPIO_SetBits(GPIOB, GPIO_Pin_12);  //CS =1;
  29.                                 break;
  30.                         }
  31.                 }
  32.         }
  33.     /* USART1 config */
  34.     delay_init();   
  35.     //------------------------------------------------------------------
  36.         Init_lcd(0x24);          //LCD对比度调节        
  37.         SET_screen();//显示图片,欢迎画面
  38.         USART2_Config();            //串口2
  39.     NVIC_Configuration();
  40.     /* enable adc1 and config adc1 to dma mode */
  41.     //------------------------------------------------------------------

  42.     Init_data();
  43.         for(i=0;i<50000;i++)
  44.         {
  45.                    u16_pm25=100;
  46.                while(u16_pm25--);
  47.         }
  48.         clr_screen();
  49.         for(i=0;i<5000;i++);                        
  50.     //------------------------------------------------------------------
  51.         //------------------------------------------------------------------
  52.         l32_run_cnt=10000;                        
  53.         while(l32_run_cnt--);
  54.         Disp_lcd_init();
  55.     //------------------------------------------------------------------
  56.     Exti_init();

  57.         Tim2_init();    //        
  58.         l32_run_cnt=0;
  59.         u16_pm25=0;
复制代码

由于手头没有温湿度传感器所以屏幕没显示当前的温度和湿度,如果换上带温湿度一体的PM2.5传感器则可以显示。



ST的产品线做的越来越广,芯片资源做的越来越丰富,ST发展芝麻开花节节高!






使用特权

评论回复
| 2019-7-11 22:17 | 显示全部楼层
不错啊,赞一个

使用特权

评论回复

评论

ningling_21 2019-7-11 22:21 回复TA
谢谢 
| 2019-8-8 11:42 | 显示全部楼层
有这种专用传感器吗

使用特权

评论回复
| 2019-8-8 11:47 | 显示全部楼层
精度能达到多少

使用特权

评论回复
 楼主 | 2019-8-8 13:34 | 显示全部楼层
磨砂 发表于 2019-8-8 11:42
有这种专用传感器吗

有只测PM2.5的

使用特权

评论回复
| 2019-8-8 23:26 | 显示全部楼层
这玩意儿靠谱不

使用特权

评论回复
| 2019-8-8 23:26 | 显示全部楼层
这玩意儿靠谱不

使用特权

评论回复
 楼主 | 2019-8-9 08:43 | 显示全部楼层

主要看传感器

使用特权

评论回复
| 2019-8-9 10:51 | 显示全部楼层

这种传感器的原理是什么啊

使用特权

评论回复
 楼主 | 2019-8-9 13:57 | 显示全部楼层
磨砂 发表于 2019-8-9 10:51
这种传感器的原理是什么啊

颗粒物阻挡光线造成光线散射

使用特权

评论回复
| 2019-8-12 09:31 | 显示全部楼层
ningling_21 发表于 2019-8-9 13:57
颗粒物阻挡光线造成光线散射

那如果是大颗粒的话 如何进行滤除呢

使用特权

评论回复

评论

ningling_21 2019-8-12 09:40 回复TA
有PM10和PM2.5两种数据参数输出 
 楼主 | 2019-8-12 09:39 | 显示全部楼层
磨砂 发表于 2019-8-12 09:31
那如果是大颗粒的话 如何进行滤除呢

搞空气净化吗

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表