2340
装饰灯具家居RRT-W“Evlampiya”
坦率地说,我不记得这一切是如何开始的。假设,我再一次很无聊,想一些轻在隧道的尽头,虽然,至少在开始。一点一点的愿望形状夜灯,轮流上挥了挥手。随后转化成一种装饰灯亮度可调,深浅不同的发光和各种额外的功能。也就是说,后面的温度显示和照明控制室。
而这一切都是因为来自宜家,一对夫妇的米LED灯条,Arduino的,而极少数模块和组件的最廉价的内部灯。
符合Evlampiya H4>我想某种官僚语言,如“灯RRT-Z”Evlampiya“旨在用于建筑物内装饰的目的”,但后来有必要写写严格遵守指令,什么都没有。所以我会比较容易,特别是因为它是管理Evlampiev的基本原则。
。
所以她能:
1)工作夜灯 B>。光打开和关闭他的手在灯的水平扫描。
2)工作灯背景光 B>。亮度调整手的上下移动在灯。
3)表示在街上的温度。更确切地说 - 可视化的温度范围。每个波段 - 它的颜色。从对射天气传感器接收的数据。
4)工作装饰灯罩用手动更改 B>。色调改变手的上下移动在灯。
5)工作装饰灯罩有周期性变化 B>。
6)可控制光在房间里* B>。双手抱在一定高度正常灯开关和顶灯背景。如果灯罩手掌,那三秒掉整个通用顶灯公寓和背景后 - 在房间里
*控制和开关LIVOLO收音机花环芯片SC / PT2260 / 2262和类似用途固定代码。
正如你可能已经猜到,灯的控制水平和垂直运动。在这种情况下,控制或灯,或开关模式在一个圆圈的水平扫描(灯,温度计,手彩虹,彩虹自动)。
原因是,我想以某种方式摆脱所有控制台,开关等vayfay。要知道,光线和阴影依赖,可以这么说,花招。当然,另一方面,提到有条件的 - 适合任何障碍。但是,由于人们通常的手,而不是障碍,在未来的 - 手
鉴于这种特殊性选择传感器 - 红外测距仪夏普,哪一个人写道,在目标设备 - 自动便池和其他感兴趣的是怎样的一个小便池,如果一些传感器系列的最大工作约40厘米的距离。另一方面,我知道,这些传感器可用于机器人真空清洁器,以防止碰撞的障碍。
不是本质。
所选传感器的工作距离 - 80厘米(虽然实际上,似乎是更加),其中,输出电压越高,越接近物体。但有一个障碍物接近在该电压下降的阈值,尽管障碍物变得更接近的事实。不愉快的,但不是致命的,尤其是在我的情况下,它是大约4英寸,这可以弥补“凹陷”到传感器的设计。
选择传感器后,我突然意识到,仅仅照亮够我。并希望彩虹,和许多其他包子 - 一旦还在管会的控制器,其资源不被使用。这样的组件的列表出现LED RGB磁带而不是简单的发射器和接收器433兆赫,以及晶体管组件,用于控制磁带。最后似乎不仅仅是几个场效应晶体管更具吸引力,不要问为什么。
没有留下任何含糊之处。接收器需要获取温度和外部命令数据 - 实际上这将是愚蠢的错过机会,打开和关闭与远程的背景照明灯。发射机是必需的,以控制外部光:常规无线电控制插座的基础,并通过无线电顶端上的背景切换LIVOLO
。
附件 H4>总之,我从宜家,调试手帕的Arduino Pro的迷你,原型板,距离传感器夏普,接收器和发射器与调幅在银行下433 MHz的RGB-LED带一盏灯啤酒瓶饮用水,一盒牙粉,AC适配器,9V,紧固件等极少数的小电线。不,这是足以重振轨道站“和平号”,但Evlampiev完全够用。
所以(链接仅为例):
- 灯盖伦;
- 红外距离传感器<一href="http://www.aliexpress.com/item/Free-Shipping-1PC-GP2Y0A2YK-IR-Infrared-Range-Sensor-With-Cable-For-Arduino-Sharp/1815373464.html">Sharp GP2Y0A21YK ,这只是数据表;
- Приемник 433兆赫 - 因为超外差接收器再生,我很失望。要么是因为他们,或者因为我不能做正常的天线;
- Передатчик 433兆赫的主观 - 相当不错的,此外,由于天线;
- Arduino临迷你;
- 晶体管组装 ULN2003A ;
- LED灯条RGB - 味,我买了下线;
- 网络适配器 - 也尝尝,我躺在一些老9V(12V时,它可能会更好 - 事实上在磁带12B);
- 0.5升出任何饮料铝罐;
- 塑料瓶,其直径的内径铝罐;
- 银行洁齿直径与灯的内直径。 类似于一个(我买了在便利店);
- 原型板,建筑电线 - 味;
- 可选:电容10 uF的0.1 uF的10K电阻
。
驾驶 H4>
电容和上拉电阻可选的,并且在图中没有给出。我用它们作为对误报活动的一部分,但最终事实证明,假体势的任何东西。
。我希望更多或更少的正确绘制。
。还有貌似根据该计划发生了什么事。对不起,这是丑陋的。我相信你一定会更好!
一定要注意营养的红外传感器和接收器。它们需要不超过5V以上,因此它们从稳定的Arduino吃,而不是直接从电源。
奇迹 H4>组装这一切到一个单元的
奇迹忙着绝对令人难以置信。首先,除了从宜家灯还需要一个塑料瓶上的容量为0.5升,铝罐中的相同容量的任何饮料和塑料可以牙粉。这是因为在我的头上有一个概念如下:RGB-胶带粘在铝罐。原来中国著名的“kukuruzin”,这是摆在天花板灯具内部的一些模拟。
。原装灯泡,精心划分为部分
银行需要服务于某种散热片,并没有办法观察制定了这样的光发射器的几何形状。在创作者(即我)的计划,同一家银行,并符合控制板。但作为该行的金属,则短路保护原始:铺设预修整内的塑料瓶,其用作绝缘体
因此,法Eulampia:瓶子的外径不能超过罐的内径
。
至于从牙粉的银行,它要求:第一,或多或少美观盖,防止灰尘和窥探顶部的灯。并在同一时间 - 这是方便的固定传感器,并放置在接收器到发射器。毕竟,在一个金属可以有生产活动的机会不大。
其他奇迹顺序:
在随机买了一对夫妇的米LED灯条刚好包住罐子 银行仔细切断完美的尖上升到灯 瓶绝缘子完全适合在银行< / 银行从牙粉直径几乎适合天花板的内径。 “几乎”在这种情况下,意味着有轻微违规行为的几何覆盖该部分由于这样的事实,所述壳体银行仍然被压缩,并且部分的事实,罐子的盖子不得不作出用于IR传感器的孔。李> UL > 。约变形
“Kukuruzina”被附加到在该下部安装点常客下部圆顶。当然,这种执着得分手“额外”的元素,但事实仍然存在。
根据我的版本的装配过程如下:
1)切断铝罐的前端切成对应于螺母固定灯座的孔的直径的底孔。螺母粘在银行的底部 - 在未来将被所有拧到盒安装
。
。这样
2)从所述安装墨盒移除其自身的卡盒和细节,防止穿线导线插入孔与插塞的控制器供电。
。
3)在这里,我将不得不仔细地切断在瓶的底部,切断她的鼻子,以便一方面鼻,被放置在靠近河岸的底部,控制器消除与金属壁接触,而在另一方面,使瓶子不突出超过银行高度。但因为这两个搞错了,结果放在瓶的银行底部的底部(与孔,当然,与顶部(切断过度机头向下) - 在瓶子的其余
。
。
4)LED条围绕银行胶合,以便创造LED的足够的密度,同时保持长度(2米)。从银行的底部粘贴,输入引线高达然后降低他们进入罐子,到控制器。
。
5)在一干净锅牙粉做两个大洞。在在发射机的底部和盖二者。开口应不小于传感器的直径。在孔的底部可以是几乎任何形状的,但最佳地为矩形,因为他旁边做了几个更小的孔 - 用于安装螺栓的传感器。封面我很舒服做一个圆形,因为它实际上标志着由冲压件厂,我仔细地把他的正常办公,油漆刀。
。首先,我钻出两个圆形孔的传感器,但是当它变得清晰,它需要从银行的边缘移动,则不得不做出一个真正的“失败”,或者是从银行的底部反映
小心钻了孔的传感器M4(如果有硬件M3 - 把它和不钻)和串烧它的螺丝,螺母锁紧。
。
拧上螺钉仍然在螺母和通过在其银行的底部孔的螺纹,并且在顶部 - 即使在螺母。这样的设计让您可以调整的机械传感器微调基线的位置。展望未来 - 基层是其中Evlampiya认为,她的手被覆盖水平,我们都应该关闭
。
。
该银行还需要孔,接收器和发射器433兆赫,这还必须有或多或少的整齐局促。
6)连接到所述控制器的LED条,红外传感器,发射器和接收器433兆赫。螺纹底部以覆盖电源线和也连接到控制器。
。已经部分地看到一个长方形的洞,在“牙”银行的底部
7)提出的控制器kukuruzinu,关闭整个结构牙粉。
8)?!
9)利润!
算法 H4>在这里,我试图描绘算法内核函数Eulampia,不含无线电管制。此外,该算法 - 可执行周期无限期的一部分
。
代码 H4>
除了代码需要两个库:
RC开关 <一href="https://www.google.ru/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&cad=rja&uact=8&ved=0CDIQFjAD&url=https%3A%2F%2Fdrive.google.com%2Ffile%2Fd%2F0B0DQ7La4EBHlU2ltTmlmeHhya3M%2Fedit%3Fusp%3Dsharing&ei=XqyIVKnYBcv8UIXUgagK&usg=AFQjCNFU-YuHHoOuUCMfhfpfhvdDXPD5rg&sig2=sSvYD5sT0_Wi3xASSEUAgA&bvm=bv.81456516, d.d24“> LIVOLO 此外,您首先需要找出经验,然后在段中的变量设置传感器的范围,这取决于你如何把它。
这个变量的顶部和底部 B>,评论标有“顶部区域调整”和“底部区域的调整»。
该代码也保持调试线 - 如果有必要,可以将
。
附: Evlampiya直到它接收到的温度模式显示它一贯闪烁三种颜色,并切换到下一个模式。
校准的距离范围内的亮度和色调// beta 4版本的按比例调整 - - 加理货//测试3,代码级=&QUOT; CPP&QUOT;&GT 所有由劳累过度 B> <前>&LT收购切换外部光源,灯具遥控器// beta 4版本 - 用于固定色温//公测4压缩输入的温度值 - 调整色温:/ * -35 - -25 -25 0蓝 - 绿松石15 -15 -15 - 淡青色0 50 0 - 15浅绿85 15 - 20 100绿色20 - 25黄绿色170 25 - 30黄红树莓30+ 235 254 // RED:如果(colorV&LT; 100){targetR = colorV * 0.05; }其他{targetR = 5+(colorV-100)* 1.29; } //绿色常亮(colorV&LT; 75){// 0 - 180 targetG = 2.4 * colorV; }如果(colorV&GT; 75安培;&安培; colorV&LT; 100)// {180 - 254 targetG = 180 +(colorV-75)2.96 *; }如果(colorV大于100&安培;&安培; colorV&LT; 150){// 254 targetG = 254; }如果(colorV&GT; 150&安培;&安培; colorV&LT; 200)// {254 - 154 targetG = 254 - (colorV-150)* 2; }如果(colorV&GT; 200){// 154 - 0 targetG = 154 - (colorV-200)* 2.85; } //如果蓝色(colorV&小于100){targetB = 254 - colorV * 2.54; }其他{targetB = colorV * 0.05; } * /#包括和中尉; RCSwitch.h&GT; //控制插座SC2260 / 2262 http://code.google.com/p/rc-switch/的#include&LT; livolo.h&GT; //控制开关LIVOLO的#define txPin 8 //引脚发送LIVOLO LIVOLO(8); //对象LIVOLO RCSwitch是myswitch = RCSwitch(); //对象RC-开关INT weatherData = 0;无符号长dimmerDelay,timerStart,timerStop,timerSwitchStart,timerSwitchStop,timerRange; //定时器诠释prevRange,nowRange,tempRange,switchRange,vectorRange,initRange,测距仪,tempC;字节nightLightLevel,彩虹,三角洲,redB,greenB,blueB,targetL,targetR,targetG,targetB,lastValueRGB;字节lightMode = 0; //模式指示灯(0 - 1小夜灯 - 灯,2 - 温度计,3 - 彩虹手动,4 - 彩虹自动)字节lastMode = 1; //模式的第一个电话总是灯字节valueRGB = 0; //亮度或色彩(标准值nowRange)布尔rainbowUp,followMeLight; //方向彩虹布尔时间= FALSE; // SIGN运行定时器(手放在灯)布尔switchLock = FALSE; // SIGN就切换到去除手灯布尔tempLock =虚假的禁令; // SIGN上显示温度的禁令,以产生一个新的布尔背光= FALSE; // SIGN跑光布尔mainLight = FALSE; //注册工作的天窗布尔夜灯= FALSE; // SIGN夜灯模式布尔tempRcvd = FALSE; // SIGN产生的温度为65 //的#define nightLightLimit亮度夜灯的#define rangePin A0 //的#define redPin障碍物传感器9 //的#define greenPin红,绿,10 // 11 //的#define bluePin蓝色的#define底部630 //底部区域//调整的#define顶部135顶部区域调整20 //三角洲的#define允许在确定的距离的#define shortDelay切换模式350 //延迟偏差#定义longDelay 3000 100 //的#define timeOutRange间隔距离计算必要的,因为&QUOT ;滑&QUOT;手距离改变,并且从而改变亮度或颜色的#define rainbowStep 75 //更改彩虹35 //#定义dimmerStep速度静音夜灯空隙设置(的间隔罩){// Serial.begin(9600); pinMode(rangePin,输入); pinMode(redPin,OUTPUT); pinMode(greenPin,OUTPUT); pinMode(bluePin,OUTPUT); mySwitch.enableTransmit(txPin); //允许保持mySwitch.enableReceive(0); //允许接收(中断0 - &GT; 2脚)rgbLight(0,0,0); //灯关闭lastMode = 1; //首先纳入始终处于轻timerRange =米利斯模式(); //启动定时器定期读取距离nowRange = getRange(); //首先计算距离}无效循环(){//定期计算距离,如果((米利斯() - timerRange)&GT; timeOutRange){//距离计算时代timeOutRange prevRange = nowRange; //)的距离nowRange = getRange(以前的值存储; //距离timerRange =米利斯的当前值(); //重新设置计时器间隔计算距离// Serial.print(&QUOT;范围:&QUOT;); // Serial.println(nowRange); } //然他的手 - 启动定时器和开关(如适用),扣留手 - 服务功能(如需要),如果((nowRange&LT;底部+增量)及;及(nowRange&GT;顶部)){//如果该距离大于阈值且小于所述上边界,如果(nowRange&GT;底部 - 增量){//关灯之前&QUOT;底部&QUOT;作为牵着手与(2 *三角洲)valueRGB = 0完全排除的指标; }否则{valueRGB = 254 - 图(nowRange,顶部,底部,0,254); //把当前值的范围为0 - 254&QUOT;革命&QUOT; } // Serial.print(QUOT; valueRGB:&QUOT); // Serial.println(valueRGB); //彩色地图改变背景和天窗如果(lightMode == 1){//如果灯模式,如果(valueRGB大于70&安培;&安培; valueRGB&LT; 110){//如果在followMeLight的下半部的中间手=真; //消除位调光白光只允许遮阳指标lastValueRGB = valueRGB; //最后的亮度值rgbLight的存储器(0,255,0); //绿颜色的切换的能力&QUOT指示符;邻近&QUOT;光// Serial.println(&QUOT;树立绿色至255 QUOT;); }否则{如果(valueRGB&GT; 175&安培;&安培; valueRGB&LT; 215){//如果在上半部的中间手followMeLight =真; lastValueRGB = valueRGB; //最后的亮度值rgbLight(0,0,255)的存储器; //蓝颜色的切换的能力&QUOT指示符;远&QUOT;光// Serial.println(&QUOT;设置蓝色至255 QUOT;); }其他{如果(valueRGB&GT; 235){//如果手在上限followMeLight = TRUE; lastValueRGB = valueRGB; //最后的亮度值rgbLight的存储器(valueRGB,0,0);