国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

基于STM32的OLED屏顯示AHT20采集的溫濕度數據

vincent_xyb / 1502人閱讀

摘要:三小結本次實驗在實現了溫濕度數據采集并通過串口顯示和利用屏數據顯示代碼的基礎上,完成屏顯示采集的溫濕度數據也并不復雜,其中,溫濕度數據采集的過程使用的是模擬,屏的數據顯示采用的是。


本實驗使用的工具:
STM32野火mini開發板、AHT20溫濕度傳感器、0.96寸OLED顯示屏

一、實現溫濕度數據采集并通過串口顯示

目的:為了查看能否實現AHT20傳感器的溫濕度采集

具體操作過程請參考小編的另一篇博客:STM32基于I2C的AHT20溫濕度數據采集

二、實現將溫濕度采集數據顯示到OLED屏

本過程是基于上面實現串口顯示的工程上,進行OLED屏數據顯示代碼的添加。

本實驗完整工程代碼下載詳見參考鏈接。

1.代碼下載

點擊此鏈接進行OLED數據顯示代碼的下載:
https://github.com/Sunlight-Dazzling/stm32_AHT20_OLED/tree/main/User/usart

下載完成后,添加到之前的工程項目里面

2.部分代碼的編寫

2.1. 顯示溫濕度的代碼

void read_AHT20(void){	uint8_t   i;	for(i=0; i<6; i++)	{		readByte[i]=0;	}	I2C_Start();	I2C_WriteByte(0x71);	ack_status = Receive_ACK();	readByte[0]= I2C_ReadByte();	Send_ACK();	readByte[1]= I2C_ReadByte();	Send_ACK();	readByte[2]= I2C_ReadByte();	Send_ACK();	readByte[3]= I2C_ReadByte();	Send_ACK();	readByte[4]= I2C_ReadByte();	Send_ACK();	readByte[5]= I2C_ReadByte();	SendNot_Ack();	//Send_ACK();	I2C_Stop();	if( (readByte[0] & 0x68) == 0x08 )	{		H1 = readByte[1];		H1 = (H1<<8) | readByte[2];		H1 = (H1<<8) | readByte[3];		H1 = H1>>4;		H1 = (H1*1000)/1024/1024;		T1 = readByte[3];		T1 = T1 & 0x0000000F;		T1 = (T1<<8) | readByte[4];		T1 = (T1<<8) | readByte[5];		T1 = (T1*2000)/1024/1024 - 500;		AHT20_OutData[0] = (H1>>8) & 0x000000FF;		AHT20_OutData[1] = H1 & 0x000000FF;		AHT20_OutData[2] = (T1>>8) & 0x000000FF;		AHT20_OutData[3] = T1 & 0x000000FF;	}	else	{		AHT20_OutData[0] = 0xFF;		AHT20_OutData[1] = 0xFF;		AHT20_OutData[2] = 0xFF;		AHT20_OutData[3] = 0xFF;		printf("lyy");	}	printf("/r/n");		printf("溫度:%d%d.%d",T1/100,(T1/10)%10,T1%10);	printf("濕度:%d%d.%d",H1/100,(H1/10)%10,H1%10);	printf("/r/n");	t=T1/10;	t1=T1%10;	a=(float)(t+t1*0.1);	h=H1/10;	h1=H1%10;	b=(float)(h+h1*0.1);	sprintf(strTemp,"%.1f",a);   //調用Sprintf函數把DHT11的溫度數據格式化到字符串數組變量strTemp中  	sprintf(strHumi,"%.1f",b);    //調用Sprintf函數把DHT11的濕度數據格式化到字符串數組變量strHumi中  	//printf(strTemp);	//printf("/r/n");	GUI_ShowCHinese(16,00,16,"溫濕度顯示",1);	GUI_ShowCHinese(16,20,16,"溫度",1);	GUI_ShowString(53,20,strTemp,16,1);	GUI_ShowCHinese(16,38,16,"濕度",1);	GUI_ShowString(53,38,strHumi,16,1);	delay_ms(1500);			delay_ms(1500);	delay_ms(1500);	delay_ms(1500);	}


2.2. 添加相應的點陣表示代碼
對漢字進行取??梢允褂靡韵骆溄樱ú挥孟螺d字模提取軟件):https://www.23bei.com/tool-218.html

