久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
STM32單片機測溫濕度和紫外線程序,原創
[打印本頁]
作者:
15773896335
時間:
2019-2-16 18:46
標題:
STM32單片機測溫濕度和紫外線程序,原創
stm32單片機測溫濕度和紫外線程序,原創。
#include "stm32f10x.h"
#include "bsp_SysTick.h"
#include "bsp_am2302.h"
#include "bsp_usart.h"
#include "bsp_led.h"
#include "bsp_i2c_gpio.h"
#include "bsp_adc.h"
#include "OLED_I2C.h"
/***********溫濕度結構體聲明************/
AM2302_Data_TypeDef AM2302_Data;
/*************濕度值,溫度值************/
unsigned int RH_Value,TEMP_Value;
/*濕度高八位,低八位,溫度高八位,低八位*/
unsigned char RH_H,RH_L,TP_H,TP_L,UV;
uint16_t i=0,n=0,m=0;
/********傳感器傳回來的值****************/
extern __IO uint16_t ADC_getvalue;
/**********傳感器轉化后的值*************/
float ADC;
/*******溫濕度、紫外處理函數聲明********/
void Temp_RH_deal(void);
void ADC_Deal(void);
/********OLED處理函數聲明*************/
void OLED_deal(void);
void KaiJi_Init(void);
int main(void)
{
/* 配置SysTick 為1us中斷一次 */
SysTick_Init();
LED_Init();
USARTx_Init();//初始化串口1
printf("\r\n***野火STM32 AM2302溫濕度傳感器實驗***\r\n");
AM2302_Init ();
ADCx_Init();
i2c_Init();/*I2C總線的GPIO初始化*/
OLED_Init();
KaiJi_Init();
while(1)
{
Temp_RH_deal();
ADC_Deal();
OLED_deal();
}
}
/***********************************************************************************************************
************ ******** ******* **
** * * * * **
** * * * * **
** * * * **
** * * * ** *
** * ****** ******* * * ******* ** *
** * * * * * * * * * ** *
** * * * * * * * * * * ** *********
** * * * * * * * * * * ** *
** * * * * * * * * * * * ** *
** * * *** * * * ***** ******* ** *****
************ ******
*****************************************************************************************************************/
void KaiJi_Init(void)
{
for(i=3;i<7;i++){OLED_ShowCN((i-1)*16,0,i);}
OLED_ShowStr(12,3,(unsigned char*)"Name:",2);
for(i=0;i<3;i++){OLED_ShowCN((i+4)*16,3,i);}
OLED_ShowStr(12,6,(unsigned char*)"Date:",2);
OLED_ShowStr(52,6,(unsigned char*)"2019/2/14",2);
Delay_s(1);
OLED_CLS();
}
void OLED_deal(void)
{
//定義三個數組,作為傳感器值緩沖
char buffer1[5]={0},buffer2[5]={0},buffer3[5]={0};
//用sprintf函數將測量值轉換為字符形式
sprintf(buffer1,"%.2f",(float)TEMP_Value/10);
sprintf(buffer2,"%.2f",(float)RH_Value/10);
sprintf(buffer3,"%.0f",(float)UV);
//顯示中文字符,源碼在codetab.h文件,
for(i=7;i<15;i++)
{
OLED_ShowCN((i-7)*16,0,i);
}
//顯示TEMP:
OLED_ShowStr(0,2,(unsigned char*)"Temp:",2);
//顯示溫度測量值
OLED_ShowStr(40,2,buffer1,2);
//顯示“℃”符號
for(i=15;i<16;i++)
{OLED_ShowCN((i-10)*16,2,i);}
//顯示Rh:
OLED_ShowStr(0,4,(unsigned char*)"Rh:",2);
//顯示濕度測量值
OLED_ShowStr(40,4,buffer2,2);
//顯示“%”符號
OLED_ShowStr(82,4,(unsigned char*)"%",2);
//顯示Uv:
OLED_ShowStr(0,6,(unsigned char*)"Uv:",2);
//顯示紫外線測量值
OLED_ShowStr(40,6,buffer3,2);
//顯示紫外線強度單位
OLED_ShowStr(64,6,(unsigned char*)"UVIndex",2);
}
void Temp_RH_deal(void)
{
/*調用DHT11_Read_TempAndHumidity讀取溫濕度,若成功則輸出該信息*/
if( AM2302_Read( &AM2302_Data) == SUCCESS)
{
RH_Value= AM2302_Data.humi_int*256+ AM2302_Data.humi_deci;
RH_H=RH_Value/10;//讀取整數部分
RH_L=RH_Value%10;//讀取小數部分
//計算出實際溫度值的10倍,這是傳感器手冊上注明的
TEMP_Value= AM2302_Data.temp_int*256+ AM2302_Data.temp_deci;
TP_H=TEMP_Value/10;//讀取整數部分
TP_L=TEMP_Value%10;//讀取小數部分
printf("\r\n讀取AM2302成功!%d\r\n\r\n濕度為%d.%d%RH\
,溫度為%d.%d℃\r\n",n,RH_H,RH_L,TP_H,TP_L);//“\”表示轉向下一行
n++;
}
else
{
printf("\nRead AM2302 ERROR!%d\n",m);
m++;
}
Delay_ms(1000);
}
void ADC_Deal(void)
{
int adc=0;
ADC=(float) ADC_getvalue/4096*3.3*1000;
ADC+=5;
if(ADC>0)
{
if(0<ADC&ADC<50)
adc=0;
else if(200<=ADC&ADC<=260)
adc=1;
else if(290<=ADC&ADC<=350)
adc=2;
else if(380<=ADC&ADC<=440)
adc=3;
else if(380<=ADC&ADC<=540)
adc=4;
else if(580<=ADC&ADC<=640)
adc=5;
else if(670<=ADC&ADC<=730)
adc=6;
else if(770<=ADC&ADC<=830)
adc=7;
else if(850<=ADC&ADC<=910)
adc=8;
else if(950<=ADC&ADC<=1010)
adc=9;
else if(950<=ADC&ADC<=1110)
adc=10;
}
switch(adc)
{
case 0:UV=0;break;
case 1:UV=1;break;
case 2:UV=2;break;
case 3:UV=3;break;
case 4:UV=4;break;
case 5:UV=5;break;
case 6:UV=6;break;
case 7:UV=7;break;
case 8:UV=8;break;
case 9:UV=9;break;
case 10:UV=10;break;
}
printf("當前電壓為 = %3.0f mV \n",ADC);
printf("當前紫外線指數等級為%d級\r\n",UV);
}
復制代碼
全部資料51hei下載地址:
原創-AM2302.7z
(210.68 KB, 下載次數: 69)
2019-2-17 03:29 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
SwanTdd
時間:
2020-12-7 20:15
您好!!我想請問一下,您還保存得有這個的電路圖麼?想要參考一下。
作者:
單片機愛好者223
時間:
2021-7-14 22:19
紫外線程序是個什么?
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
先锋资源亚洲
|
狠狠影院
|
国产福利视频导航
|
亚洲精品一区二区三区中文字幕
|
国产福利观看
|
www.日日操
|
一区二区蜜桃
|
久久av一区二区三区
|
九九热视频这里只有精品
|
成人午夜免费福利视频
|
亚洲一区在线免费观看
|
欧美精品三区
|
国产成人精品久久二区二区91
|
久热m3u8
|
亚洲国产一区视频
|
欧美一区二不卡视频
|
a级大片免费观看
|
国产综合欧美
|
羞羞视频免费在线观看
|
久久久久久久网
|
欧美一区永久视频免费观看
|
亚洲高清一区二区三区
|
欧美白人做受xxxx视频
|
亚洲精品久久久一区二区三区
|
羞羞网站在线免费观看
|
午夜久久久久久久久久一区二区
|
国产熟熟
|
精品一区二区三区在线观看国产
|
国产精品视频一二三区
|
国产精品国产a
|
欧美高清成人
|
久久久久国产
|
国产一区久久久
|
欧美午夜一区二区三区免费大片
|
日韩精品在线观看一区二区三区
|
一级毛片色一级
|
成人影院av
|
日本精品视频一区二区三区四区
|
国产亚洲成av人片在线观看桃
|
精品伊人久久
|
欧美aaa
|