找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4263|回复: 4
打印 上一主题 下一主题
收起左侧

STM32F103C8T6单片机+温湿度+土壤湿度+水泵 源程序资料

  [复制链接]
跳转到指定楼层
楼主
STM32F103C8T6+温湿度+土壤湿度+水泵,可通过设置土壤湿度阈值控制水泵

单片机源程序如下:
  1. /*
  2. *  温湿度           单片机        土壤       单片机        oled         单片机     继电器(水泵)      单片机
  3. *   VCC --->         VCC           VCC         VCC          VCC           VCC          VCC               VCC
  4. *   GND              GND           GND         GND          GND           GND          GND               GND
  5.     out              PB14          AO          PA1          SCL           PB8          IN                PB12
  6.                                                                         SDA           PB9
  7. */


  8. #include "stm32f10x.h"
  9. #include "delay.h"
  10. #include "sys.h"
  11. #include "led.h"
  12. #include "beep.h"
  13. #include "math.h"
  14. #include "stdio.h"
  15. #include "usart.h"
  16. #include "timer.h"
  17. #include "stdlib.h"
  18. #include "string.h"       
  19. #include "stm32f10x_tim.h"
  20. #include "stm32f10x_flash.h"
  21. #include "dht11.h"
  22. #include "adc.h"
  23. #include "oled_iic.h"

  24. int main(void)
  25. {            
  26.         u8 temperature;              
  27.         u8 humidity;   
  28.         int shidu;
  29.         delay_init();
  30.         TIM3_Int_Init(9999,7199);                                                //10Khz的计数频率,计数到5000为500ms
  31.         NVIC_Configuration();
  32.         LED_Init();                                                                                                        //LED灯初始化
  33.         Relay_Init();                                                                                                //继电器初始化
  34.         uart_init(9600);                                                                                 //串口1初始化为9600
  35.         uart3_init(9600);                                                                                //串口3初始化为9600
  36.         DHT11_Init();
  37.   Adc_Init();
  38.         OLED_Init();                         //OLED屏幕初始化               
  39.        
  40.         OLED_Clear();       
  41.         while(1)
  42.         {
  43.                   OLED_ShowCH(35,0,"1803hmt");                //1803hmt
  44.                
  45.                         shidu=Get_Adc_Average(1,10);                                          
  46.                         DHT11_Read_Data(&temperature,&humidity);        //读取温湿度值                       
  47.       printf("当前温度:%d    当前湿度:%d  土壤湿度:%d\r\n",temperature,humidity,shidu);

  48.                   printf("\r\n");
  49.                         delay_ms(800);               
  50.      OLED_ShowNum(40,3,temperature,2,16);                        //显示整数部分          
  51.                  OLED_ShowNum(105,3,humidity,2,16);                        //显示整数部分         
  52.      OLED_ShowNum(75,6,shidu,2,16);                        //显示整数部分                        
  53.                  OLED_ShowCH(0,3,"温度:");               
  54.                  OLED_ShowCH(65,3,"湿度:");               
  55.                   OLED_ShowCH(0,6,"土壤湿度:");                //显示中文:温度
  56.        
  57.                 if(shidu<=20)
  58.                 {
  59.                          Pum_ON();  //开始抽水
  60.                 }
  61.                 else
  62.                 {
  63.                         Pum_OFF();
  64.                 }
  65. }
  66. }
复制代码

所有资料51hei附件下载:
STM32C8T6+温湿度+土壤+水泵+oled.7z (1.8 MB, 下载次数: 344)

评分

参与人数 1黑币 +30 收起 理由
admin + 30 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏14 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:270495 发表于 2022-1-18 15:53 | 只看该作者
请问土壤湿度用的是哪个型号的传感器
回复

使用道具 举报

板凳
ID:1048727 发表于 2022-10-29 10:45 | 只看该作者
看看这个行不行,感谢
回复

使用道具 举报

地板
ID:1009187 发表于 2023-2-2 13:36 | 只看该作者
女神 发表于 2022-1-18 15:53
请问土壤湿度用的是哪个型号的传感器

dht11
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表