STM32项目分享:智能大棚/智慧农业系统
创作时间:
作者:
@小白创作中心
STM32项目分享:智能大棚/智慧农业系统
引用
CSDN
1.
https://blog.csdn.net/qq_44016222/article/details/139691039
目录
一、前言
二、项目简介
1.功能详解
2.主要器件
三、原理图设计
四、PCB硬件设计
1.PCB图
2.PCB板打样焊接图
五、程序设计
六、实验效果
七、资料内容
项目分享
一、前言
项目成品图片:
(资料分享见文末)
二、项目简介
1.功能详解
基于STM32的智能大棚/智慧农业系统。功能如下:
- 温湿度采集:使用DHT11温湿度传感器采集环境温湿度
- 土壤湿度采集:通过土壤湿度模块采集土壤湿度
- 光照强度采集:通过BH1750模块采集环境光照强度
- 二氧化碳浓度采集:通过CCS811模块采集环境二氧化碳浓度
- 风扇控制:可自动模式下根据环境温度触发或手动模式下按键开闭
- 水泵控制:可自动模式下根据土壤湿度触发或手动模式下按键开闭
- LED照明灯控制:可自动模式下根据环境光强触发或手动模式下按键开闭
- 蜂鸣器报警:二氧化碳浓度超标时蜂鸣器报警
- TFT显示屏显示:显示环境温湿度、土壤湿度、光照强度、二氧化碳浓度和工作模式等信息。
- 工作模式选择:按键选择工作模式为自动、手动或者云端
- OneNET云端:通过旧版OneNET网页平台查看设备上报的实时数据。
2.主要器件
- STM32F103C8T6最小系统板
- 1.8寸TFT显示屏
- DHT11温湿度传感器
- BH1750光照传感器
- 土壤湿度传感器
- CCS811二氧化碳传感器
- WiFi模块(ESP8266-01s)
- 大功率LED照明灯模块
- 5V风扇模块
- 5V水泵模块
- 继电器
- 蜂鸣器
三、原理图设计
四、PCB硬件设计
1.PCB图
2.PCB板打样焊接图
五、程序设计
int main(void)
{
unsigned char *dataPtr = 0;
delay_init(); //延时函数初始化
SWITCH_Init(); //初始化与LED连接的硬件接口 水泵 风扇
Usart2_Init(115200); //wifi模块串口
uart_init(115200); //串口1
I2C_GPIO_Config(); //iic初始化 ccs811,模块初始化 检测CO2
CS_EN(); //对ccs811 配置
delay_ms(100);
ON_CS();
delay_ms(100);
Single_ReadI2C(CCS811_Add,0x20,Information,1); //Read CCS's information ,ID,0x81
Single_ReadI2C(CCS811_Add,0x23,&Information[1],2); //FW_Boot_Version
Single_ReadI2C(CCS811_Add,0x24,&Information[3],2); //FW_App_Version
Single_ReadI2C(CCS811_Add,0x00,&Status,1);
if(Status&0x10) Single_MWriteI2C_byte(CCS811_Add,0xF4,&temp,0); //Used to transition the CCS811 state from boot to application mode, a write with no data is required.
Single_ReadI2C(CCS811_Add,0x00,&Status,1);
Single_ReadI2C(CCS811_Add,0x01,&MeasureMode,1);
Single_WriteI2C_byte(CCS811_Add,0x01,0x10); //Write Measure Mode Register,sensor measurement every second,no interrupt
OFF_CS();
//二氧化碳模块初始化
KEY_Init();//按键初始化
Lcd_Init();//st7735 LCD屏幕初始化
LCD_LED_SET;//通过IO控制背光亮
Lcd_Clear(WHITE); //清屏
Adc_Init(); //ADc初始化,采集土壤湿度模块的模拟量
init_data(); //初始阈值参数设置
while(DHT11_Init()) //DHT11初始化 温湿度
{
delay_ms(200);
}
//TIM4_Int_Init(999,7199);
bh1750_iic_init();///光照模块初始化
Gui_DrawFont_GBK16(10,60,BLACK,WHITE,"正在连接ONENET");
ESP8266_Init(); //初始化ESP8266 wifi
while(OneNet_DevLink()) //接入OneNET
delay_ms(500);
Onenet_succes=1; ///表示接入成功
Lcd_Clear(WHITE);//清屏
Shuju();//获取环境数据
Gui_DrawFont_GBK16(10,144,BLACK,WHITE,"WIFI:");
if(Onenet_succes)
Gui_DrawFont_GBK16(60,144,BLACK,WHITE,"已连接:");
else
Gui_DrawFont_GBK16(60,144,BLACK,WHITE,"未连接:");
while(1)
{
key=KEY_Scan(0);//检测按键
threshold_value(); //界面和按键处理
counts++;//累加,用于onenet数据上传计时
control_set();//控制处理
if(counts>20) //counts>90 向云平台发送数据
{
OneNet_SendData(); //发送数据
ESP8266_Clear(); //清理esp8266 wifi模块数据缓存
counts=0;
Shuju(); //数据采集
}
dataPtr = ESP8266_GetIPD(0);//检测onenet是否下发数据
if(dataPtr != NULL)
OneNet_RevPro(dataPtr);//处理下发数据
delay_ms(2);//延迟
}
}
六、实验效果
七、资料内容
项目分享
本文原文来自CSDN
热门推荐
十二生肖你不知道的事:子鼠丑牛寅虎卯兔辰龙巳蛇午马未羊申猴酉鸡
子鼠丑牛寅虎卯兔性格解析:配对运势深度指南
观自在菩萨:身份、修行方法及《心经》详解
掌握这几个提示词提示技巧,AI绘画效果直接翻倍
大曲酒和小曲酒的区别有哪些?
需求放缓?去年全球新能源汽车销量创纪录增长25%
如何将QQ聊天记录作为证据提交
对虾养殖中,如何NH3和NH4+成为成功的关键!这5个关键点十分重要
来姨妈能喝茶类饮料吗
颈椎疼痛治疗中应选择哪种药物以避免胃部刺激
生煎包自己在家做,咬一口香汁迸出,孩子早餐点名要!
桑黄的药用价值及在现代医学中的应用前景
如何应对塑料老化?塑料失效分析给出答案
中国税种税率一览表2025:税收体系改革与政策分析
人体呼出气体的成分
有人背后造谣毁你名声怎么办该咋么回击她
2025年种植什么果树品种前景好利润大?
皮肤出现红色的小血点痒怎么办?
《滕王阁序》经典10句,读懂笑对人生
湖南株洲十大本地特色名菜盘点:从攸县血鸭到茶陵牛八宝
紫薇树的经济效益分析
开车时刹车失灵怎么办?五大应急处理方法全解析
西游记中沙僧被贬多的原因真的是因为他打碎了琉璃盏?
佛教创立者释迦牟尼:历史上的真实存在
选择合适的表面活性剂是钢带清洗的关键
帝王之术,唐太宗的用人智慧!
泡澡差点丢了命!这几类人不适合“洗大澡”
为什么刚吃完饭不能洗澡 吃完饭多久可以洗澡
DCDC开关电源的基本原理、设计技巧及选型参数介绍
从心灵碰撞到情感共振:解锁人际交往的共鸣密码