其他分享
首页 > 其他分享> > 传感器自学笔记第十二章——火焰传感器+HC-SR501人体感应模块+按键模块+红绿双色LED(共阴)模块+按键开关模块+三色LED

传感器自学笔记第十二章——火焰传感器+HC-SR501人体感应模块+按键模块+红绿双色LED(共阴)模块+按键开关模块+三色LED

作者:互联网

作者:GWD 时间:2019.06.28

火焰传感器(开关量类传感器)

一、 学习要点:无
在这里插入图片描述
二、 手册分析:
用途:各种火焰,火源探测
模块特色:
1、 可以检测火焰或者波长在760纳米~1100纳米范围内的光源,打火机测试火焰距离为80cm,对火焰越大,测试距离越远
2、 探测角度60度左右,对火焰光谱特别灵敏
3 、灵敏度可调(图中蓝色数字电位器调节)
4、比较器输出,信号干净,波形好,驱动能力强,超过15mA
5、配可调精密电位器调节灵敏度
6、工作电压3.3V-5V
7、输出形式 :DO数字开关量输出(0和1)和AO模拟电压输出
8、设有固定螺栓孔,方便安装
9、小板PCB尺寸:3.2cm x 1.4cm
10、使用宽电压LM393比较器
三、编程:数字量输出太简单了

HC-SR501人体感应模块(开关量类传感器)

一、 学习要点:无
在这里插入图片描述
二、手册分析:
1、全自动感应:人进入其感应范围则输出高电平, 人离开感应范围则自动延时关闭高电平,输出低电。
2、光敏控制(可选择,出厂时未设)可设置光敏控制,白天或光线强时不感应
3、两种触发方式:、 不可重复触发方式(L):即感应输出高电平后, 延时时间段一结束, 输出将自动从高电平变成低电平b、 可重复触发方式(H):即感应输出高电平后,在延时时间段内,如果有人体在其感应范围活动,其输出将一直保持高电平,直到人离开后才延时将高电平变为低电平;
4、感应模块通电后有一分钟左右的初始化时间,在此期间模块会间隔地输出
0-3 次,一分钟后进入待机状态;
5、感应范围:
在这里插入图片描述
6、外观与调节
在这里插入图片描述
三、编程:无

红绿双色LED(共阴)模块(模数类型传感器)

一、 学习要点:无
二、 手册分析:
1、
在这里插入图片描述
2、发光颜色:绿色+红色
3、使用电压(V):G:2.3-2.6V;R:1.9-2.2V
三、编程:同PCF8571节代码
PCF8591.c

#include "PCF8591.h"
void WR_OneByte2Pcf8591(unsigned char address,unsigned char cmd,unsigned char dat)
{
	_nop_();
	iic_start();
	_nop_();
	iic_sendbyte(address);
	_nop_();
	iic_sendbyte(cmd);
	_nop_();
	iic_sendbyte(dat);
}

int RD_OneByte2Pcf8591(unsigned char address,unsigned char cmd)
{
	int num = 0;
	iic_start();   //address=0x41
	iic_sendbyte(address);
	iic_sendbyte(cmd);
	iic_start();   //address=0x41
	iic_sendbyte(address|0x01);
	num = iic_rcvbyte_nack();
	return (num);		
}

Main.c

#include <reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义                        
#include "stdio.h"
#include "delay.h"
#include "IIC.h"
#include "PCF8591.h"

typedef unsigned char uChar8;
typedef unsigned int uInt16;

void InitUART  (void)
{
    TH1 = 0xFD;           // TH1:  重装值 9600 波特率 晶振 11.0592MHz  
	TL1 = TH1;
    TMOD |= 0x20;               // TMOD: timer 1, mode 2, 8-bit 重装								//       timer 0,16位计数      
    SCON  = 0x50;		        // SCON: 模式 1, 8-bit UART, 使能接收  
	ES  = 1;                  //打开串口中断
	TR1 = 1;                  // TR1:  timer 1 打开      
	TI=1;

}  

                      
void main (void)
{
	//代码段功能:数模转换,随着数字自增,LED灯逐渐变亮
	char i=0;
	unsigned char dat = 80;
	float vol=0;
	InitUART();
	while (1)                       
	{		
		if(dat<=120) 
			dat++;
		else
			dat = 80;
		printf("%c%c%c  ",dat/100+'0',(dat/100)%10+'0',dat%10+'0');
	 	WR_OneByte2Pcf8591(0X92,0X40,dat);
		Delay200ms(); Delay200ms();Delay200ms();Delay200ms();Delay200ms();

	}
}

按键开关模块(开关量传感器)

一、 学习要点:无
在这里插入图片描述二、 手册分析:无
三、编程:无

三色LED(开光量传感器)

一、 学习要点:无
在这里插入图片描述
三、 手册分析:无
1、 通过 PWM 调节三基色可混合得到不同的颜色;
2、 工作电压:5V
三、编程:无

标签:LED,模块,高电平,感应,unsigned,char,iic,按键
来源: https://blog.csdn.net/gongweidi/article/details/94053618