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
——————使用结论:灵敏度很差。。
------下次弄个数字的。这个仅仅是个简单的二极管传感器罢了。