【Arduino 2019】 最近買った電子工作が関連する MESH用の製品など（2019/12/21）

この記事は 「[Arduino Advent Calendar 2019 - Qiita](https://qiita.com/advent-calendar/2019/arduino)」の 21日目 の記事です。

今年は 1度、Hack Day 2019 で見た電子工作・マイコン等の話の記事をカレンダーに投稿していたのですが、また直接 Arduino な感じではないネタです。
「Arduino関連でなくても、電子工作・マイコン等にちょっとでも関連していればなんでもOK」とのことで、買ったばかりの製品などのネタを。

## はじめに
ここ最近、面白そうな製品がちょこちょこでてきているので、つい頻繁に買ってしまう日々を送っています。
そんな中、購入した 1つがこちらです（※ ツイートの写真の右下のやつ）。

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">今日はまだ、コンビニに立ち寄ってなかったはずだけどw <a href="https://t.co/NLaa0SqS90">pic.twitter.com/NLaa0SqS90</a></p>&mdash; you (@youtoy) <a href="https://twitter.com/youtoy/status/1207860485573337088?ref_src=twsrc%5Etfw">December 20, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

## MESH GPIOブロック用電子スイッチ
こちらの製品について、[公式サイト](https://switch-education.com/products/mesh-gpio-relay/)からの説明を引用します。

> MESH GPIOブロックを使って回路の通電（スイッチ）のON/OFFをコントロールできます。
例えば、MESH 温度・湿度ブロックと組み合わせて暑くなったら扇風機（モーター）のスイッチをONにする、MESH 明るさブロックと組み合わせて暗くなったら照明（LED）をONにするといった、電気を効率よく使う仕組みを再現することができます。

<img width="418" alt="MESH_GPIOブロック用電子スイッチ.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/f778a312-0a7f-4066-7600-c9199956efe4.jpeg">
こちらは、下記の [MESH](https://meshprj.com/jp/) と組み合わせて使うものになります。
<img width="448" alt="MESH：小さな便利を形にできる、ブロック形状の電子ブロック｜ソニー.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/1f60b66f-1d05-b204-3dfc-e33ff42989a3.jpeg">

## MESH GPIOブロック用電子スイッチ
MESH は様々なセンサー等の機能を持った 7種類のブロック（※ 個々のデバイス）があり、今回の話題にしている製品はその中の [GPIOブロック](https://meshprj.com/jp/tag/MESH-100GP-GPIO.html)と組み合わせるものになります。
<img width="359" alt="MESH-100GP_GPIOブロック_-_ワイヤレスの入出力_電源供給___ソニー.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/7bbff45b-3f29-5d6b-bebd-53b2cb37f8c3.jpeg">
GPIOブロックは、アナログとデジタルの入出力スイッチとなるブロックで、[公式レシピ集](https://recipe.meshprj.com/tags/gpio)にあるようなものを作ることができます（その制御はスマホ・タブレットから、ビジュアルプログラミングを使って行えます）。
<img width="388" alt="タグ_GPIO___MESHレシピ.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/ef0d35a1-ea18-cc81-2e58-8ad7349d02cf.jpeg">

## MESH GPIOブロックと電子スイッチをつなぐ
上記の 2つを組み合わせる部分は「GPIOブロックの "電源出力" の ON/OFF」を使う形です。
MESH GPIOブロックの電源出力を ON/OFF すると、電子スイッチから出ている 2つのワニ口クリップの間の通電が ON/OFF になります。公式の説明によると、通電を ON/OFF する部分は「最大12Vまで、電流は最大1Aまで」となってなるようです。

### 実際に試してみようとして失敗
仕様の概要が分かったところで実際に試してみたのですが、思った通りの動作をせず。
どんなプログラムを作ったかは、記録に残しておこうと思います。

#### プログラムの内容と動作
とりあえずの動作確認のため、ちょうど手元にあった micro:bit を使って通電の ON/OFF を試そうとしました。
<img width="601" alt="Microsoft_MakeCode_for_micro_bitvv.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/64c2a290-412f-114b-7ebc-5d59ddab2af8.jpeg">
こんなプログラムを作って、P1 と GND の通電の有無で LED の表示が変わる、というのを意図したものです。

あと、MESH のほうのプログラムはこんな感じに。
![IMG_2805.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/66d3c9ef-b977-b9df-518d-5a574eddcde7.jpeg)

これで、電子スイッチの ON/OFF を切り替えてみたのですが、micro:bit の LED の表示は変わったり、変わらなかったりという動作をしていました・・・。

## その他の GPIOブロック用製品

今回、上記の GPIOブロック用の製品を試したついでに、きちんと試せていなかった、以前から入手済みだった製品を見直してみようと思います。

### MESH GPIOブロック用USBパワースイッチ

どういったものか、スイッチサイエンスさんの販売ページから説明を引用します。

> MESH GPIOブロックを使ってUSB電源のON/OFFを制御するモジュールです。USB給電で動作するデバイスの電源ON/OFF切り替えができます。MESH GPIOブロックのVOUT端子とUSBの5V出力が連動します。出力がONになると基板上の赤色LEDが点灯します。このモジュールの他にmicro USBケーブル、USB電源が必要です。

- MESH GPIOブロック用USBパワースイッチ - スイッチサイエンス
    - https://www.switch-science.com/catalog/3437/

つまり、USB給電で動作する機器の、給電の ON/OFF がプログラムで制御できる、というものになります。
USB給電で動作する機器は、たくさん見かけるようになっているので、使いどころがありそうですね。

また、実際に試してみた、という記事も Web で見かけて、こちらが写真付きで分かりやすかったです。

- MESH GPIOタグ用USBパワースイッチを試してみたメモ – 1ft-seabass.jp.MEMO
    - https://www.1ft-seabass.jp/memo/2017/10/20/mesh-gpio-usb-power-switch/

### MESH GPIOブロック用Groveボード

こちらも、スイッチサイエンスさんの販売ページから説明を引用してみます（※ 一部抜粋）。

. MESH GPIOブロックでGROVEシステムのデバイスを使用するためのボードです。
デジタル入力1個、アナログ入力1個、デジタル出力2個（DOUTとPWM）の計4個のコネクタがあります。
供給される電源電圧は3.3 Vです。5 Vでしか使えないデバイスでは使えません。また、I2CやUARTを使用するデバイスも使用できません。

●MESH GPIOブロック用Groveボード - スイッチサイエンス
　https://www.switch-science.com/catalog/3438/

説明に書かれたとおり、利用可能なモジュールには制約があるようです。
スイッチサイエンスさんのページに「[MESH GPIOタグと連携可能なGroveモジュールのリスト](http://trac.switch-science.com/wiki/grove-mesh)」が書かれていたので、掲載しておきます。

- 【MESH GPIOタグと連携可能なGroveモジュール】 grove-mesh – スイッチサイエンス
    - http://trac.switch-science.com/wiki/grove-mesh

### その他の MESH GPIOブロック用の製品
他にも、自分は入手していないですが、下記のページに書かれているような製品もあるようです。

- MESH_Accessories – スイッチサイエンス
    - http://trac.switch-science.com/wiki/MESH_Accessories

Web で作例に関する記事などを見てみたのですが、その過程で見かけた GPIOブロック自体を使った作例が紹介されている記事も含めて、いくつか載せておこうと思います。

- 第11回 MESHでここまでやる？ MESH拡張基盤で、USB機器やサーボモータをつないで、面白ピタゴラ装置を作ろう！ | Device Plus - デバプラ
    - https://deviceplus.jp/hobby/mesh-11/
- SONY MESHのGPIOタグを使って、リモートで動くロボットを作ろう！ | Device Plus - デバプラ
    - https://deviceplus.jp/hobby/mesh-05/
- SONY MESHのGPIOタグとスマホで本格IoT！大事な人の位置を知らせるメーターを作ろう！ | Device Plus - デバプラ
    - https://deviceplus.jp/hobby/mesh-06/

GPIOブロック単体で使うのも楽しそうです！

## おわりに
自由度の高いカレンダーのおかげで、買ったばかりの製品について調べる良い機会になりました。
思った通りに動作しない部分があったので、原因をきちんと調べてみて、別のお試しなんかもやってみようと思います。

## 余談
ちなみに、電子工作を始めたきかっけは Arduino でした。
時は 2013年、メーカーという言葉を良く耳にし始める中で買った Arduinoスターターキット を使ったのが最初でした。

なかなか試さずにいたところ、当時は主催イベントのネタに使い、自分も登壇や講師を担当するようにしたことで、一気にお試し等を進められました。

-  html5j エンタメ技術部 第1回勉強会 〜 Web技術者のためのArduino入門 〜 : ATND
    -  https://atnd.org/events/47308
- html5j エンタメ技術部 第2回勉強会（ハンズオン） : ATND
   - https://atnd.org/events/50467

その後、そこでやった内容を記事にできたり、とても良い機会を得ることができました。

- 初心者でもわかる・できる！Arduinoを使った初めての電子工作実践 | HTML5Experts.jp
    - https://html5experts.jp/youtoy/12029/
<img width="356" alt="初心者でもわかる・できる！Arduinoを使った初めての電子工作実践___HTML5Experts_jp.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/515fb80b-fceb-8b58-2c74-dfe52ef3547b.jpeg">