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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 27321|回復(fù): 22
收起左側(cè)

基于STM32的土壤濕度實時監(jiān)測器的制作 附源碼+原理圖

  [復(fù)制鏈接]
ID:329761 發(fā)表于 2018-11-15 22:47 | 顯示全部樓層 |閱讀模式
本文設(shè)計的是基于單片機STM32F103CBT6的土壤濕度檢測系統(tǒng),主要以廣泛應(yīng)用的土壤濕度傳感器YL-69作為溫度和濕度的檢測,該儀器具有測量精度較高、硬件電路簡單、并能很好的進行顯示,可測試不同土壤環(huán)境濕度的特點。
單片機是系統(tǒng)的控制核心,所以單片機的性能關(guān)系到整個系統(tǒng)的好壞。因此單片機的選擇,對所設(shè)計系統(tǒng)的實現(xiàn)以及功能的擴展有著很大的影響。本次設(shè)計是以STM32F103CBT6單片機為核心,配合土壤濕度傳感器YL-69,IIC OLED顯示器以及按鍵和蜂鳴器組成的濕度檢測系統(tǒng),通過傳感器檢測環(huán)境中的濕度的變化,可以接收所測土壤環(huán)境的濕度信號,并對采集到的數(shù)據(jù)進行處理和傳輸,再通過IIC OLED顯示器顯示濕度,實時監(jiān)控環(huán)境的濕度數(shù)據(jù)。

硬件方面:
1、系統(tǒng)結(jié)構(gòu)框圖
1.png



2、土壤濕度傳感器簡介:濕度的采集可以用濕度傳感器來實現(xiàn)。將濕度傳感器看作可調(diào)變阻器,當(dāng)濕度傳感器采集到濕度時,電阻值發(fā)生變化,濕度最小時的電阻值為 10K,濕度最大時為0.1Ω。 變化的幅度是根據(jù)濕度傳感器采集到的濕度大小而定。隨著電阻值的變化,電路的輸出電壓也跟著變化。調(diào)節(jié)電阻值的大小,可得到想要的電壓,滿足電路的需求。此次設(shè)計采用的是土壤濕度傳感器YL-69
2.png

土壤濕度傳感器原理圖

3、土壤濕度傳感器特性:(1)   土壤濕度傳感器YL-69,表面采用鍍鎳處理,有加寬的感應(yīng)面積,可以提高導(dǎo)電性能 ,防止接觸土壤容易生銹的問題,延長使用壽命;(2)   采用三線制,接線簡單,只需把VCC外接3.3V-5V電壓,GND外接數(shù)字地,AO“小板模擬量輸出接口”接到單片機即可;3)   比較器采用LM393芯片,工作穩(wěn)定
軟件方面:
1、系統(tǒng)軟件流程框圖
3.png

