|
本帖最后由 OpenJumper 于 2022-1-17 16:49 编辑
[md]## 一、光敏电阻与热敏电阻的应用
有时候,探测周围的环境并不需要太复杂的模块,一些简单的电子元件就可以当做传感器使用,例如我们今天要用到的光明电阻和热敏电阻就是这样一种元器件。
## 二、实验器材
+ UNO控制板:1块
+ 光敏电阻:1个
+ 热敏电阻:1个
+ 220Ω电阻:2个
+ LED灯:1个
+ 面包板:1块
## 三、连线示意图
图15-1
## 四、硬件连接图
图15-2
## 五、硬件知识要点
光敏电阻又称光导管,常用的制作材料为硫化镉,另外还有硒、硫化铝、硫化铅和硫化铋等材料。这些制作材料具有在特定波长的光照射下,其阻值迅速减小的特性。这是由于光照产生的载流子都参与导电,在外加电场的作用下作漂移运动,电子奔向电源的正极,空穴奔向电源的负极,从而使光敏电阻器的阻值迅速下降。通常,光敏电阻器都制成薄片结构,以便吸收更多的光能。当它受到光的照射时,半导体片(光敏层)内就激发出电子—空穴对,参与导电,使电路中电流增强。为了获得高的灵敏度,光敏电阻的电极常采用梳状图案,它是在一定的掩膜下向光电导薄膜上蒸镀金或铟等金属形成的。光敏电阻器通常由光敏层、玻璃基片(或树脂防潮膜)和电极等组成。光敏电阻器在电路中用字母“R”或“RL”、“RG”表示。
**主要参数与特性:**
**光电流、亮电阻:**
光敏电阻器在一定的外加电压下,当有光照射时,流过的电流称为光电流,外加电压与光电流之比称为亮电阻,常用“100LX”表示。
**暗电流、暗电阻:**
光敏电阻在一定的外加电压下,当没有光照射的时候,流过的电流称为暗电流。外加电压与暗电流之比称为暗电阻,常用“0LX”表示。
**灵敏度:**
灵敏度是指光敏电阻不受光照射时的电阻值(暗电阻)与受光照射时的电阻值(亮电阻)的相对变化值。
**光谱响应:**
光谱响应又称光谱灵敏度,是指光敏电阻在不同波长的单色光照射下的灵敏度。若将不同波长下的灵敏度画成曲线,就可以得到光谱响应的曲线。
**光照特性:**
光照特性指光敏电阻输出的电信号随光照度而变化的特性。从光敏电阻的光照特性曲线可以看出,随着的光照强度的增加,光敏电阻的阻值开始迅速下降。若进一步增大光照强度,则电阻值变化减小,然后逐渐趋向平缓。在大多数情况下,该特性为非线性。
**伏安特性曲线:**
伏安特性曲线用来描述光敏电阻的外加电压与光电流的关系,对于光敏器件来说,其光电流随外加电压的增大而增大。
**温度系数:**
光敏电阻的光电效应受温度影响较大,部分光敏电阻在低温下的光电灵敏较高,而在高温下的灵敏度则较低。
**额定功率:**
额定功率是指光敏电阻用于某种线路中所允许消耗的功率,当温度升高时,其消耗的功率就降低。
## 六、程序编写[/md]
- int sensorPin = A0; // 模拟输入引脚
- int ledPin = 13; // led 指示灯引脚
- int sensorValue = 0; // 模拟输入数值变量
- void setup()
- {
- pinMode(ledPin, OUTPUT);
- }
- void loop()
- {
- sensorValue = analogRead(sensorPin); // 读取电位器电压值
- digitalWrite(ledPin, HIGH); // 点亮 led
- delay(sensorValue); // 使用读取的这个模拟量值作为演示时间,单位 ms,范围 0-
- 1023;
- digitalWrite(ledPin, LOW); // 熄灭 led
- delay(sensorValue); // 使用读取的这个模拟量值作为演示时间,单位 ms,范围 0-
- 1023;
- }
复制代码
[md]
## 七、程序知识要点
loop()
在 setup() 函数中初始化和定义了变量,然后执行 loop() 函数。顾名思义,该函数在程序运行过程中不断的循环,根据一些反馈,相应改变执行情况。通过该函数动态控制控制器的各项操作。
示例[/md]
- int buttonPin = 3;
- // setup 中初始化串口和按键针脚.
- void setup()
- {
- beginSerial(9600);
- pinMode(buttonPin, INPUT);
- }
-
- // loop 中每次都检查按钮,如果按钮被按下,就发送信息到串口
- void loop()
- {
- if (digitalRead(buttonPin) == HIGH)
- serialWrite('H');
- else
- serialWrite('L');
-
- delay(1000);
- }
复制代码
[md]
## 八、拓展阅读
同光敏电阻相似的还有我们的热敏电阻
上图是一种测温型NTC热敏电阻,由于热敏电阻应用广泛,种类繁多,这里进针一种进行讲解,NTC(Negative Temperature Coeff1Cient)是指随温度上升电阻呈指数关系减小、具有负温度系数的热敏电阻现象和材料。该材料是利用锰、铜、硅、钴、铁、镍、锌等两种或两种以上的金属氧化物进行充分混合、成型、烧结等工艺而成的半导体陶瓷,可制成具有负温度系数(NTC)的热敏电阻.其电阻率和材料常数随材料成分比例、烧结气氛、烧结温度和结构状态不同而变化。现在还出现了以碳化硅、硒化锡、氮化钽等为代表的非氧化物系NTC 热敏电阻材料。由于热敏电阻与温度的变化曲线是非线性的,而 8位单片机的计算能力有限,所以为了简单实用,摒弃了复杂的计算公式,采用查表法算取温度值。温度精度值取决于 AD 采样精度、温度表格精度和热敏电阻精度。
硬件链接的方法与光敏电阻相同,在这里不单独示图
具体程序如下:
[/md]
- int sensorPin = A0; // 模拟输入引脚
- int ledPin = 13; // led 指示灯引脚
- int sensorValue = 0; // 模拟输入数值变量
- void setup() {
- // 声明引脚为输出模式
- pinMode(ledPin, OUTPUT);
- }
- void loop() {
- // 读取电位器电压值
- sensorValue = analogRead(sensorPin);
- digitalWrite(ledPin, HIGH);
- // 使用读取的这个模拟量值作为演示时间,单位 ms,范围 0-1023
- delay(sensorValue);
- digitalWrite(ledPin, LOW);
- // 使用读取的这个模拟量值作为演示时间,单位 ms,范围 0-1023
- delay(sensorValue);
- }
复制代码 |
|