arduino小夜灯的制作

随着冬天的到来,白天也显得越来越短了,回到家中昏暗的环境容易让我们不小心就绊到脚,因此决定做一盏小夜灯能够在黑暗中照明。

首先,小夜灯所具有的功能当然是能够在黑暗中发光,其次,当白天时小夜灯将会关闭,当然,当没人在的黑夜中,会采用呼吸灯的方式,减少一些能耗。

因此,此次我们需要的材料有:

  • arduino uno
  • 光敏电阻
  • 人体红外传感器

首先从最简单的开始,因为我们将会用到呼吸灯的形式,显然常规的数字口并不能满足我们的需求,取而代之的是PWM口。PWM接口的输出范围在0~255,因为如果没人时并不需要使之达到全亮状态,因此,此处仅取一半的值,代码如下所示:

if (val < 500 && light> 1000) {         //无人光线暗,呼吸灯int i = 0;for (i = 0; i < 100; i++) {analogWrite(LED, i);if (i == 99) {break;}}for (i = 99; i > 0; i--) {analogWrite(LED, i);if (i == 1) {break;}}}

那光线的强度我们则通过光敏电阻的数值来判断,我们可采取如下语句读取数值:

  light = analogRead(LS);Serial.println(light);

当然此处的读数会因为光敏电阻的接线方法不同而不同,因此在你实际操作中应当改变此数值。

人体红外传感器的数值也用类似方式进行读取并简易区别有人与无人时的数值范围。

至此,小夜灯的基本功能也全都完成,具体代码如下:

#define LS A5
int inpin = 0;
int val = 0;
int light = 0;
int LED = 11;
void setup() {// put your setup code here, to run once:pinMode(inpin, INPUT);pinMode(LS, INPUT);pinMode(LED, OUTPUT);Serial.begin(9600);
}void loop() {// put your main code here, to run repeatedly:val = analogRead(inpin);Serial.println(val);light = analogRead(LS);Serial.println(light);delay(500);if (val > 500 && light > 1000) {    //有人并光线暗,开灯analogWrite(LED, 255);}if (val < 500 && light < 900) {    //光线亮无人,关灯analogWrite(LED, 0);}if (val < 500 && light > 1000) {         //无人光线暗,呼吸灯int i = 0;for (i = 0; i < 100; i++) {analogWrite(LED, i);if (i == 99) {break;}}for (i = 99; i > 0; i--) {analogWrite(LED, i);if (i == 1) {break;}}}
}

arduino小夜灯相关推荐

  1. arduino物联网实验:光敏电阻实现光控小夜灯

    arduino物联网实验:光敏电阻实现光控小夜灯 实验材料: Uno R3开发板 配套USB数据线 面包板及配套连接线 1个LED灯 1个220Ω限流电阻 1个光敏电阻 1个1K普通电阻 实验步骤: ...

  2. 工业设计课程作业——基于Arduino制作的宋代点茶文化小夜灯

    文章目录 前言 一.产品介绍 二.代码分享 总结 前言 工业设计--电子信息课程作业,我们第一次使用Arduino制作了一个以宋代点茶文化为背景的带有交互体验的小夜灯. 一.产品介绍 简单介绍一下宋代 ...

  3. 基于Arduino的光控小夜灯

    本篇文章是我的第一篇博客,这是一次物联网课的期末实验.在这个实验中,基于Arduino的使用,我利用了光敏电阻传感器和RGB灯,实现了光控小夜灯的开和关,以下是我的实验过程. 实验硬件设备 Ardui ...

  4. Arduino制作实践课程(3)呼吸灯与声控小夜灯

    上周我们介绍了arduino的数字端口的输入输出的操作,这周的课程我们开始了解arduino对模拟口的操作. 具体我们这里使用呼吸灯.声控小夜灯来呈现. 首先我们通过呼吸灯的程序来熟悉模拟量输出的指令 ...

  5. 基于Arduino之智能小夜灯项目

    基于Arduino之智能小夜灯项目 目录 基于Arduino之智能小夜灯项目 前言 一.功能介绍 二.实物图 三.设置代码 总结 前言 此小灯是我第一次使用Arduino进行操作的实验,它包含了小夜灯 ...

  6. Arduino造轮子—智能小夜灯

    今天练习的程序是实现智能小夜灯的控制,首先,通过太极创客的视频来看看最终的实现结果:

  7. 基于arduino制作定时可调色小夜灯(蓝牙版)

    功能需求 四种灯光模式 :照明灯.呼吸灯.流水灯.七彩灯 可实现99分钟内定时功能 可调节灯光颜色比例,实现任意彩灯切换 远程控制 效果视频 https://v.youku.com/v_show/id ...

  8. Mixly(米思齐)的安装以及实现光控小夜灯

    实验材料 arduino uno R3 USB 数据线 1个小夜灯 YFROBOT UNO I/O扩展板 光敏电阻传感器模块 模块3P连接线x2 硬件连接 制作光敏电阻传感器 Mixly中的图形化界面 ...

  9. Arduino基础项目九:制作感光灯

    一.项目说明 这里我们会使用到光敏电阻这个元件.在黑暗的环境中,光敏电阻具有非常高阻值的电阻.光线越强,电阻值反而越低.通过读取这个电阻值,就可以检查光线的亮暗了.这里选用光敏二极管,光敏二极管其实就 ...

最新文章

  1. VS Code配置PHP XDebug
  2. Python中常用的一些操作总结(未完待续)update @ 2017-5-18
  3. substr vs substring
  4. jvm性能调优实战 - 29使用 jstat 摸清线上系统的JVM运行状况
  5. 大规模计算时代:深度生成模型何去何从
  6. 学会它,可以替你写100行 200行 300行……的代码
  7. 在读博士生 2 年实现 Nature、Science 双发,他来自这所高校!
  8. Windows域环境下的网络问题
  9. 先序中序建立二叉树的递归算法
  10. 金山云肖江:5G推动智慧人居产业到达新高度
  11. 安卓选择多张图片上传_微信7.0.5更新!安卓客户端领先ios发布,新增多项实用功能...
  12. LintCode_514 Paint Fence
  13. c/c++再学习:C与Python相互调用
  14. js学习笔记(新手)
  15. 数组实现c语言学生成绩管理系统
  16. 图解谷歌浏览器Chrome的Logo_longware_新浪博客
  17. python#函数,
  18. mysql水果销售系统数据库_mysql数据库水果销售系统
  19. windows下WNMP(windows+nginx+mysql+php)配置
  20. mac terminal终端打开指定文件夹 当前文件夹打开terminal

热门文章

  1. iPhone忘记密码的找回
  2. java 栈 先进后出_java中的stack
  3. python重复元素判定
  4. python 调用matlab 生成随机数,不随机。matlab随机数不变,随机一直是一个数。 randperm函数随机失败
  5. 【DDS】DDS与OpenDDS
  6. 逻辑运算符 [MySQL][数据库]
  7. 你工作快乐么?你的工作好么?——2011年终倾情奉献
  8. win10linux子系统root权限,Win10 安装适用于Linux的Windows子系统
  9. Win11上安装Ubuntu18.04双系统制作教程
  10. LeetCode 708. 循环有序列表的插入*