光照指示器

来自Microduino Wikipedia
853387039@qq.com讨论 | 贡献2015年6月24日 (三) 09:24的版本 搭建硬件
跳转至: 导航搜索
Language English

目的

做一个简单的光照指示器,将光值分为三个等级,通过绿、蓝、红三种颜来反应光的大小。

原理

设备

模块 数量 功能
Microduino-CoreUSB/zh 1 核心板
Microduino-Sensorhub/zh 1 传感器转接板
Microduino-Light/zh 1 光敏传感器
Microduino-Colorled/zh 1 彩色led灯
Microduino-BM/zh 1 电池管理

搭建硬件

  • Setup 1:将CoreUSB接到电脑。打开示例程序,选择好板卡(Microduino-CoreUSB)和串口下载程序。

light_led

  • Setup2:将光敏电阻接到Sensorhub的A0引脚上,将彩色led灯接到D6引脚上。
Microduino-sensorhub rule.JPG
  • Setup5:将CoreUSB、Sensorhub、BM叠堆
  • Setup6:将电池接到BM上

软件调试

代码说明,一部分获取传感器值,另一部分根据传感器的值控制led亮度和颜色的变化。

  • 传感器引脚定义
#define PIN 6
Adafruit_NeoPixel strip = Adafruit_NeoPixel(1, PIN, NEO_GRB + NEO_KHZ800);

#define Light_PIN A0
  • 光强预设值,可以把光分为3个阶级。
#define Light_value1 400
#define Light_value2 800
  • 光检测
sensorValue = analogRead(Light_PIN);
  • 彩色led灯根据光强调节颜色和亮度。
if (sensorValue < Light_value1)
    colorWipe(strip.Color(0, map(sensorValue, 10, 400, 0, 255), 0));
  else if (sensorValue >= Light_value1 && sensorValue < Light_value2)
    colorWipe(strip.Color(0, 0, map(sensorValue, 400, 800, 0, 255)));
  else if (Light_value2 >= 800)
    colorWipe(strip.Color(map(sensorValue, 800, 960, 0, 255), 0, 0));

结果

改变光的环境,光从暗到亮颜色依次变化为绿-蓝-红,并且光越弱,亮度越低。 你也可以通过乐高搭建一个漂亮的外观。

视频