“光照指示器”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
搭建硬件
第4行: 第4行:
 
|
 
|
 
==目的==
 
==目的==
做一个简单的光照指示器,将光值分为三个等级,通过绿、蓝、红三种颜来反应光的大小。
+
做一个的光照指示器,将光值分为三个等级,通过绿、蓝、红三种颜来反应光的强弱。
 +
[[File:light_indicator-ok.jpg|600px|center|thumb]]
  
 
==原理==
 
==原理==
 +
通过Light光线传感器检测光的强弱,系统判断光强在定义的哪个范围区间,对应让彩灯亮不同颜色,同时,在同一区间内光越强,颜色越亮。
 +
[[File:light_indicator-sch.jpg|600px|center|thumb]]
  
 
==设备==
 
==设备==
第13行: 第16行:
 
|模块||数量||功能
 
|模块||数量||功能
 
|-
 
|-
|[[Microduino-CoreUSB/zh]]||1||核心板
+
|[[mCookie-CoreUSB/zh]]||1||核心板
 
|-
 
|-
 
|[[Microduino-Sensorhub/zh]]||1||传感器转接板
 
|[[Microduino-Sensorhub/zh]]||1||传感器转接板
第19行: 第22行:
 
|[[Microduino-Light/zh]]||1||光敏传感器
 
|[[Microduino-Light/zh]]||1||光敏传感器
 
|-
 
|-
|[[Microduino-Colorled/zh]]||1||彩色led灯
+
|[[Microduino-Color led/zh]]||1||彩色led灯
 
|-
 
|-
| [[Microduino-BM/zh]]||1||电池管理
+
| [[mCookie-BM/zh]]||1||电池管理
 
|}
 
|}
 +
[[File:light_indicator-module.jpg|600px|center|thumb]]
  
[[File:light_indicator.jpg|600px|center|thumb]]
+
==准备==
 
+
*Setup 1:用USB线将CoreUSB模块与PC/Mac相连,并打开Arduino IDE。
==搭建硬件==
+
[[File:CoreUSB_Ble_pc.jpg|600px|center]]
*Setup 1:将CoreUSB接到电脑。打开示例程序,选择好板卡(Microduino-CoreUSB)和串口下载程序。
+
*Setup 2:下载程序: [https://github.com/Microduino/Microduino_Tutorials/blob/master/MCookie_Tutorial/light_led/light_led.ino light_led]
[https://github.com/Microduino/Microduino_Tutorials/blob/master/MCookie_Tutorial/light_led/light_led.ino light_led]
+
[[File: light_indicator-sch.jpg|600px|center]]
*Setup2:将光敏电阻接到Sensorhub的A0引脚上,将彩色led灯接到D6引脚上。
+
* Setup 3:加载代码,将程序代买拷贝到IDE中。程序编译通过后选择好板卡和COM端口下载程序。
[[file:Microduino-sensorhub_rule.JPG|thumb|800px|center]]
+
==程序说明==
[[file: light_indicator _A0_6.JPG|thumb|800px|center]]
+
*传感器引脚定义,彩灯接D6,光照传感器接A0
*Setup5:将CoreUSB、Sensorhub、BM叠堆
 
[[file: light_indicator_module.JPG|thumb|800px|center]]
 
*Setup6:将电池接到BM上
 
[[file: light_indicator _bm.JPG|thumb|800px|center]]
 
 
 
==软件调试==
 
代码说明,一部分获取传感器值,另一部分根据传感器的值控制led亮度和颜色的变化。
 
*传感器引脚定义
 
 
<source lang="cpp">
 
<source lang="cpp">
 
#define PIN 6
 
#define PIN 6
第66行: 第62行:
 
     colorWipe(strip.Color(map(sensorValue, 800, 960, 0, 255), 0, 0));
 
     colorWipe(strip.Color(map(sensorValue, 800, 960, 0, 255), 0, 0));
 
</source>
 
</source>
 +
*“map(val,x,y,m,n)”函数为映射函数,可将某个区间的值(x-y)变幻成(m-n),val则是你需要用来映射的数据。
  
 +
==搭建硬件==
 +
*Setup 1:将光敏电阻接到Sensorhub的A0引脚上,将彩色led灯接到D6引脚上。
 +
[[file: light_indicator _A0_6.JPG|thumb|800px|center]]
 +
*Setup 2:将激活后的电池盒与BM模块相连.
 +
[[File:CoreUSB_Ble_steup2.jpg|600px|center]]
 +
*Setup 3:将所有模块堆叠在一起,顺序随意,电路部分搭建完成。
 +
[[File: ight_indicator_steup-all.jpg|600px|center]]
 
==结果==
 
==结果==
 
改变光的环境,光从暗到亮颜色依次变化为绿-蓝-红,并且光越弱,亮度越低。
 
改变光的环境,光从暗到亮颜色依次变化为绿-蓝-红,并且光越弱,亮度越低。

2015年9月9日 (三) 04:24的版本

Language English

目的

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

原理

通过Light光线传感器检测光的强弱,系统判断光强在定义的哪个范围区间,对应让彩灯亮不同颜色,同时,在同一区间内光越强,颜色越亮。

设备

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

准备

  • Setup 1:用USB线将CoreUSB模块与PC/Mac相连,并打开Arduino IDE。
  • Setup 3:加载代码,将程序代买拷贝到IDE中。程序编译通过后选择好板卡和COM端口下载程序。

程序说明

  • 传感器引脚定义,彩灯接D6,光照传感器接A0
#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));
  • “map(val,x,y,m,n)”函数为映射函数,可将某个区间的值(x-y)变幻成(m-n),val则是你需要用来映射的数据。

搭建硬件

  • Setup 1:将光敏电阻接到Sensorhub的A0引脚上,将彩色led灯接到D6引脚上。
  • Setup 2:将激活后的电池盒与BM模块相连.
CoreUSB Ble steup2.jpg
  • Setup 3:将所有模块堆叠在一起,顺序随意,电路部分搭建完成。

结果

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

视频