"溫",0x00,0x00,0x23,0xF8,0x12,0x08,0x12,0x08,0x83,0xF8,0x42,0x08,0x42,0x08,0x13,0xF8,  0x10,0x00,0x27,0xFC,0xE4,0xA4,0x24,0xA4,0x24,0xA4,0x24,0xA4,0x2F,0xFE,0x00,0x00,/*"溫",10*/"濕",0x00,0x00,0x27,0xF8,0x14,0x08,0x14,0x08,0x87,0xF8,0x44,0x08,0x44,0x08,0x17,0xF8,  0x11,0x20,0x21,0x20,0xE9,0x24,0x25,0x28,0x23,0x30,0x21,0x20,0x2F,0xFE,0x00,0x00,/*"濕",12*/"度",0x01,0x00,0x00,0x80,0x3F,0xFE,0x22,0x20,0x22,0x20,0x3F,0xFC,0x22,0x20,0x22,0x20,  0x23,0xE0,0x20,0x00,0x2F,0xF0,0x24,0x10,0x42,0x20,0x41,0xC0,0x86,0x30,0x38,0x0E,/*"度",11*/"顯",0x00,0x00,0x1F,0xF0,0x10,0x10,0x10,0x10,0x1F,0xF0,0x10,0x10,0x10,0x10,0x1F,0xF0,  0x04,0x40,0x44,0x44,0x24,0x44,0x14,0x48,0x14,0x50,0x04,0x40,0xFF,0xFE,0x00,0x00,/*"顯",13*/"示",0x00,0x00,0x3F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,0x01,0x00,  0x01,0x00,0x11,0x10,0x11,0x08,0x21,0x04,0x41,0x02,0x81,0x02,0x05,0x00,0x02,0x00,/*"示",14*/


2.3. main函數

int main(void){		delay_init();	    	       //延時函數初始化    	  	uart_init(115200);	 	IIC_Init();		  	NVIC_Configuration(); 	   //設置NVIC中斷分組2:2位搶占優先級,2位響應優先級 		OLED_Init();			         //初始化OLED  	OLED_Clear(0); 	while(1)	{		read_AHT20_once();		OLED_Clear(0); 		delay_ms(1500);  }}

3.編譯并燒錄

點擊左上角的編譯按鈕進行編譯,生成相應的.hex文件

打開mcuisp軟件進行.hex文件燒錄

4.運行結果


由于還沒有接上AHT20傳感器,故溫濕度顯示為0,另外,采集的速度可以自行進行設置,我這里設置的采集間隔比較長。

三、小結

本次實驗在實現了溫濕度數據采集并通過串口顯示和利用OLED屏數據顯示代碼的基礎上,完成OLED屏顯示AHT20采集的溫濕度數據也并不復雜,其中,溫濕度數據采集的過程使用的是模擬I2C,OLED屏的數據顯示采用的是SPI。

四、參考鏈接

1.https://blog.csdn.net/qq_43279579/article/details/111678857
2.https://blog.csdn.net/qq_54496810/article/details/121426752
3.完整工程代碼
提取碼:1234

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/124041.html

相關文章

  • STM32F103基于spi實現OLED顯示

    摘要:文章目錄一原理二實現顯示中文滾動顯示顯示字符串讀取溫濕度顯示溫濕度三結果開機顯示歡迎信息循環讀取溫濕度以及滾動顯示我的四總結五參考六源碼一原理的定義就是串行外圍設備接口。 ...

    xfee 評論0 收藏0
  • stm32通過I2C接口實現濕度AHT20采集

    摘要:如圖所示在了解起始條件和停止條件后,我們再來看看在這個過程中數據的傳輸是如何進行的。四參考資料通過接口實現溫濕度的采集硬件和軟件區別 stm32通過I2C接口實現...

    chengtao1633 評論0 收藏0
  • 基于STM32ESP8266 WIFI與ONENET通信連接(2),云平臺以及手機APP數據顯示

    摘要:基于的與通信連接,實現溫濕度數據互傳,控制第一步,在實現將傳感器數據采集之后,并且完成配網步驟,可以正常通過模塊正常將數據發送到云平臺之后進行以下閱讀,上述內容可以跳轉到以下鏈接進行查看具體操作。 ...

    antz 評論0 收藏0
  • STM32 硬件IIC OLED

    摘要:命令為關閉顯示命令,為開啟顯示命令包含兩個字節,第一個為命令字,第二個為設置值,第二個字節的表示電荷泵的開關狀態,該位為開啟電荷泵,為則關閉。命令用于設置顯示時的起始列地址低四位。這也決定了字模選擇的取模方式為列行式。 ...

    luck 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<