制作一个“看不到底”的镜子

最近在朋友圈看到了一个这样的东西,当它发光的时候会看到一个好像没有尽头的隧道,不发光的时候就是一个普通的镜子。觉得很有意思就把它做了出来。

效果图

原理

这个装置的核心是半反半透膜(以下简称半反膜),目前一个很主要的应用是贴在门窗上面,可以在白天的时候防止暴晒,和外面看到屋内(当然晚上是不可以的,你可以理解为可以让亮度比较低的一侧能看到比较亮的一侧,但是亮的是看不到暗的一侧的)。另外一个应用是手机的镜面膜,息屛的时候可以让手机的屏幕变成一个镜子,点亮的时候作为一个正常的屏幕使用(当然亮度是有很大损失的-_-)

把半反膜和一个镜子放在一起,那么如果这两者之间有一个东西,就会在两者之间不停地反射,光路会是像下面的样子。如果这个东西恰好亮度比较高,那么现象就会非常的明显。

原理图

于是你在外面看到就是所有透射过来的光线的叠加。之所以你看到光线越靠近中心就越暗,还没有到中心就看不到了主要是因为没经过一次这样的折返光就损失一半以上(因为还有一些镜面和半反膜上的损失),所以损失是指数级的。

制作过程

主要物料清单如下:

  1. 5050灯条(长度和大小有关)
  2. 一个盒子和一个镜子
  3. 一个能放到盒子里面的镜子
  4. Arduino和杜邦线
  5. 半反半透膜

结构部分

内部的结构
侧面视图

大致的过程是把镜子放在盒子里面,在盒子的侧面贴上灯带。最后在最上面覆上半反膜就可以了,但是这里有几点。

首先是我们常见的金属盒子内侧都是银白色的,这会导致它的反光会很高,如果最终的成品有大面积暴露出来的话,会导致LED发出的光纤把整个盒子都照亮,效果会大打折扣。所以如果是这样的话你就要想办法把盒子涂黑,丙烯、标记笔、墨汁都可以。。。

其次是盒子和镜子的大小最好是恰好匹配的,也就是说镜子恰好能放到镜子里面,这样的话灯带围成圆就不会比镜子大很多,才可以从正面看到一整圈的的灯光。如果不行的话就和我一样,用材料把直径缩小,我用的是泡沫塑料,你也可以用任何柔软的不透光的长条状东西围成一个圈来做。

然后是镜子距离半透膜的最好近一点,最好是刚刚能把灯带放进去。因为这样最后圈和圈之间的距离会比较近一点。

最后是形状,理论上一个匹配的方形的盒子和镜子是可以做出一个方形的隧道的,但是我们通常理解的科幻里的隧道大部分都是圆形,所以我做了一个圆形的,你也可以尝试下不同的作品。

电路

电路部分其实很简单的,我用的是5050,因为亮度会比较大一些并且因为5050是RGB可编程的,所以能够实现的功能会比较多些,后面可能还能做一些交互的功能,但是带来的问题就是因为5050需要用驱动器驱动,所以可能需要一些编程的知识,所以如果你不了解这部分的话,用普通的二极管也是可以的,但是记得要选择一些功率比较大的型号。

把Arduino的6号引脚、5V和GND分别连接到灯带的Din、Vcc和GND上,然后用导线把灯带另一端的VCC和GND引出来,然后焊到一个5.5-2.1的接头上,最后买一个这种接头的5V 1A的电源接上就可以了。这个电源会同时给Arduino和灯带供电。

代码

我的代码功能是不断的产生一个随机颜色环绕灯圈,如果你喜欢也可以做自己的效果。我调用了adafruit的NEO pixel的库,如果你以前没有用过这个库的话需要先下载(地址是https://github.com/adafruit/Adafruit_NeoPixel),作用是控制5050的灯带。

    #include <Adafruit_NeoPixel.h>
    #ifdef __AVR__
      #include <avr/power.h>
    #endif

    #define PIN 6                                                                 //引脚要连到一个可以输出PWM信号的引脚,在Arduino上数字前面标有波浪线的引脚上可以输出PWM的

    Adafruit_NeoPixel strip = Adafruit_NeoPixel(38, PIN, NEO_GRB + NEO_KHZ800);  //第一个参数是你使用的灯条包含灯珠的个数
                                                                                 //第二个参数为Din连接到Arduino的引脚
                                                                                 //第三个参数是灯条的型号,通常写这个就可以

    void setup() {

      strip.begin();
      strip.show(); 
      
      randomSeed(analogRead(0));
    }

    void loop() {
      
        colorWipe(strip.Color(random(255), random(255), random(255)), 20); 
     

        colorWipe(strip.Color(0, 0, 0), 20); 
    }

    // Fill the dots one after the other with a color
    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);
      }
    }

要注意的几点

其实这个东西不管是制作还是编程还是电路都还挺简单的,我最初觉得半个小时可能就做完了,然而事实上并不是这样。。

首先是如果你最终只能从侧面看到一条一条的灯光,而正面却看不到一圈一圈的光,那么就说明你的LED围成的灯带太大了,或者镜子离半反膜太远了,这时候缩小灯带和下沉镜子都能实现类似的功能,但是如果这两者都不能的话,有一个神器提供给你:凸面镜。他比平面镜反射的范围会大一些,原理请参考高中(也许是初中)物理书中的相关原理。淘宝30多的7寸或者8寸的镜子一般都是双面的,一边是平面镜,另一边就是凸面镜,你可以买一个回来拆开,把凸面镜拆下来放到盒子里。如果你做的是一个其他尺寸的,可以淘宝买一个镜面PC的凸面镜,我没试过,不过应该效果是一样的。

其次如果你不想在最终的东西里面看到Arduino什么的话,最好是用东西吧镜子垫起来,这样在盒子里面就有一个空隙,可以把Arduino和一些导线藏进去。但是如果你是像我一样的话,记得在Arduino的下面做绝缘,因为盒子内部的镀膜是可以导电的,如果直接放进去的有可能会短路。

最后最后要注意的一点就是,因为这种接头一般常见的都是9-12v的,而我们用的是5V的电源。所以如果你没有搞清楚就把一个大小正好的插头插到留出来的孔上的话,是会把Arduino烧了的。。切记切记。。。我已经因为这个原因损失了4个arduino了。。。或者还是用USB的接头吧。。

总之做什么东西基本上都会碰到这样那样的问题,不过不断摸索的过程也是乐趣的一部分吧。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,214评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,307评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,543评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,221评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,224评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,007评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,313评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,956评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,441评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,925评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,018评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,685评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,234评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,240评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,464评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,467评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,762评论 2 345

推荐阅读更多精彩内容