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

クラブで目立つ!Adafruit社のGemmaで光るピアスを作ってみよう

マオ

ギャル電

みなさんこんにちわ! dotstudioでインターンをしているマオと申します。今回から、dotstudioのブログにて電子工作についての連載していきたいと思います! 初回の本記事では、Adafruit社の「Gemma」というマイコンボードを使った『フープイヤリング』の作り方を紹介します!

こちらが完成の動画です^^

それではさっそく作っていきましょう!

必要な物

準備ができたらさっそく作っていきましょう!

1. NeoPixel Ringの配線をはんだ付けする

まずはNeoPixel Ringの配線をはんだ付けしていきます。ここでは付属のフックアップワイヤーを使ってください。はんだ付け初心者の方はこちらのサイトなどを参考にして練習するのをおすすめします。安全メガネなどの装着も心がけましょう。(目をまもろう!)

実際にはんだ付けをした後の写真はこちらです。

はんだ付けの配線はこちらです。表に従って配線してください。

2. Gemmaに書き込むプログラムを作る

今回は「Arduino IDE」というソフトウェアを使って、プログラムをGemmaに書いていきます。Arduino IDEをまだ持っていない方は、公式サイトからソフトウェアをダウンロードしてください。

Windowsユーザーの方は Gemmaの開発元のAdafruit社による「Windows Driver」をインストールする必要があります。こちらのサイトを参照して進めてください。(Mac・Linuxのユーザーの方はインストールする必要はありません)

2-1. ボードのインストレーション

次にArduino IDEを立ち上げてボードをインストールします。Arduino > Preferences をクリックしてください。

https://www.adafruit.com/package_adafruit_index.json
上記のAdafruitのURLをコピーして、追加のボードマネージャーのURLに貼り、OKをクリックしてください。

コピー&ペーストが完了したら、ツール > マイコンボード > ボードマネージャーをクリックします。

すると、このような画面が表示されます。検索欄に「Adafruit AVR Boards」を入力し、インストールしましょう。ここまでで、ボードのインストレーションは終わりです。

2-2. ライブラリのインストール

次に、NeoPixel Ring を光らせるために必要なライブラリをインストールします。スケッチ > ライブラリをインクルード > ライブラリを管理 をクリックしてください。

画面が表示されるので、検索欄に「Neopixel」と入力しましょう。上記のようになります。「Adafruit Neopixel by Adafruit」を選択してインストールしてください。

これでプログラムを書く準備ができました。

2-3.プログラムをGemmaに書き込む

ここではGemmaに書き込むための設定をおこないます。

まずは、ボードを選択するためにツール>ボード>Arduino Gemma をクリックしてください。

次に書き込み装置を選択します。ツール>書込装置>USBtinyISPをクリックしてください。そして、以下のプログラムをスケッチにコピー&ペーストしてください。

#include <Adafruit_NeoPixel.h>

#define PIN 0

Adafruit_NeoPixel pixels = Adafruit_NeoPixel(32, PIN);

uint8_t  mode   = 0, // 現在のアニメーション
         offset = 0; // スピンするの位置
uint32_t color  = 0xffae00; // 赤でスタート
uint32_t prevTime;

void setup() {
  pixels.begin();
  pixels.setBrightness(60); // 1/3 明るさ
  prevTime = millis();
}

void loop() {
  uint8_t  i;
  uint32_t t;

  switch(mode) {

   case 0: // ランダムに光る - 一回1LED
    i = random(32);
    pixels.setPixelColor(i, color);
    pixels.show();
    delay(10);
    pixels.setPixelColor(i, 0);
    break;

   case 1: // スピンする輪っか (一回に 8 LEDs )
    for(i=0; i<16; i++) {
      uint32_t c = 0;
      if(((offset + i) & 7) < 2) c = color; // 4ピクセル
      pixels.setPixelColor(   i, c); // 一回目
      pixels.setPixelColor(31-i, c); // 2回目(裏返す)
    }
    pixels.show();
    offset++;
    delay(50);
    break;
  }

  t = millis();
  if((t - prevTime) > 8000) {      // 毎8秒
    mode++;                        // 次のモード
    if(mode > 1) {                 // モードの終わり
      mode = 0;                    // モードスタート
      color >>= 8;                 // 次の色 R->G->B
      if(!color) color = 0xffae00; // 赤にリセット
    }
    for(i=0; i<32; i++) pixels.setPixelColor(i, 0);
    prevTime = t;
  }
}

その後、Gemmaにある小さなボタンを押すと、こちらのように赤いLEDが10秒間点滅します。赤いLEDが点滅している間に、スケッチ>書込装置を使って書き込む をクリックしましょう。

※こちらのイメージにはNeoPixel Ringがついていませんが、NeoPixel Ringをはんだ付けしたあとのものへ書き込んでも問題ありません。

赤いLEDの点滅が終わったら、Gemmaへのプログラムの書き込み完了となります。この状態になれば、MicroUSBを外しても大丈夫です。

3. バッテリー接続&ピアスのフック取り付け

最後に、NepPixel Ringとリチュームイオンポリマーバッテリーを接続します。Gemmaボード上に小さなON-OFFスイッチがあるので、スイッチをONにしてきちんと光るかどうかを確かめてください。

次にバッテリーを固定します。いろいろなやり方があるかと思いますが、私は両面テープを中央に貼り、ピアスフックとバッテリーの線を固定してみました。

その上からまた両面テープを貼り、バッテリーを上から付けています。

最後にNeoPixel Ringとピアスフックを固定させて、ピアスフックの余った長さを切断すればできあがりです^^

バッテリーは充電可能なものとなっています。キットには充電機が含まれてないため、充電機がほしい方はスイッチサイエンスさんのサイトでお求めください。

できあがり

装着して写真を撮ってみました!
結構ファッショナブルでかわいいですよね! みなさんもぜひ作ってみてください^^

次回の記事もお楽しみにー!