程序如下:
  1. #include "delay.h"
  2. #include "stm32f10x.h"
  3. #include "OLED_I2C.h"
  4. #include "led.h"
  5. #include "usart.h"        
  6. #include "string.h"        
  7. #include "adc.h"
  8. #include "timer.h"
  9. #include "sys.h"
  10. #include "exti.h"
  11. #include "beep.h"

  12. float temp_avrg=0;
  13. int temp_LL=40;
  14. int shidu;
  15. int num;
  16. int num_adj=1;
  17. int j=0;
  18. int times;
  19. float total=0;

  20. void Hardware_Init(void)   
  21. {        
  22.         Delay_Init();                    
  23.         
  24.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  25.         
  26.         I2C_Configuration();      
  27.         
  28.         OLED_Init();               
  29.         
  30.         Led_Init();                                                                        
  31.         
  32.         uart_init(9600);                                       
  33.         Adc_Init();                                                        
  34.         
  35.         EXTIX_Init();                                                               
  36.         
  37.         BEEP_Init();                                                               
  38. }

  39. void OLED_Show(void)                                
  40. {
  41.         unsigned char i;
  42.         extern const unsigned char BMP2[];
  43.         OLED_CLS();                  
  44.         OLED_DrawBMP(0,0,128,8,(unsigned char *)BMP2);
  45.         
  46.         for(i=10;i<14;i++)            
  47.                 OLED_ShowCN(0,2*(i-10),i);
  48.         
  49.         for(i=14;i<18;i++)            
  50.                 OLED_ShowCN(112,2*(i-14),i);
  51.         
  52.         DelayMs(2500);
  53.         OLED_CLS();                 
  54.         
  55.         for(i=0;i<4;i++)            
  56.                 OLED_ShowCN(31+i*16,1,i);
  57.         
  58.         for(i=18;i<21;i++)           
  59.                 OLED_ShowCN(39+(i-18)*16,5,i);
  60.         
  61.         DelayMs(1500);
  62.         OLED_CLS();                  
  63.         
  64.         for(i=4;i<10;i++)           
  65.                 OLED_ShowCN(14+(i-4)*16,0,i);
  66.                
  67.         for(i=6;i<8;i++)              
  68.                 OLED_ShowCN(0+(i-6)*16,3,i);
  69.                
  70.         OLED_ShowStr(36,4,":",1);
  71.         OLED_ShowStr(90,4,"%",1);
  72.         

  73.         for(i=6;i<8;i++)               
  74.                 OLED_ShowCN(0+(i-6)*16,6,i);
  75.         for(i=21;i<23;i++)               
  76.                 OLED_ShowCN(32+(i-21)*16,6,i);

  77.         
  78.         OLED_ShowStr(70,7,":",1);
  79.         OLED_ShowStr(110,7,"%",1);
  80.         OLED_ShowNum(75,7,temp_LL,1);
  81. int main(void)
  82. {
  83.         num=50;        
  84.          Hardware_Init();     
  85.         printf("\r\n³õʼ»¯Íê³É\r\n");
  86.         OLED_Show();         
  87.         
  88.          while(1)
  89.         {
  90.                  Get_Adc_Average(1,10);
  91.                 DelayMs(500);
  92.                
  93.                 if(shidu>10000)
  94.                         shidu=10000;
  95.                
  96.                 if(shidu<0)
  97.                         shidu=0;
  98.                
  99.                 OLED_ShowNum(60,4,shidu%100,1);
  100.                 OLED_ShowNum(40,4,shidu/100,1);
  101.                 OLED_ShowStr(64,4,".",1);
  102.                
  103.                 if(shidu/100<temp_LL)
  104.                 {
  105.                         BEEP=0;
  106.                         DelayMs(500);
  107.                         BEEP=1;
  108.                         DelayMs(500);
  109.                         
  110.                 }
  111.          }  
  112. }

  113. /*AD轉(zhuǎn)化處理*/
  114. u16  Get_Adc(u8 ch)
  115. {
  116.         
  117.         ADC_RegularChannelConfig(ADC1,ch,1, ADC_SampleTime_239Cycles5);
  118.         
  119.         ADC_SoftwareStartConvCmd(ADC1,ENABLE);
  120.         
  121.         while(!ADC_GetFlagStatus(ADC1,ADC_FLAG_EOC));
  122.         
  123.         return ADC_GetConversionValue(ADC1);
  124. }
  125. u16 Get_Adc_Average(u8 ch,u8 times)
  126. {
  127.         u32 temp_val=0;
  128.         u8 t;
  129.         for(t=0;t<times;t++)
  130.         {
  131.                 temp_val+=Get_Adc(ch);
  132.                 DelayMs(1);
  133.         }
  134.         temp_avrg=temp_val/times;
  135.         shidu=(4092-temp_avrg)/3292*10000;
  136.         
  137.         
  138.         
  139.         return temp_avrg;
  140. }
復(fù)制代碼

第一次發(fā)帖,多有不足,希望大家提出來和多多包涵,謝謝!
附件在一樓下載

土壤濕度傳感器模塊電路圖.pdf

25.87 KB, 下載次數(shù): 280, 下載積分: 黑幣 -5

評分

參與人數(shù) 2黑幣 +52 收起 理由
stu + 2 共享資料的黑幣獎勵!
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:329761 發(fā)表于 2018-12-1 20:38 | 顯示全部樓層
最近有點忙,現(xiàn)在才看到大家的評論,不好意思。整個工程文件都在這了,大家根據(jù)自己需求改吧。

土壤濕度傳感器Res式1.2.rar

327.26 KB, 下載次數(shù): 430, 下載積分: 黑幣 -5

工程文件

評分

參與人數(shù) 1黑幣 +100 收起 理由
admin + 100 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:420092 發(fā)表于 2018-11-18 15:50 | 顯示全部樓層
請問我下載了這個壓縮包,用keil5 打開,里面沒有東西?
回復(fù)

使用道具 舉報

ID:429320 發(fā)表于 2018-11-20 12:47 | 顯示全部樓層
1002464445 發(fā)表于 2018-11-18 15:50
請問我下載了這個壓縮包,用keil5 打開,里面沒有東西?

同問,我也是,路徑不對,不能用keil5打開編譯
回復(fù)

使用道具 舉報

ID:429320 發(fā)表于 2018-11-20 12:51 | 顯示全部樓層
可否把core等文件夾也發(fā)出來,否則不能用啊
回復(fù)

使用道具 舉報

ID:429320 發(fā)表于 2018-11-20 13:01 | 顯示全部樓層
可不可以把整個文件夾發(fā)出來,謝謝
回復(fù)

使用道具 舉報

ID:395134 發(fā)表于 2018-11-20 16:40 | 顯示全部樓層
怎么打開什么也沒有啊
回復(fù)

使用道具 舉報

ID:335302 發(fā)表于 2018-11-20 20:59 | 顯示全部樓層
hhhhhh111 發(fā)表于 2018-11-20 13:01
可不可以把整個文件夾發(fā)出來,謝謝

我也是這么想的   路徑錯誤   這個東西真的不錯想法也好   
回復(fù)

使用道具 舉報

ID:335302 發(fā)表于 2018-11-20 21:01 | 顯示全部樓層
那個題主的資料很好  但是一些庫函數(shù)沒發(fā)出來啊  我解壓后發(fā)現(xiàn)那個文件夾里  近乎是空的
回復(fù)

使用道具 舉報

ID:435120 發(fā)表于 2018-11-28 17:44 | 顯示全部樓層
樓主,能否把整個工程都發(fā)出來   我用keil5打開后 發(fā)現(xiàn)好多源文件都沒有   
回復(fù)

使用道具 舉報

ID:72576 發(fā)表于 2018-12-2 10:22 | 顯示全部樓層
用keil5打開后 發(fā)現(xiàn)好多源文件都沒有  
回復(fù)

使用道具 舉報

ID:362227 發(fā)表于 2018-12-30 10:49 | 顯示全部樓層
感謝分享,謝謝
回復(fù)

使用道具 舉報

ID:516185 發(fā)表于 2019-4-19 10:55 | 顯示全部樓層
土壤溫濕度傳感器
回復(fù)

使用道具 舉報

ID:447904 發(fā)表于 2019-6-3 20:44 | 顯示全部樓層
索局先生 發(fā)表于 2018-12-1 20:38
最近有點忙,現(xiàn)在才看到大家的評論,不好意思。整個工程文件都在這了,大家根據(jù)自己需求改吧。

你好  下載下來不是測土壤溫濕度的啊,能給詳細(xì)講解一下嗎
回復(fù)

使用道具 舉報

ID:585133 發(fā)表于 2019-7-16 15:14 | 顯示全部樓層
索局先生 發(fā)表于 2018-12-1 20:38
最近有點忙,現(xiàn)在才看到大家的評論,不好意思。整個工程文件都在這了,大家根據(jù)自己需求改吧。

棒棒的
回復(fù)

使用道具 舉報

ID:416106 發(fā)表于 2019-7-17 16:56 | 顯示全部樓層
借鑒一下。。
回復(fù)

使用道具 舉報

ID:522101 發(fā)表于 2019-8-2 10:00 | 顯示全部樓層
能否把整個電路發(fā)出來?
回復(fù)

使用道具 舉報

ID:617427 發(fā)表于 2019-10-17 22:16 | 顯示全部樓層
簡述 發(fā)表于 2019-6-3 20:44
你好  下載下來不是測土壤溫濕度的啊,能給詳細(xì)講解一下嗎

這個是超聲波測距吧
回復(fù)

使用道具 舉報

ID:662258 發(fā)表于 2019-12-15 15:08 | 顯示全部樓層
感謝樓主的分享
回復(fù)

使用道具 舉報

ID:728317 發(fā)表于 2020-4-14 11:53 | 顯示全部樓層
感謝作者!
回復(fù)

使用道具 舉報

ID:487588 發(fā)表于 2022-1-11 17:42 | 顯示全部樓層
請問(4092-temp_avrg)/3292*10000公式怎么得來的?
回復(fù)

使用道具 舉報

ID:597761 發(fā)表于 2022-4-4 20:27 | 顯示全部樓層
歸刃 發(fā)表于 2022-1-11 17:42
請問(4092-temp_avrg)/3292*10000公式怎么得來的?

同問,有理解的沒
回復(fù)

使用道具 舉報

ID:1059782 發(fā)表于 2022-12-30 16:13 | 顯示全部樓層
請問有沒有代碼包和pro工程包
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: av天天干| 操人视频在线观看 | 欧美亚洲视频 | 国产福利视频在线观看 | 日本网站在线看 | 91视频免费视频 | 亚洲精品电影在线观看 | 欧美福利在线 | 久久99国产精品久久99果冻传媒 | 亚洲国产精品久久久 | 五月天综合网 | 色综合久 | 色资源在线观看 | 一区二区av在线 | 久久精品欧美一区二区三区不卡 | 国产成人精品午夜 | 国产精品久久久久久影院8一贰佰 | 国产乱码精品一区二区三区中文 | 视频在线一区二区 | 呦呦在线视频 | 一区精品国产欧美在线 | 日本五月婷婷 | 黑人巨大精品欧美一区二区免费 | 久久久片| 国产成人精品久久 | 国产精品成人国产乱一区 | 久久高清免费视频 | 国产区在线看 | 日韩av在线一区 | 日韩α片 | 韩国精品一区二区三区 | 久久久久亚洲精品 | 欧美在线一区二区三区 | 日韩欧美国产一区二区三区 | 中文字幕一区二区三区四区五区 | 黄色高清视频 | 久久久精 | 日本一道本视频 | 国产日韩一区二区三免费高清 | 一级看片免费视频 | 国产精品一区二区三级 |