硬件开发_基于STM32单片机的海鲜冷藏车检测系统
一.系统概述
海鲜冷藏车检测系统的功能如下:
1.核心控制:以 STM32 单片机为主控,负责数据处理与温控装置控制;
2.参数采集:通过温湿度传感器,实时采集冷藏车内温度、湿度数据;
3.自动调节:对比实时温度与预设阈值,通过继电器控制制冷 / 加热设备,实现环境自动调节;
4.蓝牙通信:蓝牙模块将采集数据发送至 APP,支持实时监控与控制。
二.电路设计
电路图设计如下(采用Altium Designer):
- 以STM32F103C8T6单片机为主控核心,其最小系统电路为整体电路核心;
- 通过DHT11检测温湿度,经单总线与单片机GPIO脚连接;
- JDY-31蓝牙模块通过UART串口与单片机通信,将温湿度数据上传至手机端;
- 有源蜂鸣器用于报警,由NPN三极管驱动;
- 继电器数据输出脚接单片机GPIO脚,用于控制调温装置的开关。
三.程序设计
#include “sys.h”
#include “delay.h”
#include “math.h”
#include “OLED_I2C.h”
#include “usart1.h”
#include “usart2.h”
#include “Control_Report_To_Police.h”
extern u8 temp_max;
extern u8 him_max;
int main(void)
{
u8 time_count = 0;NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级Usart2_Init(9600); //串口2功能初始化,波特率9600Delay_Init(); Beep_init(); //蜂鸣器初始化while(DHT11_Init()){};OLED_Init(); //OLED初始化
OLED_CLS(); //OLED清屏
OLED_ShowCN(32,2,0); //小常硬件
OLED_ShowCN(32+16,2,1);
OLED_ShowCN(32+32,2,2);
OLED_ShowCN(32+32+16,2,3);
DelayMs(100);
OLED_CLS();/*******显示汉字**********/
OLED_ShowCN(0,0,10);
OLED_ShowCN(0+16,0,11);
OLED_ShowCN(0,2,12);
OLED_ShowCN(0+16,2,13);
DelayMs(1000);OLED_CLS();
DelayMs(500);
OLED_ShowCN(0,0,10);
OLED_ShowCN(0+16,0,11);
OLED_ShowCN(0,2,12);
OLED_ShowCN(0+16,2,13);
Beep=1;//蜂鸣器初始化 系统上电后先让蜂鸣器停止叫
while(1)
{
time_count++;
if (Serial_GetRxFlag() == 1){if(CommBuff[0]==0xA5){if(CommBuff[1]==0xAA&&CommBuff[2]==0xAA){temp_max++; }else if(CommBuff[1]==0xBB&&CommBuff[2]==0xBB){temp_max--; }else if(CommBuff[1]==0xCC&&CommBuff[2]==0xCC){him_max++; }else if(CommBuff[1]==0xDD&&CommBuff[2]==0xDD){him_max--; }memset(CommBuff,0,BUFFER_SIZE);}}if(time_count==3){send_data1();}else if(time_count==5){time_count=0;send_data2();}Beep = OLED_Display_Cotrol(); //显示控制函数}
}
四.资料内容
24-32-41