Arduino 各種模塊篇 光敏感應器 簡易光敏


這一款是非常簡單的光敏感應器

簡單到,只對一定光強度有信號感應,輸出TTL電平。

此款也是用電位器來調節的。

都是這么簡單。

過段時間我為大家奉上數字版的光敏傳感器。

————————————————————————分割線——————————————————————————

這里面是商家提供的資料:

用途:
光線亮度檢測,光線亮度傳感器,具有方向性,只感應傳感器正前方的光源,用於尋光效果更佳

模塊特色:
1 可以檢測周圍環境的亮度和光強度(與光敏電阻比較,方向性比較好,可以感知固定方向的光源)
2 靈敏度可調(圖中藍色數字電位器調節)
3 工作電壓3.3V-5V
4 數字開關量輸出(0和1)
5 設有固定螺栓孔,方便安裝
6 小板PCB尺寸:3.2cm * 1.4cm

使用說明
1 光敏二極管模塊對環境光強最敏感,一般用來檢測周圍環境的亮度和光強,在大多數場合可以與光敏電阻傳感器模塊通用,二者區別在於,光敏二極管模塊方向性較好,可以感知固定方向的光源。
2 模塊在無光條件或者光強達不到設定閾值時,DO口輸出高電平,當外界環境光強超過設定閾值時,模塊D0輸出低電平;
3 小板數字量輸出D0可以與單片機直接相連,通過單片機來檢測高低電平,由此來檢測環境的光強改變;
4 小板數字量輸出DO可以直接驅動本店繼電器模塊,由此可以組成一個光電開關

 

本系列模塊的產品正反面外觀圖

產品結構及接線圖

單片機測試程序

/******************************************
傳感器觸發測試
單片機:STC89C52
波特率:9600
產品用途:光線檢測。
*****************************************/
#include <reg52.h>
unsigned char date;
#define uchar unsigned char
#define uint unsigned int
sbit key1=P0^1;

 


/* 函數申明 -----------------------------------------------*/
void delay(uint z);
void Initial_com(void);

//***********************************************************

/*
********************************************************************************
** 函數名稱 : delay(uint z)
** 函數功能 : 延時函數
********************************************************************************
*/
void delay(uint z)
{
uint i,j;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}


//******************************

//*****串口初始化函數***********

//******************************
void Initial_com(void)
{
EA=1; //開總中斷
ES=1; //允許串口中斷
ET1=1; //允許定時器T1的中斷
TMOD=0x20; //定時器T1,在方式2中斷產生波特率
PCON=0x00; //SMOD=0
SCON=0x50; // 方式1 由定時器控制
TH1=0xfd; //波特率設置為9600
TL1=0xfd;
TR1=1; //開定時器T1運行控制位

}

 


//*************************
//**********主函數*********
//*************************
main()
{
Initial_com();
while(1)
{

if(key1==0)
{
delay(); //消抖動
if(key1==0) //確認觸發
{
SBUF=0X01;
delay(200);


}

}

if(RI)
{
date=SBUF; //單片機接受
SBUF=date; //單片機發送
RI=0;
}


}
}

 

————————————————————————分割線——————————————————————————

 

調試方法,前幾篇關於模塊的博客一樣,都是用的相同的方法調試的。

模塊的D口接入arduino Pin2上。

打開串口監視器看效果:

void setup()
{
  pinMode(2, INPUT);
  Serial.begin(9600);
}

void loop()
{
  
  int temp = digitalRead(2);
  Serial.println(temp);
  delay(200);
  
}

放在光源下,和不放在光源下

默認為輸出1,高電平,

有光的時候輸出低電平 0V

無光的時候輸出高電平 5V

 

這里的光強度指的是通過電位器調節的一個閾值。臨界值而已。

給大家看看實際效果:

接近光源:

大拇指處的指示燈亮了

離開光源:

 

 

離開等就滅了,很簡單的一個小程序。顯示屏上是顯示的串口01數據

靠近就出0

離開就出1

 

——————使用結論:靈敏度很差。。

------下次弄個數字的。這個僅僅是個簡單的二極管傳感器罷了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM