|
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)
2021-2-22 16:35 上傳
點擊文件名下載附件
程序.7z
(224.86 KB, 下載次數: 205)
2021-2-23 01:31 上傳
點擊文件名下載附件
|
評分
-
查看全部評分
|