Arduino 各种模块篇 光敏感应器 简易光敏
2013-04-06 10:42
246 查看
这一款是非常简单的光敏感应器
简单到,只对一定光强度有信号感应,输出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上。
打开串口监视器看效果:
放在光源下,和不放在光源下
默认为输出1,高电平,
有光的时候输出低电平 0V
无光的时候输出高电平 5V
这里的光强度指的是通过电位器调节的一个阈值。临界值而已。
给大家看看实际效果:
接近光源:
大拇指处的指示灯亮了
离开光源:
离开等就灭了,很简单的一个小程序。显示屏上是显示的串口01数据
靠近就出0
离开就出1
——————使用结论:灵敏度很差。。
------下次弄个数字的。这个仅仅是个简单的二极管传感器罢了。
简单到,只对一定光强度有信号感应,输出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
——————使用结论:灵敏度很差。。
------下次弄个数字的。这个仅仅是个简单的二极管传感器罢了。
相关文章推荐
- Arduino 各种模块篇 光敏感应模块 light sensor
- Linkit 7688 DUO(四): 接上各种Arduino传感器和模块——基础篇
- Linkit 7688 DUO(五) 接上各种Arduino传感器和模块—扩展篇
- Arduino 各种模块篇 motor shield 电机扩展板 介绍 及 步进电机使用(stepper!)
- Arduino 各种模块篇 震动模块 vibrator module
- Arduino 各种模块篇 motor shield 电机扩展板(舵机、直流电机、步进电机party)
- Arduino 各种模块篇 可燃气体检测模块 inflammable air sensor
- Arduino 各种模块篇 触摸模块 touch sensor
- Arduino 各种模块篇-继电器
- Arduino 各种模块篇 声控传感器 声音检测模块 口哨模块 vocie sensor
- Arduino 各种模块篇 摇杆模块
- Arduino 各种模块篇 粉尘传感器 dust sensor 空气质量检测
- Arduino 各种模块篇 GPRS module 手机模块 短信 电话 上网 for texting, calling, internet
- Arduino 各种模块篇 霍尔模块
- Arduino 各种模块篇 步进电机 step motor 舵机 servo 直流电机 总复习
- Arduino 各种模块篇 RGB LED灯
- Arduino 各种模块篇 蓝牙模块 手机蓝牙控制Arduino LED灯
- Arduino 各种模块篇-继电器-利用串口命令-控制继电器
- Arduino 各种模块篇 火焰传感器
- Arduino 各种模块篇 大气压强模块 pressure sensor BMP085