标题:
STM32F103C8T6单片机+温湿度+土壤湿度+水泵 源程序资料
[打印本页]
作者:
187777797524
时间:
2021-11-24 09:33
标题:
STM32F103C8T6单片机+温湿度+土壤湿度+水泵 源程序资料
STM32F103C8T6+温湿度+土壤湿度+水泵,可通过设置土壤湿度阈值控制水泵
51hei.png
(24.17 KB, 下载次数: 61)
下载附件
2021-11-25 00:12 上传
单片机源程序如下:
/*
* 温湿度 单片机 土壤 单片机 oled 单片机 继电器(水泵) 单片机
* VCC ---> VCC VCC VCC VCC VCC VCC VCC
* GND GND GND GND GND GND GND GND
out PB14 AO PA1 SCL PB8 IN PB12
SDA PB9
*/
#include "stm32f10x.h"
#include "delay.h"
#include "sys.h"
#include "led.h"
#include "beep.h"
#include "math.h"
#include "stdio.h"
#include "usart.h"
#include "timer.h"
#include "stdlib.h"
#include "string.h"
#include "stm32f10x_tim.h"
#include "stm32f10x_flash.h"
#include "dht11.h"
#include "adc.h"
#include "oled_iic.h"
int main(void)
{
u8 temperature;
u8 humidity;
int shidu;
delay_init();
TIM3_Int_Init(9999,7199); //10Khz的计数频率,计数到5000为500ms
NVIC_Configuration();
LED_Init(); //LED灯初始化
Relay_Init(); //继电器初始化
uart_init(9600); //串口1初始化为9600
uart3_init(9600); //串口3初始化为9600
DHT11_Init();
Adc_Init();
OLED_Init(); //OLED屏幕初始化
OLED_Clear();
while(1)
{
OLED_ShowCH(35,0,"1803hmt"); //1803hmt
shidu=Get_Adc_Average(1,10);
DHT11_Read_Data(&temperature,&humidity); //读取温湿度值
printf("当前温度:%d 当前湿度:%d 土壤湿度:%d\r\n",temperature,humidity,shidu);
printf("\r\n");
delay_ms(800);
OLED_ShowNum(40,3,temperature,2,16); //显示整数部分
OLED_ShowNum(105,3,humidity,2,16); //显示整数部分
OLED_ShowNum(75,6,shidu,2,16); //显示整数部分
OLED_ShowCH(0,3,"温度:");
OLED_ShowCH(65,3,"湿度:");
OLED_ShowCH(0,6,"土壤湿度:"); //显示中文:温度
if(shidu<=20)
{
Pum_ON(); //开始抽水
}
else
{
Pum_OFF();
}
}
}
复制代码
所有资料51hei附件下载:
STM32C8T6+温湿度+土壤+水泵+oled.7z
(1.8 MB, 下载次数: 358)
2021-11-25 00:12 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
女神
时间:
2022-1-18 15:53
请问土壤湿度用的是哪个型号的传感器
作者:
qyueqingnongshi
时间:
2022-10-29 10:45
看看这个行不行,感谢
作者:
samaji
时间:
2023-2-2 13:36
女神 发表于 2022-1-18 15:53
请问土壤湿度用的是哪个型号的传感器
dht11
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1