实验十二:感光灯

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

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

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

实验器材清单

  1. 光敏电阻 1个
  2. 红色M5直插电阻 1个
  3. 10K欧姆直插电阻 1个
  4. 220欧姆直插电阻 1个
  5. 面包板 1个
  6. 面包板跳线 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_感光灯相关推荐

  1. Ardino基础教程 20_红外遥控

    实验二十:红外遥控 库文件下载链接:ArduinoCode20-红外遥控库代码.zip 注意:把 IRremote 文件夹放到 编译器安装目录下的\Arduino\libraries里.不然编译不过. ...

  2. Ardino基础教程 19_舵机控制

    实验十九:舵机控制 舵机控制实验Servo库版本的代码参考如下链接:ArduinoCode19-舵机控制Servo库版本代码.ino 舵机是一种位置伺服的驱动器,主要是由外壳.电路板.无核心马达.齿轮 ...

  3. Ardino基础教程 15_火焰报警器

    实验十五:火焰报警器 认识火焰传感器 火焰传感器(即红外接收三极管)是机器人专门用来搜寻火源的传感器,本传感器对火焰特别灵敏.实物如图: 火焰传感器利用红外线对火焰非常敏感的特点,使用特制的红外线接收 ...

  4. Ardino基础教程 14_倾斜开关

    实验十四:倾斜开关 倾斜开关控制led灯的亮灭 实验器材清单 滚珠开关 1个 LED灯 1个 220欧姆直插电阻 1个 面包板 1个 面包板跳线 1扎 实验接线图 按照Arduino教程将控制板.扩展 ...

  5. Ardino基础教程 5_按键控制

    实验五:按键控制 I/O 口的意思即为INPUT 接口和OUTPUT 接口,到目前为止我们设计的小灯实验都还只是应用到Arduino 的I/O 口的输出功能,这个实验我们来尝试一下使用Arduino的 ...

  6. Ardino基础教程 2_LED闪烁实验

    实验二:LED 闪烁实验 LED 小灯实验是比较基础的实验之一,上一个" Hello World!"实 验里已经利用到了Arduino 自带的LED,这次我们利用其他I/O 口和 ...

  7. Ardino基础教程 25_8X8LED点阵

    实验二十五:8X8LED点阵 点阵实验另一版本代码参考如下链接下载:ArduinoCode25-8X8LED点阵num.ino 点阵在我们生活中很常见,很多都有用到他,比如LED 广告显示屏,电梯显示 ...

  8. Ardino基础教程 24_RGB全彩LED

    实验二十四:RGB全彩LED 使用三色全彩LED 制造 显示原理,其实原理是在一棵LED 灯里,有三种颜色的灯,红,绿,蓝.每种颜色的灯上的驱动电压不一样,亮度就不一样,它们组合在一起,就形成了各种颜 ...

  9. Ardino基础教程 23_步进电机

    实验二十三:步进电机 步进电机是一种将电脉冲转化为角位移的执行机构.通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角).你可以通过控制脉冲个数来控制 ...

最新文章

  1. wxWidgets:wxInfoBar类用法
  2. ORACLE 数据库安装后,PL/SQL的登录问题完美解决
  3. python语言变量随时声明_2. Go语言五种变量创建的方法
  4. C#中采用OLEDB方式来读取EXCEL文件
  5. TikZ学习笔记(三)图形的标记与交点
  6. 开发落网电台windows phone 8应用的计划(10)-----收尾
  7. 快速JQuery——(第一章)第一个JQuery
  8. set的erase()函数
  9. 指纹对比软件_杰恩世软件平台钢片AOI检测应用
  10. 软件系统设计-13-质量属性
  11. 计算机中.dll文件检查,在电脑中查看并打开dll文件类型的具体方法
  12. python中stop_thread_Python threading.Thread只能用私有方法self来停止.__ Thread_stop()
  13. 男性软件测试师容易找到女朋友吗?
  14. 设计模式初探-观察者模式
  15. 什么是抖音SEO? 抖音SEO优化怎么做?如果做好抖音推广优化呢?
  16. Flink窗口全解析:三种时间窗口、窗口处理函数使用及案例
  17. Java Web实验(二) JSP应用
  18. Mac word文档突然丢失 找回方法
  19. 学位论文中公式按章节编号“一.1”如何变成“1.1”?
  20. CnOpenData中国各省份专利授权数量统计

热门文章

  1. PyCharm的配置与安装
  2. 利用SQL模糊匹配来验证字段是否是日期格式
  3. WPF 之 线程使用
  4. Redis简介 与Memcache的区别
  5. 北邮校园网自动登录 python
  6. linux修改selinux
  7. eclipse常用快捷键排行
  8. UA MATH567 高维统计专题3 含L1-norm的凸优化2 Proximal Gradient Descent
  9. UA MATH575B 数值分析下 统计物理的随机模拟方法4
  10. VC++生成序列号和注册机总结