新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STM32之光敏電阻傳感器模塊的使用

        STM32之光敏電阻傳感器模塊的使用

        作者: 時間:2018-07-30 來源:網絡 收藏

        本實驗配合2.2寸TFT液晶屏顯示,當光弱的時候顯示“昏暗”,光強時顯示“明亮”。

        本文引用地址:http://www.104case.com/article/201807/384517.htm

        實驗使用的是下圖所示的3線模塊,用途:光線亮度檢測,光線亮度傳感器,智能小車尋光模塊。模塊特色:比較器輸出,信號干凈,波形好,驅動能力強,超過15mA;配可調電位器可調節檢測光線亮度;輸出形式 :數字開關量輸出(0和1);使用寬電壓LM393比較器。

        模塊使用說明1、光敏電阻模塊對環境光線最敏感,一般用來檢測周圍環境的光線的亮度,觸發單片機或繼電器模塊等;2、模塊在環境光線亮度達不到設定閾值時,DO端輸出高電平,當外界環境光線亮度超過設定閾值時,DO端輸出低電平;3、DO輸出端可以與單片機直接相連,通過單片機來檢測高低電平,由此來檢測環境的光線亮度改變;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

        的讀取引腳函數,引腳配置如下:

        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);

        實驗效果如下:(明亮)

        用紙遮擋住陽光后(昏暗)

        • 單片機中文官網
        • 單片機官方開發工具
        • STM32單片機參考設計


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 景德镇市| 霍城县| 通江县| 淮南市| 杂多县| 浮梁县| 内丘县| 德庆县| 大方县| 图们市| 兴和县| 嵊泗县| 华坪县| 马关县| 镇原县| 伊金霍洛旗| 云龙县| 昌都县| 从江县| 石渠县| 灵宝市| 泰宁县| 柳林县| 张北县| 田阳县| 海林市| 辽宁省| 乐昌市| 乳山市| 邮箱| 彭州市| 桦甸市| 乌兰县| 铁力市| 江津市| 柯坪县| 新巴尔虎右旗| 武强县| 平阴县| 西林县| 彝良县|