クリスマスツリーの点滅をリモコン操作する🎄

こちらは[Obniz Advent Calendar 2018](https://qiita.com/advent-calendar/2018/obniz) の12月20日の記事になります。

#概要
100均のLEDイルミネーション（点灯のみ）とツリーで作ったクリスマスツリーを、
スマホをリモコンにして点灯・点滅を制御できるようにしてみました。
電池の代わりにobniz。という発想。

これにより、クリスマス時期の以下のようなニーズに手軽に応えることができます。
・古い点灯のみのツリーを、手軽で簡単に点滅式に機能アップしたい。（既存の設備を有効活用）
・ツリーが庭にあるので、寒かったりおっくうだったりでスイッチOn/Offのためだけに外に出たくない。（スイッチ機器をリモコン化）
・サンタさん登場に合わせてピカピカさせたい。（手に隠し持ったスマホでONにしてサプライズの演出）


#作り方
これを、
<img width="300" alt="Lチカ_OFF" src="https://qiita-image-store.s3.amazonaws.com/0/85506/ea7a8636-67d1-0f29-bdd5-ea9ba313653e.jpeg"><img width="300" alt="Lチカ_OFF" src="https://qiita-image-store.s3.amazonaws.com/0/85506/22933d0f-b999-2e44-8d98-681503bdb976.jpeg">

これに巻き付けて、
<img width="300" alt="Lチカ_OFF" src="https://qiita-image-store.s3.amazonaws.com/0/85506/7da3c84f-2945-b6ef-fb76-64c4081d2fa4.jpeg">

こんな感じのツリーが出来上がります！
<img width="300" alt="Lチカ_OFF" src="https://qiita-image-store.s3.amazonaws.com/0/85506/d261c18e-c523-414a-1311-e2fc75dd1576.jpeg">

電池ボックスには電池を入れずに、代わりにobnizをみのむしクリップで繋ぎます。
<img width="400" alt="Lチカ_OFF" src="https://qiita-image-store.s3.amazonaws.com/0/85506/c409f283-8600-a815-c23f-fb5217d73d7d.jpeg">
<img width="400" alt="Lチカ_OFF" src="https://qiita-image-store.s3.amazonaws.com/0/85506/1333f66f-49fe-049b-c8e7-ffdc81666dc3.jpeg">

obnizと電池ボックスの間には抵抗が必要です。
電子工作素人の私にはちょとした壁となるので、抵抗入りLEDを使うことで逃げることにしました。
（※後述）
<img width="400" alt="Lチカ_OFF" src="https://qiita-image-store.s3.amazonaws.com/0/85506/6bad64aa-cd0e-a5d5-caf5-60d873b978a6.jpeg">

obniz、モバイルバッテリー、電池ボックスなどごちゃごちゃした部分は、ツリーの中にしまいます。

#デモ
スマホをリモコンにして点灯・点滅を制御します。
「点灯→ゆっくり点滅→早く点滅→消灯」の順に操作をしています。

<blockquote class="twitter-tweet" data-lang="ja"><p lang="ja" dir="ltr">100均のLEDイルミネーション（点灯のみ）とツリーで作ったクリスマスツリーを、スマホをリモコンにして点灯・点滅を制御できるようにしてみました。<a href="https://twitter.com/hashtag/obniz?src=hash&amp;ref_src=twsrc%5Etfw">#obniz</a><a href="https://twitter.com/hashtag/IoT?src=hash&amp;ref_src=twsrc%5Etfw">#IoT</a><a href="https://twitter.com/hashtag/JavaScript?src=hash&amp;ref_src=twsrc%5Etfw">#JavaScript</a><a href="https://twitter.com/hashtag/L%E3%83%81%E3%82%AB?src=hash&amp;ref_src=twsrc%5Etfw">#Lチカ</a><a href="https://twitter.com/hashtag/100%E5%9D%87?src=hash&amp;ref_src=twsrc%5Etfw">#100均</a><a href="https://twitter.com/hashtag/%E3%83%80%E3%82%A4%E3%82%BD%E3%83%BC?src=hash&amp;ref_src=twsrc%5Etfw">#ダイソー</a><a href="https://twitter.com/hashtag/%E3%82%BB%E3%83%AA%E3%82%A2?src=hash&amp;ref_src=twsrc%5Etfw">#セリア</a> <a href="https://t.co/TZFC3x75rx">pic.twitter.com/TZFC3x75rx</a></p>&mdash; m (@getapojim) <a href="https://twitter.com/getapojim/status/1075365914189516802?ref_src=twsrc%5Etfw">2018年12月19日</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

#リモコン画面
<img width="400" alt="Lチカ_OFF" src="https://qiita-image-store.s3.amazonaws.com/0/85506/b728f919-36e4-caf5-bb23-b95f4abcfff6.png">

#プログラム
```html:private_XmasTree.html
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <script src="https://obniz.io/js/jquery-3.2.1.min.js"></script>
  <script src="https://unpkg.com/obniz@1.14.1/obniz.js" crossorigin="anonymous"></script>
</head>
<body>

<center>
<div id="obniz-debug"></div>
<h1>🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄</h1>
<button id="1_on">常時点灯</button>
<p>
<button id="2_on">ゆっくり点滅</button>
<p>
<button id="3_on">早く点滅</button>
<p>
<button id="4_off">停止</button>
<h1>🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄</h1>
<div id="print"></div>
</center>
  
<script>
var obniz = new Obniz("OBNIZ_ID_HERE");
obniz.onconnect = async function () {

var led = obniz.wired("LED", {anode:0, cathode:1});

  // 1.常時点灯
  $('#1_on').click(function () {
      led.on();
  });

  // 2.ゆっくり点滅
  $('#2_on').click(function () {
      led.blink(1000);
  });

  // 3.早く点滅
  $('#3_on').click(function () {
      led.blink(500);
  });

  // 4.停止
  $('#4_off').click(function () {
      led.off();
  });

}
</script>
</body>
</html>
```

#反省
当初は以下のようにobnizをそのまま電池ボックスに繋ぎました。
<img width="400" alt="Lチカ_OFF" src="https://qiita-image-store.s3.amazonaws.com/0/85506/f3ecf591-4441-b67c-3b36-2711d12498ba.jpeg">

が、写真を撮っている内に次から次へとLEDが消えていきます。
残りあと3個というところまで消えてしまったところでようやく「抵抗が必要かな？」と気づきました。
今Qiitaの記事にしながら写真を改めて見ると、LEDがとても明るいです。↓
電圧が高かったのですね。
「おー！200円なのによく光るな！」と油断していました。。。
<img width="400" alt="Lチカ_OFF" src="https://qiita-image-store.s3.amazonaws.com/0/85506/97eb61be-351a-4277-f95c-98571e79496d.jpeg">

しかし、電子工作素人の私には以下3つの点で時間を要してしまいそうです。
１．何Ωの抵抗にすればよいのかがよく分かっていない。
２．抵抗のカラーバーの読み方がよく分かっていない。
３．もしふさわしい値の抵抗が手元になかったら、わざわざ抵抗だけ買いに行くのは避けたい。

その結果が「抵抗入りLEDをはさんでおけば大丈夫やろ。」という逃げ手です。。。
LEDイルミネーションは一つ買い直しになりましたが。

#材料
- ツリー　100円（セリア）
- LEDイルミネーション　200円（ダイソー）
- モバイルバッテリー　100円（ダイソー）
- obniz
- 抵抗入りLED（抵抗の代役。。。）
- ブレッドボード
- みのむしクリップ

#感想
- イメージ通り短時間で手軽にできた。obnizばんざい！
- ↓この辺をちゃんと理解できれば電圧を3Vに出来て、その結果ブレッドボードと抵抗が要らなくなるんだろうな。と思う。

javascript SDK リファレンス　Peripherals IO
https://obniz.io/doc/sdk/doc/io