久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7754|回復: 15
收起左側

基于STM32F103空氣凈化器程序 PCB文件全開源

  [復制鏈接]
ID:566416 發表于 2019-7-3 12:41 | 顯示全部樓層 |閱讀模式
基于stm32f103rct6 芯片做的空氣凈化器。可以測溫濕度,CH2O,PWM控制風扇,所有程序 原理圖開源供大家共享學習。 1.png 2.png 3.png 部分原理圖詳情下載。程序+PCB+原理圖開源
回復

使用道具 舉報

ID:566416 發表于 2019-7-3 12:43 | 顯示全部樓層
共享 希望各位回復一下多多支持

Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)
0.png

單片機源程序如下:
  1. /*大膽呼吸*/
  2. #include "led.h"
  3. #include "delay.h"
  4. #include "sys.h"
  5. #include "usart.h"
  6. #include "lcd.h"
  7. #include "adc.h"
  8. #include "dht11.h"
  9. #include "pwm.h"
  10. #include "ms1100.h"

  11. // ADC1轉換的電壓值通過MDA方式傳到SRAM
  12. extern __IO uint16_t ADC_ConvertedValue;

  13. // 局部變量,用于保存轉換計算后的電壓值
  14. extern float TVOC3,CH2O1,vola;
  15. float temp;//pwm風扇等級

  16. int level;
  17. void Display(void);

  18. int main(void)
  19. {
  20.         u8 x=0;
  21.         u8 lcd_id[12];                        //存放LCD ID字符串
  22.         u16 adcx;
  23.         u8 temperature;              
  24.         u8 humidity;

  25.         TIM1_PWM_Init(800,0);//不分頻。PWM頻率=72000/(899+1)=80Khz
  26.         Adc_Init();                                  //ADC初始化
  27.         delay_init();                     //延時函數初始化          
  28.         uart_init(9600);                 //串口初始化為9600
  29.         //LED_Init();                                  //初始化與LED連接的硬件接口
  30.         LCD_Init();       



  31.               /*     pwm控速     */
  32.         /*         if(TVOC3>=0.000   &&  TVOC3<=0.618)
  33.                 {
  34.               TIM_SetCompare1(TIM1,630);    //驅動輸出電壓

  35.                 }

  36.                 else if (TVOC3>0.618  &&  TVOC3<=1.273)
  37.                 {
  38.               TIM_SetCompare1(TIM1,650);    //驅動輸出電壓
  39.                 }
  40.      
  41.         else if (TVOC3>1.273  &&  TVOC3<=1.819)
  42.         {
  43.              TIM_SetCompare1(TIM1,899);    //驅動輸出電壓
  44.          }
  45.        */



  46. //        TIM_SetCompare1(TIM1,670);    //驅動輸出電壓



  47.     //sprintf((char*)lcd_id,"%04X",0x8890);//lcddev.id);//將LCD ID打印到lcd_id數組。       
  48.         while(DHT11_Init())        //DHT11初始化       
  49.         {
  50.                 LCD_ShowString(30,130,200,16,16,"Ready!!!");
  51.                 delay_ms(200);
  52.                 LCD_Fill(30,130,239,130+16,WHITE);
  53.                 delay_ms(200);
  54.         }       
  55.        

  56.           while(1)
  57.         {               
  58.                 sprintf((char*)lcd_id,"%f",temp);//TVOC());
  59.                 switch(x)
  60.                 {
  61.                         case 0:LCD_Clear(WHITE);break;
  62.                 }

  63.                 DHT11_Read_Data(&temperature,&humidity);//讀取溫濕度值                                            
  64.                 LCD_ShowNum(160,100,temperature,2,16);        //顯示溫度                             
  65.                 LCD_ShowNum(140,70,humidity,2,16);                //顯示濕度                
  66.                 Display();

  67.                 adcx=Get_Adc_Average(ADC_Channel_14,10);   //采集端口ADC
  68.                 temp=(float)adcx*(3.3/4096);
  69.                 adcx=temp;
  70.                 TVOC(temp);//電壓值轉甲醛值,TVOC3
  71.     CH2O(temp);//電壓值轉CH20,  CH2O1
  72.                
  73.                
  74.                 LCD_ShowxNum(100,130,TVOC3,1,16,0);
  75.                 TVOC3-=(u16)TVOC3;
  76.                 TVOC3*=1000;
  77.                 LCD_ShowxNum(116,130,TVOC3,3,16,0X80);

  78.                 LCD_ShowxNum(100,160,CH2O1,1,16,0);
  79.                 CH2O1-=(u16)CH2O1;
  80.                 CH2O1*=1000;
  81.                 LCD_ShowxNum(116,160,CH2O1,3,16,0X80);


  82.     /*     pwm控速     */
  83.                 if(TVOC3<0.234)
  84.                 {
  85.                         TIM_SetCompare1(TIM1,0);        //驅動輸出電壓
  86.                 }                       
  87.                
  88.                 else if(TVOC3>=0.234   &&  TVOC3<=0.618)
  89.                 {
  90.                         TIM_SetCompare1(TIM1,500);    //驅動輸出電壓

  91.                 }

  92.                 else if(TVOC3>0.618  &&  TVOC3<=1.273)
  93.                 {
  94.                         TIM_SetCompare1(TIM1,700);    //驅動輸出電壓
  95.                 }
  96.      
  97.                 else if(TVOC3>1.273 )// &&  TVOC3<=1.819)
  98.                 {
  99.                         TIM_SetCompare1(TIM1,800);    //驅動輸出電壓
  100.                 }

  101.         



  102.             x++;
  103.                 if(x==12) x=0;
  104.                 LED0=!LED0;         
  105.                 delay_ms(1000);       
  106.         }
  107. }


  108. void Display(void)
  109. {
  110.         POINT_COLOR=RED;                         
  111.         LCD_ShowString(60,20,200,24,24,"Healthy Breathing");       
  112.         LCD_ShowString(60,70,200,16,16,"HUMIDITY:");
  113.         LCD_ShowString(160,70,200,16,16,"%");
  114.         LCD_ShowString(175,100,200,16,16," oC");
  115.         LCD_ShowString(60,100,200,16,16,"TEMPERATURE:");
  116.         LCD_ShowString(60,130,200,16,16,"TVOC:0.000 ppm");               
  117.         LCD_ShowString(60,160,200,16,16,"CH2O:0.000 ppm");
  118. //        LCD_ShowString(60,198,200,24,24,"DEGREE  :");
  119. }
