STMCU小助手
发布时间:2022-9-4 16:54
|
系统设计目标 本系统可以分为两个模式来进行运行,分别为手动模式和自动模式,同时,在上电进入系统后,还会有一个模式选择的界面产生。! {6 Z7 j9 I2 ?0 O, ~ ! Z1 @ g6 k" V7 ~6 i 1.模式选择:在此界面中,可以通过按键K1来控制模式选择,两个模式分别为手动模式和自动模式;通过按键K2可以进入模式* T! x) O% Y4 O& s; _* } 2.手动模式:在手动模式中,可以通过K1来进行速度调整,分为低速、中速和高速,可以通过K3来控制是否为摇头状态。6 \5 S' Y. b2 T7 x 3.自动模式:在自动模式下,可以通过红外传感器来检测周围是否有人,通过温湿度传感器来测试周围环境温度和湿度,若达到条件就会触发风扇进行运转,风速也有低速模式、中速模式、高速模式。/ W/ E [$ A; t! J) f4 _ 具体的硬件选型 3 x2 `! }' \7 i 1.主控芯片 主控芯片选择的是stm32f103c8t6最小系统板,价格便宜,非常适合新手进行单片机项目的开发,可以配合面包板来使用,很适合电路连接。* |( N, ~' f2 f, X$ o 0 j2 O& _2 Q! m* t w* Y2 K" ~
0 f5 V T/ |4 U- o0 q( J- h + r, Q" q6 y% e& l+ u m* D 2.显示模块8 C8 v) r2 q* f4 H& M 显示模块主要是使用0.96英寸OLED屏幕。通过OLED模块来显示模式信息、温度信息、扫风信息等内容。# C! B- G4 v. N- m; s' F
3.温湿度传感器/ v6 C7 ~8 M$ [. u X 0 r) R: h) B U+ p& g 温湿度传感器使用的是DHT11温湿度传感器,用来在自动模式下来采集温度数据和湿度数据,控制风扇的转速。# T; s. X; c+ V; \$ @" [' ? i, }
" v; U$ T8 `! }# c. T7 u! x, K% D' {0 h 4.红外模块 红外模块主要是用来检测周围是否有人存在,在检测到周围有人存在的时候,就可以将信息传递给单片机来进行响应,当温度达到设定值时,可以控制风扇开始转动。
# a4 P# C. Z. l6 G) R+ V" [ - o% V" g3 Q5 T/ {2 ~3 n# X: a 5.电机驱动电路" W7 ?# A. |8 y% _ F6 L1 _, M. E! P- M# D2 L& F6 Y 我的电机驱动电路是使用的大功率二极管来进行驱动电机的,其实也可以用L298N来进行驱动,这个就根据个人手头上的元件来决定。1 |2 `1 E$ I9 }5 @ ; A* h, ~0 F$ Y; b m4 |/ ^ 6.舵机 风扇的扫风模式我主要是使用舵机来完成的,通过控制舵机的占空比来实现风扇的扫风。: G3 V9 _0 y- J$ ~ 7.电机 " v- b' {3 ~+ A7 t# R 这次的电机我使用的是空心杯这个小电机。$ t7 K( Z0 \0 j' \ % [7 [ m4 O8 g; ` 具体的软件思路 模式选择界面' _5 T, w- I" ]1 z8 t( d: I 在选择模式下可以通过按键来切换模式,并通过按键进入模式,其中使用K1按键来进行模式的选择,分为自动模式和手动模式;通过K2进入所选择的模式。; o! D, z' `$ t9 r; W
2.手动模式 : W/ t7 g" a( @ 在手动模式下,通过按键来控制风扇的转动和扫风模式以及退出到选择界面的功能。在手动模式中,按下K1键来进行风扇的加速,分为低速模式—>中速模式—>高速模式—>停止。通过K3来控制扫风,当按下一次K3后,会进入扫风模式,风扇扫风,再次按下K3,停止扫风。按下K4后,会退出手动模式进入模式选择界面。 ; h9 S% r* Z7 p6 ^: V0 W/ l
3.自动模式 . q3 }9 c% `- W C- k7 i 在自动模式下,系统会自动检测周围环境并决定是否进入扫风模式和使风扇转动。# v0 w( [# G' M6 e 3 m6 a1 s* j# l, e8 o, T+ M 首先会检测前方是否有人,若没有人,无事发生;若有人,进入2。 若前方有人,会检测左侧是否有人,若无人且环境温度大于27度,风扇转动但不扫风;若有人,进入3。 若左侧有人,会检测右侧是否有人,若无人且环境温度大于27度,风扇转动且左半边扫风;若有人,且环境温度大于27度,风扇转动且0度到180度扫风。6 E* Y' e- C( \; {0 F 若环境温度在27度到29度之间,风扇转速为低速模式,若环境温度在29度到31度之间,风扇转速为中速模式,若环境温度在31度以上,风扇转速为高速模式。
元件的连接
注:如果要实现自动模式的效果,要在舵机的桨上将电机和红外模块粘上,这样才能更好地实现自动模式中所期望的效果。 ———————————————— 版权转载自:嵌入式进阶之路 ; a& g" T! k! U7 e! E' b |
DMA 原理从 0 到 1:为什么它能解放 CPU?一文讲透 DMA 的工作流程
【福利三:雨露均沾·逢7狂欢】之五:STM32系统时钟PLL故障排除1例
【福利三:雨露均沾·逢7狂欢】之三:AI帮我查BUG
福利三:雨露均沾·逢7狂欢】之二:STM32F407VG串口通信乱码故障的排除
基于STM32F103的I2C主从机通信
OpenBLT移植到STM32F103战舰开发板上适用于所有STM32F103系列的Bootloader
TFT LCD 与 FSMC 的硬件连接大容量 STM32F10xxx FSMC 接口
单片机:初学者该了解的STM32F103基础知识
2025软件工具兔哥知道
STM32之继电器模块
微信公众号
手机版