开源智能蓝牙彩灯照明器(体感)/zh

来自Microduino Wikipedia
Jialexd@foxmail.com讨论 | 贡献2016年3月4日 (五) 06:38的版本 概述
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索
Language English

概述

  • 项目名称:开源智能蓝牙彩灯照明器(体感)
  • 目的:通过小球滚动改变姿态发出不同颜色的灯光
  • 难度:中
  • 耗时:2小时
  • 制作者:
  • 责任编辑:jiale
  • 简介:

本次教程我们将使用Microduino产品模块快速搭建一个体感小球彩灯, 该彩灯通过姿态传感器Microduino-Module Motion/zh采集姿态数据并反映到ColorLED灯组上,使得小球在滚动中可以根据姿态变幻颜色。

材料清单

  • Microduino设备
模块 数量 功能
Microduino-Core/zh 1 核心板
Microduino-USBTTL/zh 1 下载程序
Microduino-Sensorhub/zh 1 传感器底板
Microduino-Module Motion/zh 1 采集姿态数据
Microduino-BM/zh 1 电源管理
Microduino-Color led/zh 1 彩色灯光
  • 其他设备
模块 数量 功能
Micro-USB线 1 下载程序、供电
木质外壳套件 1 外观,固定
仓鼠球 1 外观,固定

实验原理

整个系统由姿态获取部分和彩灯控制两个部分组成,姿态获取部分使用Microduino-Motion传感器获取三轴姿态数据,每一个不同的角度对应的数值都不相同,之后根据获得的数值控制彩灯的颜色变幻。彩灯使用Microduino-ColorLED,串联方式连接,每个像素点的三基色颜色可实现256级亮度显示,完成16777216种颜色的全真色彩显示,扫描频率不低于400Hz/s

Motionball1.jpg
  • 主要传感器

Microduino-Module Motion/zh

文档

体感球灯:【体感小球代码

体感球灯github: MotionBall

调试

Microduino-CoreMicroduino-USBTTL叠加(无上下顺序),通过USB数据与电脑连接起来。 注意:最好不要将所有模块堆叠在一起之后再上传程序

打开Arduino IDE编程软件,点击 【文件】->【打开】,打开文件夹后选择body_welcome.ino

Motionballdl2.jpg

点击"√",编译程序。 点击【工具】,在板选项里面选择板卡(Microduino-Core),在处理器选项里面选择处理器(Atmega328p@16M,5V),再在端口选项里面选择正确的端口号,然后直接烧录程序。 点击"→",进行上传。

Motionballdl3.jpg

拼装

  • Step1:

首先使用螺丝将Microduino-ColorLED固定在侧板上(共6块)

Motionballstruct1.jpg
  • Step2:

首先将四块侧板,两对边向上,两对边向下(如图4.6所示)注意:木板中部有变宽部分,以此分辨上下方向

Motionballstruct2.jpg

按照如图的方式放进圆形外框中

Motionballstruct3.jpg

将两边的木板轻微向外分开,之后开始连接ColorLED的连线。

Motionballstruct4.png

任选一个ColorLED作为第一个,用一根传感器连接线一端连接Microduino-Sensorhub的A0/A1接口另一端连接ColorLED的IN接口。

Motionballstruct5.jpg

之后继续用传感器线连接第一个ColorLED的OUT接口和下一个ColorLED的IN接口。以此类推(上一个的OUT连接下一个的IN),先连接好除开关木板以外的其他5块木板。最后,将”底板”上的ColorLED作为倒数第二个LED,使用传感器线连接好IN和OUT接口,并且将OUT接口的传感器线通过方块中心伸到对面,准备连接开关木板上的ColorLED。这个过程比较繁琐,只要抓住核心原则,上一个ColorLED的OUT连接下一个ColorLED的IN即可。 最后给BM模块上连接好电池,将BM与其他模块插接好,并且开关木板上的ColorLED连接好底板上拉过来的传感器连线,将所有连线与模块、电池一起放入方块中,盖好即可。

Motionballstruct6.jpg

最后将圆形板放入小球中,四个凹孔对应小球上的四个螺丝孔,此时注意,将开关板的一面和小球有旋盖的一面对应好。之后将小球盖好,用长螺丝拧紧。 打开开关,此时会看到所有灯都亮起,之后可以滚动小球,就会看到所有LED炫酷的颜色变化啦。

Motionballstruct7.jpg

注意事项

注意将开关部分向上,即仓鼠球的开盖方向。

操作说明

连接好锂电池并盖好开关一侧的木板,之后将仓鼠球四周螺丝拧好。之后打开仓鼠球的顶盖并打开开关,四周的LED灯就可以发亮了,变换仓鼠球的角度可以观察到彩灯绚丽的颜色变化。

程序说明

主程序部分

void loop() 
{ 
    strip.begin(); 
    strip.show(); // Initialize all pixels to 'off' 
    getMPU(); 
 
    colorWipe(strip.Color(Angel_accX, Angel_accY, Angel_accZ), 10); 
    safe_ms = millis(); 
} 

ColorLED控制部分

void colorWipe(uint32_t c, uint8_t wait) 
{ 
    for(uint16_t i = 0; i < strip.numPixels(); i++) 
    { 
        strip.setPixelColor(i, c); 
        strip.show(); 
        delay(wait); 
    } 
} 

视频