obniz+赤外線LEDでリモコンコンセント(OCR-05W)を動かす

## はじめに

電気毛布エンジニアの[@tmitsuoka0423](https://twitter.com/tmitsuoka0423)です。
今日は赤外線で操作できるリモコンコンセント「**OCR-05W**」を手に入れたので、obniz から操作できるようにしていきます。

## 今回使うもの

| 品名 | 画像 | 価格 |
| --- | --- | --- |
| [obniz Board](https://obniz.myshopify.com/collections/devices/products/obniz) | <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90087/19de797a-5105-21bc-8cc6-59c78da8d807.png" width="300"> | 5,500円くらい |
| [赤外線センサー OSRB38C9AA](http://akizukidenshi.com/catalog/g/gI-04659/) | <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90087/2224085f-2ad5-f4f5-e9ba-9d550a740a16.png" width="300"> | 50円くらい |
| [赤外線LED OSI5FU5111C-40](http://akizukidenshi.com/catalog/g/gI-03261/) | <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90087/c34ab511-18e3-748a-58c4-16f5ea6820fa.png" width="300"> | 20円くらい |
| [リモコンコンセント OCR-05W](https://www.amazon.co.jp/%E9%9B%BB%E6%A9%9F%E5%99%A8%E5%85%B7%E5%B0%82%E7%94%A8-%E3%83%AA%E3%83%A2%E3%82%B3%E3%83%B3%E3%82%B3%E3%83%B3%E3%82%BB%E3%83%B3%E3%83%88-%E5%93%81%E7%95%AA-07-8251-OCR-05W/dp/B01ABMGGQ8/ref=sr_1_fkmr0_2?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&keywords=cor-05W&qid=1585031707&sr=8-2-fkmr0) | <img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/90087/001869d6-8bd2-dbc0-0593-212fe426207f.png" width="300"> | 1,200円くらい |

## リモコンの赤外線信号を解析する

<img src="https://gyazo.com/aef59ddf87aae11f5e2c5ba182b57721/raw" width="600">

今回は簡単に obniz パーツライブラリページ上で実行していきます。

obniz パーツライブラリの[IRSensor](https://obniz.io/ja/sdk/parts/IRSensor/README.md)のページを開きます（https://obniz.io/ja/sdk/parts/IRSensor/README.md）

`start(callback(array))`の`Test Run`をクリック
<img src="https://gyazo.com/a1f6a9aa49ecc3b4b19709ebaa10e273/raw" alt="Screenshot from Gyazo" width="600">

`F12`を押して開発者ツールを開き、コンソールを確認します。

[![Screenshot from Gyazo](https://gyazo.com/21fc12f31d87b54feab70c68bfc6d292/raw)](https://gyazo.com/21fc12f31d87b54feab70c68bfc6d292)

それっぽい信号が受信できました。
出力の最後の方に表示されている`copy`をクリックしてコピーしておきます。
[![Screenshot from Gyazo](https://gyazo.com/30eed10872fcd87e1f9764d257ae27f4/raw)](https://gyazo.com/30eed10872fcd87e1f9764d257ae27f4)

## リモコンコンセントにobnizから信号を送信する

<img src="https://gyazo.com/ce8299d21a2f61fc72b08fcd08f85120/raw" width="600">

続いて、obniz パーツライブラリの[赤外線LED(InfraredLED)](https://obniz.io/ja/sdk/parts/InfraredLED/README.md)を開きます（https://obniz.io/ja/sdk/parts/InfraredLED/README.md）
[![Screenshot from Gyazo](https://gyazo.com/ab33b147d04c23d9576d9b1169c81f4f/raw)](https://gyazo.com/ab33b147d04c23d9576d9b1169c81f4f)
先程**コピーした信号**で上書きします。
[![Screenshot from Gyazo](https://gyazo.com/95435952e6afa810a3eb02e4992d57f8/raw)](https://gyazo.com/95435952e6afa810a3eb02e4992d57f8)

`Test Run`をクリックします。
するとカチッと音がして、電源が ON になります。

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">obniz+赤外線LEDでリモコンコンセントONできるようになった;)<br>午後はQiitaにまとめていく<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/protoout?src=hash&amp;ref_src=twsrc%5Etfw">#protoout</a> <a href="https://t.co/LezgvmQFmF">pic.twitter.com/LezgvmQFmF</a></p>&mdash; Takahiro Mitsuoka (@tmitsuoka0423) <a href="https://twitter.com/tmitsuoka0423/status/1242286931649515520?ref_src=twsrc%5Etfw">March 24, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

## まとめ

obniz を使ってリモコンコンセント(OCR-05W)が動かせることを確認できました。
いくつかハマったところがあるので、付録として記載します。

本記事ではプログラミングは行いませんでしたが、次回の記事では、TypeScript を使って書いていこうと思います。

## 付録：詰まったところ

### リモコンを押してないのに信号を受信する

解決方法：**obnizのバージョンを最新の`3.2.0`に更新する。**

`Test Run`をクリックすると、赤外線信号を受信する度に、信号の配列をコンソールに出力するようになっています。
まだリモコンのボタンを押してないのにずっと何かの信号を受信してい様子。

<img src="https://gyazo.com/d5d7fdc1d8d7cd3463df345cf938de38/raw" alt="Screenshot from Gyazo" width="600">

obniz のバージョンを最新の`3.2.0`に更新すると直りました。

### エラー：io0: heavy output. output voltage is too low when driving high

解決方法：**コンセントから電源を取る**

電圧が足りないと怒られました。
モバイルバッテリーに obniz を接続していたのが原因です。

[![Screenshot from Gyazo](https://gyazo.com/f495e4cdf50574e300516aee7d6f49d3/raw)](https://gyazo.com/f495e4cdf50574e300516aee7d6f49d3)

コンセントから電源を取るようにすると直りました。