会发光的鞋!

标签:Teensy NeoPixel DIY 改装

弹力女超人 发布于 2016-09-09 23:42

会发光的鞋16.jpg
亲爱的朋友们,我最近做了一双会发光的鞋。几乎每个孩子小时候都穿过会闪闪发光的鞋,可是大人呢?我曾试着找找有没有卖大人能穿的会发光的鞋,结果却令人失望,虽然好不容易找到了几个卖家,但是成人的会发光的鞋都是天价,有一双甚至高达6500软妹币!哦,卖糕的!我还是自己做一双吧!

作品还没有特别完善,但是借助创酷的平台,希望能吸引有兴趣的同道中人一起来讨论和做着玩!

需要用的材料:

2Teensy 2.0微控制器

Adafruit NeoPixel 数码RGB LED灯带

4Flexiforce 压力传感器(100lbs)

2个4*AA 碱性电池组 或 2个3*AAA可充电的镍锌电池组

4个1N4001二极管(用4*AA 碱性电池组时才要用到它,如果你用可充电电池,则不需要它)

2只厚底鞋

2个1000uF电容

4个1M的电阻

2个10k的电阻

防水强力胶、焊烙铁 焊锡、绝缘胶带、针线包


(via instructables)

Step 1: 在鞋上粘贴LED灯带

会发光的鞋step1.jpg

首先准备好你要DIY的鞋!讲真,只要鞋底够厚,鞋内垫能拿出来的鞋都可以,传感器要装在又硬又平的没有鞋垫的鞋内侧。

如果鞋是穿过的,那么在粘NeoPixel之前,要先清理下。一点点灰尘或脏东西都可能会影响粘贴的过程。虽然不一定非要绝对无尘,但是要确保没有任何的小颗粒。

我们的目标是用NeoPixel灯带围鞋粘一圈,但是因为要沿着设计好的切割点切开,它可能不能很完美的适合这个长度,所以最好从鞋的脚后跟的位置开始逆时针环绕。这样,可能产生的小空隙就没有那么明显啦!

接下来用防水强力胶把Neopixel粘到鞋上。每次只粘几寸,这样随时调整,确保粘的好看些。注意,千万不要在鞋弯曲最多的地方(脚掌)粘上胶,这样在你走路的时候,这个部位可以松弛,不会破坏Neopixels

在等待胶水晾干的时候,可以用橡皮筋固定NeoPixel。

Step 2: 给Teensy编程

会发光的鞋8.jpg

Teensy能与Arduino完全兼容,还可以选择自动安装很多库,包括这个项目要用的Adafruit ones。

一定要有Adafruit NeoPixel 库。

根据你鞋上的LED的数量编辑"int nLEDs = 20;" 还可以修改“int color”这部分,改变默认的LED的颜色

你可能需要看看Teensy 2.0各管脚的电路,这样就知道Teensy是如何与各部分代码连接的


=======以下是代码======

//thanks to Adafruit for the example RGB LED code and libraries

#include "SPI.h"
#include "Adafruit_NeoPixel.h"
/**********************************************/

// Number of RGB LEDs in strand:
int nLEDs = 20;

// Chose a pin for output; can be any valid output pin:
int dataPin  = 15;

//make an instance of the strip object
Adafruit_NeoPixel strip = Adafruit_NeoPixel(nLEDs, dataPin, NEO_GRB + NEO_KHZ800);

//runs on power on
void setup() {
  // Start up the LED strip
  strip.begin();

  // Update the strip, to start they are all 'off'
  strip.show();
}

//repeats while on
void loop() {
  //read the front(A0) and back(A1) force sensor values
  int forceReading1=analogRead(A0);
  int forceReading2=analogRead(A1);
  
  //iterate throught the LEDs(only half way because the shoe is a mirror image
  for (int i=0; i < strip.numPixels()/2; i++) {
      //set the current LED and its mirrored pair to a combination of the front and back force sensor readings, proportional to their distance from each sensor
      strip.setPixelColor(i, getColorFromForce((forceReading1*i+forceReading2*((strip.numPixels()/2)-i-1))/10));
      strip.setPixelColor(strip.numPixels()-i-1, getColorFromForce((forceReading1*i+forceReading2*((strip.numPixels()/2)-i-1))/10));
    }
    //send the new colors to the strip
  strip.show();
}

