STM32之光敏電阻傳感器模塊的使用
本實驗配合2.2寸TFT液晶屏顯示,當光弱的時候顯示“昏暗”,光強時顯示“明亮”。
本文引用地址:http://2s4d.com/article/201807/384517.htm實驗使用的是下圖所示的3線光敏電阻傳感器模塊,用途:光線亮度檢測,光線亮度傳感器,智能小車尋光模塊。模塊特色:比較器輸出,信號干凈,波形好,驅動能力強,超過15mA;配可調電位器可調節(jié)檢測光線亮度;輸出形式 :數字開關量輸出(0和1);使用寬電壓LM393比較器。
模塊使用說明1、光敏電阻模塊對環(huán)境光線最敏感,一般用來檢測周圍環(huán)境的光線的亮度,觸發(fā)單片機或繼電器模塊等;2、模塊在環(huán)境光線亮度達不到設定閾值時,DO端輸出高電平,當外界環(huán)境光線亮度超過設定閾值時,DO端輸出低電平;3、DO輸出端可以與單片機直接相連,通過單片機來檢測高低電平,由此來檢測環(huán)境的光線亮度改變;4、DO輸出端可以直接驅動本店繼電器模塊,由此可以組成一個光控開關。
各引腳作用如圖所示:
本實驗中將DO引腳連接到PA0腳,電源連接3.3V電源。
while(1){
if( GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0)==0){
Gui_DrawFont_GBK24(70,80,RED,GRAY0,明亮);
}else{
Gui_DrawFont_GBK24(70,80,RED,GRAY0,陰暗);
}
delay_ms(100); //延時函數 0.1S
}
其中的:Gui_DrawFont_GBK24(70,80,RED,GRAY0,明亮);和Gui_DrawFont_GBK24(70,80,RED,GRAY0,陰暗);為液晶屏的顯示函數,這里不是重點。我么在這里要關注的是if()判斷語句,我們通過
if( GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0)==0)
語句來判斷是否數據引腳為0(低電平),若是低電平則輸出下面的語句,
GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0)==0
為STM32的讀取引腳函數,引腳配置如下:
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; //PA0用于光敏電阻 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, GPIO_InitStructure);
實驗效果如下:(明亮)
用紙遮擋住陽光后(昏暗)
評論