本次试验我们采用光敏电阻模块和声音模块对LED灯进行控制,实现在黑暗条件下利用声音信号控制灯的开关,实现声光控制。
    一、功能说明:有光照的条件下,无论有无声音,灯都不亮;无光照的条件下,当有声音信号时,灯亮5s后熄灭,无声音信号时,灯不亮。
    二、电路设计
    本例需要采用两个传感器,且均为模拟传感器,可将光敏电阻传感器置于A0口,声音传感器置于A1口,LED灯为开关控制,即数字量控制,接数字输出口10。
    第五课 声光控制开关 - 图1
    三、程序流程图
    第五课 声光控制开关 - 图2
    四、程序设计

    1. int shengyinPin = 1;
    2. int shengyinSJ = 0; //定义变量shengyinSJ,存储声音传感器从A0口传递的数据
    3. int guangPin = 0;
    4. int guangSJ = 0 ;//定义变量guangPin,存储光敏电阻传感器从A1口传递的数据
    5. int LedPin = 10; //定义LED的引脚LedPin,控制灯的亮灭
    6. void setup() {
    7. pinMode(LedPin,OUTPUT);
    8. }
    9. void loop() {
    10. shengyinSJ = analogRead(shengyinPin); //读取声音传感器的数据
    11. guangSJ = analogRead(guangPin); //读取光敏电阻传感器的数据
    12. shengyinSJ = shengyinSJ/4;
    13. guangSJ = guangSJ/4; //将声音数据和光敏数据转换为PWM
    14. if((shengyinSJ>200)&&(guangSJ)<200) //条件判断,声音传感器的数据>200,光敏数据<200;即有声音,有光线
    15. {
    16. digitalWrite(LedPin,HIGH);
    17. delay(5000);
    18. digitalWrite(LedPin,LOW); //灯亮5s后熄灭
    19. }
    20. }

    五、功能调试
    有光线时,敲击话筒模块,LED灯不亮,将光敏电阻模块置于黑暗环境,保持安静,灯不亮,敲击话筒,灯亮5s后熄灭。