你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】基于STM32单片机大棚温湿度检测无线蓝牙APP控制设计

[复制链接]
STMCU小助手 发布时间:2022-5-11 13:51
一.硬件方案
& Y* C: _" p; y' g本设计由STM32单片机、风扇控制电路、温湿度传感器电路、1602液晶显示电路+蓝牙模块电路和电源电路组成。通过温湿度传感器检测温湿度,并在液晶上和APP上实时显示。当湿度超过75度,APP发出报警信息,通过APP发送指令“O”,风扇启动。通过APP发送指令“C”,风扇关闭。。
; I' q9 [' V$ ^. e主要由STM32单片机+风扇控制电路+温湿度传感器电路+1602液晶显示电路+蓝牙模块电路+电源电路组成;如图:* V. U1 x' u  C3 c; e2 O9 B
, ^6 W4 x( z" V, S
9(ZI$[I4R7C@@4R76}LV`UJ.png
; J2 C2 J& ]+ ?+ [7 X1 Q4 o! R
: L  o4 a+ Q/ G$ V4 Q二.设计功能
" R7 c: J+ c7 v
(1)通过温湿度传感器检测温湿度,并在液晶上和APP上实时显示。
+ K/ a6 j* U) }& u  V5 T(2)当湿度超过75度,APP发出报警信息。# I' d4 Y! c+ p, T9 u
(3)通过APP发送指令“O”,风扇启动;通过APP发送指令“C”,风扇关闭。
, U  x9 a: U; O: N
6 C. ?2 T1 x! _" y三.设计原理图$ X: z7 A- b/ ]7 S# r1 E% ?
(1)原理图主要采用AD软件进行设计,如图:& z* Q2 N6 Z  A& o+ h& ~

& w. ]) }; |  [& a( v2 E Q4[JS0YP@`}F4N2U7RL84}6.png
% o' l8 i9 J  o. w! v' L) p+ [& l
; t% v+ [1 j0 C+ D(2)PCB图如下:2 _3 `( w, Z, j2 r
% Q8 R9 h1 S% B3 u
0D$%UN5ALC}Z8SR%$@Y_H.png 1 x5 |3 G& X7 U. |% m
: G2 D5 B0 k4 A, G. g
四.软件设计  _0 h% D+ W* H8 n' C  n
(1)程序流程图. |1 l4 v8 J  U/ w% p% b
! o9 x& N7 y7 D. ~: c
D69J6`TMMUUAEOAC`}D1FRJ.png 5 Z4 R& t- ]" L# Z

1 a- D6 l3 @0 D3 j' e5 K. x(2)主程序源码# N3 I3 T; \$ c- p' H
: D# K! y0 `$ K9 e: F6 H
  1. int main(void)8 x9 ]  {" \: F& X9 r& f
  2. { " q' m6 b5 {0 ?5 [/ O* D8 o' @  Z
  3.         delay_init();                     //延时函数初始化         
    ; j1 F7 B* D3 [: L* D; O2 A
  4.         uart_init(9600);                 //串口初始化为9600
    ! K2 t4 i) |# L, v1 I; W
  5.   TIM3_Int_Init(499,7199);//50ms           * V* F# n0 F( W! O) X9 z
  6.         LED_Init();                                  //初始化与LED连接的硬件接口4 }8 |0 Q$ E5 _
  7.          
    0 r' t5 i1 F3 m3 h- W0 D
  8. //         Adc_Init();                                  //ADC初始化            
    : g5 X% g- {3 l; }0 b5 h; ?6 x

  9. ( p9 t; m& R8 m
  10.         Lcd_GPIO_init();  //1602接口初始化
    7 f3 Z" Y5 c, U# V4 v8 ~- K
  11.         Lcd_Init();        
    1 ^* ?8 U# L* ?2 J, r
  12.         fengshan = 0;         //上电风扇转一下
    % D; \* L- h, j; Z
  13.         delay_ms(200);# `5 a8 n0 T! ^- B

  14. 6 Q( }1 r& G1 o0 E
  15.         sprintf(dis0,"Temp:%02d C DH:%02d%%",(u16)DHT11.Tem_H,(u16)DHT11.Hum_H);//打印温湿度% f& W. [) n, v4 Q' V  L
  16.         Lcd_Puts(0,1,(unsigned char *)dis0);        //初始化显示
    2 i1 E& X! c, X$ @9 b  x, b- r
  17.         Lcd_1Put(7,1,0xdf);
    " d6 k7 N* }8 h- j
  18.         sprintf(dis1,"My designer !   ");//打印电流
    2 Z9 a5 F0 J5 _. Q& [  J0 [
  19.         Lcd_Puts(0,0,(u8 *)dis1);//显示电流& i/ T  f3 R0 Q$ a6 h" c
  20.         fengshan = 1;& M) E, ]- j, K3 m
  21.          while(1)
    8 ]# ^0 e6 f* O- S0 ^2 w8 j
  22.         {! u- I, R) s) V6 N' Q8 H& x2 C
  23.                         if(DHT11_ReadData())        //是否读取到温湿度1 b) [, _* w3 ~" U' f
  24.                         {           
    8 r* r& B( H. M  Z0 N, c
  25.                                 sprintf(dis0,"Temp:%02d C DH:%02d%%",(u16)DHT11.Tem_H,(u16)DHT11.Hum_H);//打印温湿度; E2 o5 V  c5 h" w
  26.                            Lcd_Puts(0,1,(unsigned char *)dis0);        //显示: s2 i5 K6 Z! z  B7 _& m! `
  27.                                 Lcd_1Put(7,1,0xdf);+ t+ S' E3 r1 |3 G3 Z/ E. k. ~# N5 [
  28.                                 printf(dis0);//串口打印数据
      `5 B- o' B4 a. o% S
  29.                                 printf("\n");  `" {& L) j+ P
  30.                                 if(DHT11.Hum_H>75)                          //对比湿度值
    1 n1 R4 |( c' ^( X" r3 e# \0 q. g
  31.                                 {% K) f9 j9 W  y
  32.                                         printf("Shidu High\n");//发送湿度过高. V9 {2 d* o% ~  ~5 o
  33.                                 }
    & d5 {, n1 ?- g/ F  \8 U: e: y
  34.                                 else
    - q6 A% D# H7 b  X' s9 b6 q0 T
  35.                                 {  o. J8 l$ I3 M/ ~/ I# l. v
  36.                                         printf("Shidu Normal\n");//湿度正常5 B( o$ G! [  ~+ F- u# C; t5 T$ ]7 V
  37.                                 }
    $ {: c, K2 A: k, @! T
  38.                                         delay_ms(800);//风扇控制在串口中断中处理% ?2 @9 X# T; v7 K8 u% W1 z
  39.                 }
    0 l0 h- C& @& C4 q0 C/ i
  40.                 * r0 A* l7 r# w6 K! C* k- k
  41.         }                                                                                            
    . F8 n' u: K- ]$ O
  42. }      
复制代码
  v# c  X) o" W4 }  m6 a5 G$ ?3 [
]H2}$P5K7OJZ~0G2A]Z(N%5.png
%5I`3)%_N_L3~9$LGDOK1QR.png
3~Z0(W(3~(QWRZT$[S7C6.png
F~J4SH~RE%BU8TIYB~_ZP8F.png
赞 收藏 评论0 发布时间:2022-5-11 13:51

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版