|
STM32读取DHT11温湿度值,通过ADC采集压力传感器的电压值根据公式转换为压力值,读取mpu6050加速度传感器xyz方向数据解算出当前加速器传感器的角度值,将这5个传感器数据按照,温度: 湿度: 压力1-3: 角度值: 的方式通过esp8266发送给手机,手机按照发送的形式显示数据。 加热铜丝的控制程序会设定默认值当低于默认值便控制加热(此处继电器线路开关)低于切断。做的时候采用模块连接设计。
主函数部分源码:
#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "usart.h"
#include "dht11.h"
#include "adc.h"
#include "common.h"
#include "usart2.h"
#include "usart3.h"
#include <string.h>
float angle[3];
extern u8 USART3_RX_BUF[USART3_MAX_RECV_LEN];
extern u8 sign;
int main(void)
{
u8 t=0;
u8 temperature;
u8 humidity;
u16 adcx[3];
u8 Temp[11];
u8 sz[3]= {0x51,0x61,0x71};
delay_init(); //延时函数初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
DHT11_Init();
RELAY_Init();
uart_init(115200); //串口初始化为115200
usart2_init(115200);
usart3_init(9600);
Adc_Init(); //ADC初始化
esp8266_wifi_init_all();
// while(DHT11_Init()) //DHT11初始化
// {
// delay_ms(200);
// }
while(1)
{
if(t==199) //每2000ms读取一次
{
DHT11_Read_Data(&temperature,&humidity); //读取温湿度值
SD_wifi_send_data(10);
u2_printf("T:%d H:%d\r\n",temperature,humidity);
if (temperature > 24)//温度判断控制继电器
{
GPIO_SetBits(GPIOB,GPIO_Pin_9);
}
else
{
GPIO_ResetBits(GPIOB,GPIO_Pin_9);
}
delay_ms(100);
//printf("T:%d H:%d\r\n",temperature,humidity);
adcx[0]=Get_Adc_Average(ADC_Channel_0,10);//ADC采集
adcx[1]=Get_Adc_Average(ADC_Channel_1,10);
adcx[2]=Get_Adc_Average(ADC_Channel_4,10);
SD_wifi_send_data(23);
u2_printf("N1:%d N2:%d N3:%d", adcx[0],adcx[1],adcx[2]);//发送压力
delay_ms(100);
if (sign)//接受到MPU6050数据
{
memcpy(Temp,USART3_RX_BUF,11);
sign=0;
if (USART3_RX_BUF[0] == 0x55 && USART3_RX_BUF[1] == 0x53)
angle[0] = ((short)(Temp[3]<<8| Temp[2]))/32768.0*180; //X轴滚转角(x 轴)
angle[1] = ((short)(Temp[5]<<8| Temp[4]))/32768.0*180; //Y轴俯仰角(y 轴)
angle[2] = ((short)(Temp[7]<<8| Temp[6]))/32768.0*180; //Z轴偏航角(z 轴)
SD_wifi_send_data(25);
u2_printf("X:%.2f Y:%.2f Z:%.2f",angle[0],angle[1],angle[2]);
printf("X:%.2f Y:%.2f Z:%.2f",angle[0],angle[1],angle[2]);
u2_printf(" ");
}
}
delay_ms(20);
t++;
if(t==200)
{
t=0;
}
}
}
模块间接线原理图:
原理图.zip
(295.01 KB, 下载次数: 133)
程序.7z
(224.86 KB, 下载次数: 205)
|
评分
-
查看全部评分
|