arrow-right hamburger logo-mark social-facebook social-github social-twitter
2017.10.10

フェスでテンあげ☆ 光るカセットテープ

きょうこ

ギャル電

みなさん、チョリおつ!ギャル電きょうこです。ギャルによるギャルのための電子工作をテクノロジーを提案するユニット、ギャル電で活動しておりまっす。今回は、フェスに相性ピッタリの光りものアクセの作り方を紹介します。

何を光らせたらエモいのか?!問題

光るとモテる! でも、なんでも光らせただけでかっこよくなるわけではないのです。 ギャル電もとりあえず光らせてみたけど全然ぐっと来ないものを作ってしまうことがよくあります。 今回は、まずとりあえず首からさげられる形で単純にLEDテープを貼り付けたものをつくってみましたがときめきがゼロ!!!! こんなもの!!!!! 泣きながら窓から投げ捨てて、そっとあとで拾いに行きました。

そのあと、おやつをたべながらテンションを上げるためにスピードコア(めっちゃテンポの速いナイスなミュージック)とバニラのテーマソングを交互に聴いていたら

天啓が下りてきました。

カセットテープなら、首から下げる光もののケースにジャストフィット!!そしてエモい

ありがとう、スピードコアの神よ! みんなもアイデアに詰まったときはスピードコア聴くといいよ。

材料を揃えよう

今回の材料は、基板や配線以外はだいたい100均で揃えることができます。

ボードは超小型ボードDigispark互換機を使用しています。最初のセットアップは少し面倒ですが、安くて小さいので気軽に電子工作を作ることができます。

材料

LEDのケース用にカセットテープを加工する

まずはカセットテープの四隅のねじを外して分解します。 このとき、ねじが超小さいのでなくさないようになんか入れ物にいれたりマスキングテープに貼り付けておくと便利です。

また、分解する前に元の形がわかるように写真を撮っておくとあとですごい役立つのでおすすめです。

磁気テープ部分は今回は使わないので軸からはさみで切り離して外します。

配線を通すため2.5センチくらいカセットテープの上端をカットして穴をあけておきます。 磁気テープ以外は、ディテールとしてエモいので元の位置に収まるように戻して使用します。

リングを通すための穴をカットしたほうとは逆の上端にピンバイスであけておきます。

以上でカセットテープの加工は完了です。後でさみしい気持ちになってしまうので、ねじは絶対に無くさないように注意です

LEDと基板のはんだ付け

カセットテープにおさまるように、LEDテープを半分(LED5個ずつ)にカットして使用します。 写真の丸がついてるところを何も接続しない状態ではんだづけします。 予備はんだってやつで、やっておくとあとで配線と部品をはんだ付けするのがスムーズになります。

Digispark基板(おもて)は、5V、GND、P0と書いてある穴の上に予備はんだをします。

Digispark基板の裏と9V電池用のスナップ配線も予備はんだをします。 Digispark基板(うら)は、VIN、GNDを予備はんだします。

※裏側の配線を間違えて5V,GNDで接続すると基板めっちゃ熱くなってなんか焦げたにおいして超ビビるので要注意です。

予備ハンダ作業が終わったら、まずはDigispark基板の裏側と9V電池用スナップをはんだ付けします。

をそれぞれ接続します。

次は、LEDに接続するための3本の線をDigispark基板の表側にはんだ付けします。 LEDに接続したときに、以下のように配線がつながるようにします。

2本のLEDテープの間もはんだ付けでつなげます。 このとき、LEDテープの進行方向の矢印の向きを間違えないように注意します。

全体図はこんな感じです。 これで、LED配線のはんだ付けは完了でっす。

プログラムの書き込み準備

ここからは、初心者にはちょっと気合いのいる作業になります。

でも、だいたい大丈夫! わからない単語が出てきたら速攻ググるとわりとわかるようになります

つらくなったときは、光ってモテる近い将来を想像したりスピードコア聴いて気分転換したりご飯食べたり寝たりしてのりこえていきましょう。

まずは、Digisparkボードにプログラムを書き込むためにArduino IDEというソフトウェアをPCにインストールします。

下記リンクはMacでの説明なので、Windowsユーザーはダウンロードするファイルを選択するときに、Windowsのリンクを選んでダウンロードしてインストールを行ってください。

【参考】Arduino IDEをPCにインストール

ArduinoIDEでDigisparkのボードを書き込めるように設定する

英語のページになりますが、以下のページを参考にインストールを行いました。 http://digistump.com/wiki/Digispark/tutorials/connecting

※環境はWindows10(64bit)、ArduinoIDE 1.8.3にて動作を確認しました。

大雑把にいうとWindowsの場合には、

①ドライバをダウンロードしてインストールする https://github.com/digistump/DigistumpArduino/tree/master/tools

②ArduinoIDEを起動し、ファイル→環境設定→「追加のボードマネージャのURL」に http://digistump.com/package_digistump_index.json をコピペで追加して「OK」ボタンで環境設定を閉じる

③ツール→ボード→ボードマネージャをクリック

④検索窓をクリックし、タイプの項目で「提供された」を選択。 「Digistump AVR Boards」を検索し、検索結果をクリックして「インストール」をクリック

⑤インストール後、ツールから 「ボード:Digispark(Default - 16.5mhz)」 をクリックで選択

上記手順で書き込み準備は完了です。

プログラムは、以下のものをコピーしてArduinoIDEにペーストします。

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

//neopixcel用の設定部分

//neopixelを接続するPINを設定
#define PIN_LED 0

//neopixelのLEDの数を設定
#define NUM_LEDS 10

Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, PIN_LED, NEO_GRB + NEO_KHZ800);