//helper function that shifts and scales the force reading to a range of 0-384(for the color wheel function)
uint32_t getColorFromForce(int force){
  //the shift and scaling factors were found experimentally
  int color=(force-350)/1.3;
  if (color>350){
    color=350;
  }
  else if (color<0){
    color=0;
  }
  //return the color that matches the force
  return Wheel(color);
}

//Input a value 0 to 384 to get a color value.
//The colours are a transition b - g -r - back to b
uint32_t Wheel(uint16_t WheelPos)
{
  byte r, g, b;
  switch(WheelPos / 128)
  {
    case 0:
      b = 127 - WheelPos % 128;   //blue down
      g = WheelPos % 128;      // Green up
      r = 0;                  //red off
      break; 
    case 1:
      g = 127 - WheelPos % 128;  //green down
      r = WheelPos % 128;      //red up
      b = 0;                  //blue off
      break; 
    case 2:
      r = 127 - WheelPos % 128;  //red down 
      b = WheelPos % 128;      //blue up
      g = 0;                  //green off
      break; 
  }
  return(strip.Color(r,g,b));
}




Step 3: 搭建电路

会发光的鞋step3.jpg

根据电路图用烙铁焊接,还要用热缩管保证连接的可靠性

把压力传感器焊到1M电阻上时,要注意焊接的顺序。电线要同时连着电阻和Teensy的A0/A1端,否则传感器是绝对不会工作的!我不太会同时将3个东西焊在一起,也做了很多次尝试,我也不明白为什么这样就不行。


如果你用4*AA碱性电池组,那么就还需要用2个14N001二极管降低电压输出。我的电路没有装二极管时,输出是6.5V,这有可能会烧了Teensy和Neopixels!!!Teensy2.0需要4.5V-5.5V的电压,也不能过热。有了这两个二极管,电路的电压大概就可以控制在5.55V。

Step 4: 安装所有的东西

会发光的鞋step4.jpg

我用胶带把压力传感器固定在鞋里。虽然不好看(如果你像我一样笨手笨脚的,肯定不会好看),但效果不错。

一定要把传感器连到Teensy的A0/F0脚,并且传感器的头要在脚后跟的位置,这样灯就是从脚趾开始亮。我图片中的装反了,灯是从脚后跟开始亮的。你可以自己决定从哪里开始亮

最好,我们要用尼龙搭扣把电源装在鞋舌上:把尼龙搭扣的一边缝在鞋舌上,另一边用能粘合的胶布粘在电池盒上


安装时,我走了一些弯路,也想和大家分享一下:

1. 我大多数都是用胶带粘,但回想起来,这么做不太好,用胶带粘传感器没问题,但是那些乱七八糟的线,最好还是把它们缝在鞋内侧的边上,看着会整齐很多。


2. 我Teensy装在了鞋外侧的脚后跟的位置,太容易坏了!我还是建议把Teensy缝在鞋上(最好在鞋舌头的内侧)。把它焊完后,Teensy上会有大量的空间,能够穿针引线




Step 5: 打开吧!

会发光的鞋step5.jpg

效果是不是很酷!

 
秦匠智能-小王2017-05-05 09:36:10
能否留下联系方式?我也想做。可以交流吗。
yanlin2016-12-20 15:31:21
这鞋穿出去,回头率爆表呀
动力老男孩2016-09-13 11:02:28
你是那样拉风的男人,不管在什么地方就好像漆黑中的萤火虫一样,那样的鲜明,那样的出众……
弹力女超人2016-09-14 12:11:49
这么酷的评价!星爷附体啊!
飞鱼BH1JSS2016-09-10 09:03:01
不错啊!

作者

弹力女超人

北京,海淀

5粉丝 1作品 0随笔
  关注 私信

作者的最新作品


阅读数: 9206