欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

Ardino基础教程 12_感光灯

发布时间:2025/4/5 编程问答 54 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Ardino基础教程 12_感光灯 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

实验十二:感光灯

完成以上的各种实验后,我们对Arduino 的应用也应该有一些认识和了解了,在基本的数字量输入输出和模拟量输入以及PWM 的产生都掌握以后,我们就可以开始进行一些传感器的应用了。

光敏电阻器(photovaristor)又叫光感电阻,是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器;入射光强,电阻减小,入射光弱,电阻增大。光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化)。光敏电阻可广泛应用于各种光控电路,如对灯光的控制、调节等场合,也可用于光控开关。

本次实验我们先进行一个较为简单的光敏电阻的使用实验。光敏电阻既然是可以根据光强改变阻值的元件,自然也需要模拟口读取模拟值了,本实验可以借鉴PWM 接口实验,将电位计换做光敏电阻实现当光强不同时LED 小灯的亮度也会有相应的变化。

实验器材清单

  • 光敏电阻 1个
  • 红色M5直插电阻 1个
  • 10K欧姆直插电阻 1个
  • 220欧姆直插电阻 1个
  • 面包板 1个
  • 面包板跳线 1扎
  • 实验原理图



    连接好就可以编写程序了,本实验程序与PWM 实验程序相类似只是在PWM 值赋值时根据我们现在的电路稍有修改(修改部分见参考源程序)。


    参考源程序:
    int potpin=0;//定义模拟接口0 连接光敏电阻
    int ledpin=11;//定义数字接口11 输出PWM 调节LED 亮度
    int val=0;//定义变量val
    void setup()
    {
    pinMode(ledpin,OUTPUT);//定义数字接口11 为输出
    Serial.begin(9600);//设置波特率为9600
    }
    void loop()
    {
    val=analogRead(potpin);//读取传感器的模拟值并赋值给val
    Serial.println(val);//显示val 变量数值
    analogWrite(ledpin,val);// 打开LED 并设置亮度(PWM 输出最大
    值255)
    delay(10);//延时0.01 秒
    }


    这里我们将传感器返回值除以4,原因是模拟输入analogRead()函数的返回值范围是0 到1023,而模拟输出analogWrite()函数的输出值范围是0 到255。下载完程序再试着改变光敏电阻所在的环境的光强度就可以看到我们的小灯有相应的变化了。在日常生活中光敏电阻的应用是很广泛的,用法也是很多,大家可以根据这个实验举一反三,做出更好的互动作品。

    程序代码

    int potpin=0;//定义模拟接口0 连接光敏电阻 int ledpin=11;//定义数字接口11 输出PWM 调节LED 亮度 int val=0;//定义变量val void setup() { pinMode(ledpin,OUTPUT);//定义数字接口11 为输出 Serial.begin(9600);//设置波特率为9600 } void loop() { val=analogRead(potpin);//读取传感器的模拟值并赋值给val Serial.println(val);//显示val 变量数值 analogWrite(ledpin,val);// 打开LED 并设置亮度(PWM 输出最大值255) delay(10);//延时0.01 秒 }

    总结

    以上是生活随笔为你收集整理的Ardino基础教程 12_感光灯的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。