bool oldState = HIGH;
int showType = 0;

void showStrip() {
 #ifdef ADAFRUIT_NEOPIXEL_H
   strip.show();
 #endif
 #ifndef ADAFRUIT_NEOPIXEL_H
   FastLED.show();
 #endif
}

void setPixel(int Pixel, byte red, byte green, byte blue) {
 #ifdef ADAFRUIT_NEOPIXEL_H
   strip.setPixelColor(Pixel, strip.Color(red, green, blue));
 #endif
 #ifndef ADAFRUIT_NEOPIXEL_H
   leds[Pixel].r = red;
   leds[Pixel].g = green;
   leds[Pixel].b = blue;
 #endif
}

void setAll(byte red, byte green, byte blue) {
  for(int i = 0; i < 17; i++ ) {
    setPixel(i, red, green, blue);
  }
  showStrip();
}

// ここからNeoPixelのアニメーション設定


void FadeInOut(byte red, byte green, byte blue){
  float r, g, b;

  for(int k = 0; k < 256; k=k+1) {
    r = (k/256.0)*red;
    g = (k/256.0)*green;
    b = (k/256.0)*blue;
    setAll(r,g,b);
    showStrip();
  }

  for(int k = 255; k >= 0; k=k-2) {
    r = (k/256.0)*red;
    g = (k/256.0)*green;
    b = (k/256.0)*blue;
    setAll(r,g,b);
    showStrip();
  }
}

void Strobe(byte red, byte green, byte blue, int StrobeCount, int FlashDelay, int EndPause){
  for(int j = 0; j < StrobeCount; j++) {
    setAll(red,green,blue);
    showStrip();
    delay(FlashDelay);
    setAll(0,0,0);
    showStrip();
    delay(FlashDelay);
  }

 delay(EndPause);
}

void Twinkle(byte red, byte green, byte blue, int Count, int SpeedDelay, boolean OnlyOne) {
  setAll(0,0,0);

  for (int i=0; i<Count; i++) {
     setPixel(random(NUM_LEDS),red,green,blue);
     showStrip();
     delay(SpeedDelay);
     if(OnlyOne) {
       setAll(0,0,0);
     }
   }
}
void TwinkleRandom(int Count, int SpeedDelay, boolean OnlyOne) {
  setAll(0,0,0);

  for (int i=0; i<Count; i++) {
     setPixel(random(NUM_LEDS),random(0,255),random(0,255),random(0,255));
     showStrip();
     delay(SpeedDelay);
     if(OnlyOne) {
       setAll(0,0,0);
     }
   }
}

//

void setup()
{
    pinMode(PIN_LED, OUTPUT);
    digitalWrite(PIN_LED, LOW);
   #if defined (__AVR_ATtiny85__)

   if (F_CPU == 16000000) clock_prescale_set(clock_div_1);
  #endif
  strip.begin();
  strip.show();
}

void loop()
{
    FadeInOut(0x1C, 0xFF, 0xB3);
    FadeInOut(0x1C, 0xFF, 0xB3);
    FadeInOut(0x1C, 0xFF, 0xB3);
    FadeInOut(0x36, 0xEB, 0xFF);
    FadeInOut(0x36, 0xEB, 0xFF);
    FadeInOut(0x36, 0xEB, 0xFF);
    Twinkle(0xff, 40, 99, 10, 50, false);
    Twinkle(0xff, 40, 99, 10, 50, false);
    TwinkleRandom(20, 100, false);
    TwinkleRandom(20, 100, false);
    Strobe(0xff, 0xff, 0xff, 10, 50, 1000);
    Strobe(0xff, 0xff, 0xff, 10, 50, 1000);
    Strobe(0xff, 0xAB, 0xf9, 10, 50, 1000);
    Strobe(0xff, 0xAB, 0xf9, 10, 50, 1000);
  }

ソースコードはこの解説を書くのにちょっと疲れちゃったので光る大五郎のコードをセルフコピペしました。同じプログラムで光ります。


書き込むときの注意ポイント

PCにDigisparkを差し込まない状態で、ArduinoIDEで「→(マイコンボードに書き込み)」をクリック 以下のメッセージが表示されたらPCにDigisparkを差し込む

下記のメッセージが表示されたら書き込み完了!

※うまく書き込みができないときには、「Digispark 互換 Windows10(またはMacとか自分の使ってるPCのOS)」のワードとかで検索するといいよ

カセットテープとLED配線を合体して組み立てよう

写真のように、配線用に穴をあけたほうのカセットテープ部品にLEDテープを貼ります。 カセットテープの元々の部品を組み込んで、ねじを締めてケースを閉じます。

後ろの配線はフィーリングでまとめて、真ん中の穴にインシロックを通して9V電池を固定します。電池の裏側とDigisparkの裏側に両面テープを貼っておくと、フェスでテンションが上がりすぎて激しく動いても部品が落ちません

LEDの電源を入れるときには、9V電池のスナップをつけて消したいときには外します。 つまり、スナップのつけ外し以外に特にスイッチはありません。

光り方のプログラムによって、電池の消費量は変わります。 今回のプログラムだとだいたい連続使用で3時間程度で電池がなくなる感じです。

ピンバイスで開けた穴に、無理やりリングを通して好きなひもやストラップをつければ完成です! やったね!!!

この光るカセットテープ、ギャル電は無人島フェスやULTRAJAPANで実際に使ってみたけどやっぱめっちゃモテた

光るとめっちゃ楽しいから、みんなも作っていろんなところに遊びに行ってみてね☆