復制代碼

所有資料51hei提供下載:
最新pcb.zip (961.51 KB, 下載次數: 212)
最終程序522晚.7z (572.93 KB, 下載次數: 210)

評分

參與人數 1黑幣 +15 收起 理由
luliang02003 + 15

查看全部評分

回復

使用道具 舉報

ID:221675 發表于 2019-7-4 00:03 | 顯示全部樓層
威武大神
回復

使用道具 舉報

ID:575603 發表于 2019-7-4 09:21 | 顯示全部樓層
請教下 這個LCD 是什么型號的屏幕
回復

使用道具 舉報

ID:419801 發表于 2019-7-4 11:38 | 顯示全部樓層
不錯,值得參考
回復

使用道具 舉報

ID:566416 發表于 2019-7-8 15:25 | 顯示全部樓層
月明強 發表于 2019-7-4 09:21
請教下 這個LCD 是什么型號的屏幕

2.8英寸TFT
回復

使用道具 舉報

ID:599339 發表于 2019-8-12 12:20 | 顯示全部樓層
多謝樓主分享,請問用stc89能否代替
回復

使用道具 舉報

8#
無效樓層,該帖已經被刪除
ID:140183 發表于 2019-8-17 20:19 | 顯示全部樓層
多謝分享!也要學習一下.
回復

使用道具 舉報

ID:409924 發表于 2019-10-9 10:08 | 顯示全部樓層
請問樓主有實物展示嗎,可以指導一下嗎
回復

使用道具 舉報

11#
無效樓層,該帖已經被刪除
ID:682842 發表于 2020-1-7 13:56 | 顯示全部樓層
想問一下做不做實物哇
回復

使用道具 舉報

13#
無效樓層,該帖已經被刪除
ID:295874 發表于 2020-1-15 21:31 | 顯示全部樓層
有點小問題請教一下:
(1)程序的keil是那個版本的?
(2)原理圖及PCB的器件清單可以分享一下嗎?從圖中有些器件看不出來,自己想手工焊接學習一下。
(3)圖中呢個引腳控制的風扇?看不出來。
回復

使用道具 舉報

15#
無效樓層,該帖已經被刪除
ID:833354 發表于 2020-10-30 17:27 | 顯示全部樓層
樓主可以發下實物圖嘛  謝謝
回復

使用道具 舉報

ID:267429 發表于 2020-11-1 08:00 來自觸屏版 | 顯示全部樓層
dzltlgq 發表于 2020-10-27 16:17
求家用空氣凈化器原理圖和程序,有酬謝,QQ391445456

你都是

需要啥功能,可定制qq3135279158
回復

使用道具 舉報

ID:676437 發表于 2020-11-9 23:29 | 顯示全部樓層
為什么pcb圖打不開啊,你用哪個版本的AD
回復

使用道具 舉報

ID:748033 發表于 2020-11-10 09:19 | 顯示全部樓層
Danie66 發表于 2019-7-3 12:43
共享 希望各位回復一下多多支持

Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)

學到了
回復

使用道具 舉報

20#
無效樓層,該帖已經被刪除
21#
無效樓層,該帖已經被刪除
22#
無效樓層,該帖已經被刪除
23#
無效樓層,該帖已經被刪除
ID:730993 發表于 2021-11-1 10:41 | 顯示全部樓層
非常感謝分享!下載學習下!
回復

使用道具 舉報

25#
無效樓層,該帖已經被刪除
26#
無效樓層,該帖已經被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲福利网 | 久久精品国产一区 | 99国产精品久久久久久久 | 日本在线免费看最新的电影 | 国产精品免费一区二区三区四区 | 国产精久久久久久久妇剪断 | 日韩精品一区二区三区中文在线 | 国产精品美女www | 久久国产精品免费 | 一级做受毛片免费大片 | 国产一区二区在线免费观看 | 伊伊综合网 | 色精品视频 | 欧产日产国产精品v | 国产精品无 | 亚洲精品在线免费 | 国产色片| 欧美黄色精品 | 亚洲一区高清 | 国产欧美性成人精品午夜 | 男人天堂视频在线观看 | 亚洲电影第1页 | 亚洲国产高清高潮精品美女 | 国产精品呻吟久久av凹凸 | 黄色成人av | 午夜久久久久 | 亚洲视频一区在线播放 | 精品国产一区二区三区在线观看 | 亚洲午夜视频在线观看 | 成人自拍av | 欧美一级在线免费观看 | 欧美一区二区三区四区五区无卡码 | 国产一区二区成人 | 黄视频免费 | 91动漫在线观看 | 中文在线一区二区 | 精品久久久久久久久久久久久久 | 一区二区在线 | 黄色一级片在线播放 | 青青伊人久久 | 一区二区三区四区国产 |