通常由光敏层、玻璃基片(或树枝防潮膜)和电极等组成的。
光敏电阻器是利用半导体光电导效应制成的一种特殊电阻器,对光线十分敏感,它的电阻值能随着外界光照强弱(明暗)变化而变化。它在无光照射时,呈高阻状态;当有光照射时,其电阻值迅速减小。
广泛应用于各种自动控制电路(如自动照明灯控制电路、自动报警电路等)、家用电器(如电视机中的亮度自动调节,照相机的自动曝光控制等)及各种测量仪器中。
1)亮电阻(kΩ):指光敏电阻器受到光照射时的电阻值。
2)暗电阻(MΩ):指光敏电阻器在无光照射(黑暗环境)时的电阻值。
3)最高工作电压(V):指光敏电阻器在额定功率下所允许承受的最高电压
4)亮电流:指光敏电阻器在规定的外加电压下受到光照射时所通过的电流。
5)暗电流(mA):指在无光照射时,光敏电阻器在规定的外加电压下通过的电流。
6)时间常数(s):指光敏电阻器从光照跃变开始到稳定亮电流的63%时所需的时间。
7)电阻温度系数:指光敏电阻器在环境温度改变1℃时,其电阻值的相对变化。
8)灵敏度:指光敏电阻器在有光照射和无光照射时电阻值的相对变化。
定义程序
#ifndef __GUANGMIN_DO_H#define __GUANGMIN_DO_H#include "stm32f10x.h"#define guangmin_OUT GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_3) void guangmin_Init(void);#endif /* __GUANGMIN_DO_H */
#include "guangmin_DO.h"void guangmin_Init(void){ GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(GPIOA, &GPIO_InitStructure);}
声音传感器是通过麦克风接收声音信号转化为音频信号,根据音频的变化确定电压的变化,从而输出所感知的声音信号的强度。
声音传感器一般有四个接口,AO表示模拟量输出,用来实时输出麦克风所检测声音电压信号,DO表示当声音到达某个阈值时,输出高低电平信号。
#ifndef __shengyin_H#define __shengyin_H#include "stm32f10x.h"#define shengyin_OUT GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_4) void shengyin_Init(void);#endif /* __SHENGYIN_H */
#include "shengyin.h"void shengyin_Init(void){ GPIO_InitTypeDef GPIO_InitStructure1; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); GPIO_InitStructure1.GPIO_Pin = GPIO_Pin_4; GPIO_InitStructure1.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(GPIOA, &GPIO_InitStructure1);}
定义程序
#ifndef __LED_H#define __LED_H#include "stm32f10x.h"#include "delay.h"#define LED PAout(8)void LED_Init(void);#endif /* __LED_H */
#include "LED.h"#include "stm32f10x_gpio.h"#include "delay.h"void LED_Init(void){ GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); //使能时钟 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); LED = 1; }
主函数
if(shengyin_OUT==0 && guangmin_OUT) { LED = 0; } else { LED = 1; }