Arduino Nano V3(互換機)の品質は?

「Arduino Nano V3」というArduino互換機を、誤って購入しました。

3.3Vで動作するArduino Nano(そんなものありません)を探していたとき、「V3」と「3.3V」を見間違えました・・・。

愚かですが、せっかく手元に届いたので、品質を検証したいと思います。

Ali Expressで注文

今回は初めて「Ali Express」を利用しました。アリババが運営している中国のショッピングサイトです。

日本では考えられない値段で電子部品が売られています。多くの企業が出店しており、商品数が多いので、選択肢もあります。

ネットで「Ali Express」の購入方法を調べながら、ピンヘッダ実装済みの「Arduino Nano V3」を2つ注文。1つ2.49ドル + 送料0.32ドルです。

注文から10日後、無事到着。

状態が良い!?

注文したのはRobotDyn社の「Arduino Nano V3」です。

商品を開封します。

あれ!?はんだ付けが美しく、ピンも曲がっていません。

中国から届いたマイコンが、ブレッドボードにそのまま挿せます。
今までにない経験です。

状態が良すぎて逆に心配です。動作するのか!?

動作する!

動作しないことを想定して2つ購入しています。

テストしたところ、どちらも問題なく動作しました。

LEDもチカチカしますし、アナログ入力も問題なし。

マイクロUSB接続が良い

「Arduino Nano V3」は、マイクロUSB接続なのが良いです。

現在Amazonで入手しやすいのは「Arduino Nano V2」の互換機かと思います。(たぶん)

V2はミニUSB接続なので、PCやモバイルバッテリーとの接続に不便を感じました。

日本のUSB普及状態を考えると、Androidスマホと同じ規格のマイクロUSB接続が、使い勝手良いです。

基盤の文字が一部裏にある?

ただ、ピンを挿すときは戸惑いました。

「5Vがない?」「GNDが1つだけ?」「A7がない?」

・・・裏に書いてありました。

ブレッドボードに挿すと見えません。

配線間違いで破壊しないように気を付けねば・・・。

トータルの満足度は高い

300円で手に入るのであれば、「Arduino Nano V3」のコストパフォーマンスは非常に高く感じます。

Arduino Nanoは、情報量の多さと、携帯性、価格の安さを考えると、個人的にはもっと利用しやすいマイコンだと思っています。

誤って注文したものですが、すぐに利用することになるでしょう。

へんなものが開発された

長男がへんなものを作っていました。

夏祭りでもらったお面の目を光らせているようです。

やっていることは単純だけど

LED2つ、抵抗2つの単純回路です。

Arduinoの5Vから電流を流し、Arduinoへは9V電池で電力を供給しています。

プログラムを書けないので、ただ光るだけの電子工作ですが・・・

なかなかのインパクト

目を光らせた、お面をかぶる少年が近づいてくるのは、なかなかのインパクトがありました。

子供が自由な発想でモノづくりをすると、意表を突いた作品が出来上がります。

ボッチャ やりすぎた指示板

ボッチャの審判をやりながら、点数を記憶できなかった経験から、点数管理機能付きの指示板を作りました。

ボールの近さを測るレーザー距離センサーも搭載しています。

レーザー距離センサーの改善

指示板をだいたい水平にすると、距離計測モードとなります。

レーザー距離センサーとレーザーポインタを組み合わせた計測器ですが、以前の失敗を反省し、照準がずれないよう、しっかりねじ止めしています。

計測のプログラムも改善し、2mまで測れるようになりました。

・・・でも、1mを超えると数値が安定しないので、ジャックボール1m以内に寄せる高レベルな戦いを切願しなければなりません。

点数管理モードを追加

指示板を起こしている状態だと、点数管理モードとなります。

赤いボタン押下で赤の得点+1、青いボタン押下で青の得点+1。

それぞれ長押しで、0点にリセットされます。

点数管理機能はいらない

手元で得点を管理し、データを転送して得点板に表示できればと考えていましたが、操作が少し複雑化するのでデメリットの方が大きいような・・・。

いらないやこれ。

物理ボタンの心地よさ

物理ボタンを押すとき、なんとも言えない心地よさを感じます。

子供がボタンを押したがる気持ちが分かります。

USBキーボード(みたいなもの)を作る

前回までジェスチャー入力の可能性を探ってきたのに何ですが、今回は思いっきり物理ボタンでPCを操作する方法を探ります。

今までは面倒な通信(ArduinoとPC間で、Node.jsを介したシリアル通信)をしていましたが、もっとシンプル(?)に、特定キーだけを入力するUSBキーボードを作って、PCを操作します。

キー入力であれば、その入力を受け取るだけなので、アプリ開発も簡単です。

また、既製品のアプリも操作可能なので、例えばボタンを押すと「→」が入力される装置を作れば、パワーポイントをスライドさせたりできます。

応用が利き、可能性が広がります。

Arduino Pro Microを使う

USBキーボードとして認識してくれる「Arduino Pro Micro(互換機)」を使います。

5V版がAmazonで500円(8月6日現在値上がりで600円)、3.3Vで動くものが2,000円くらいで売られています。

なぜか3.3V版はプログラム書き込みがうまくいかず、5V版を利用することにしました。

押し心地の良さそうなボタンも用意

物理ボタンは秋月通商で購入した「押しボタンスイッチ(赤)」を使います。

ブレッドボードに挿せなかったため、ワニ口クリップで接続します。

プログラムは「Arduino Leonardo(Pro Micro)のHID(キーボード)機能を使う(ショートカットキー実行,コマンド実行)」を利用させて頂きました。

ちょっとだけ書き換えて、ボタンを押すと「Hello!」と入力されます。

「カチッ」という入力感触!

ボタンを押すと「カチッ」と音がして、テキストエディタに「Hello!」の文字が入力されていきます。

この、なんとも言えない心地よさ。

ジェスチャー操作の時の、つかみどころのない操作感ではなく、入力のフィードバックが触覚を通して伝わる安心感。

物理ボタンは良いですね。

一度リセットしてから、長男(6歳)と、次男(4歳)に渡してほっといたら・・・

906回入力されてました。

入力の心地よさが、回数に表れています。

 

スマートデバイスが普及してタッチ操作が増えましたが、物理ボタンによる入力の安心感、安定感には普遍的な価値を感じます。

うまくプロダクトに取り入れていければと思います。

ジェスチャー操作のアフォーダンス

ジェスチャー操作を試作しているとき、根本的な問題に遭遇しました。

手をかざす発想に至らない

失敗作1号は、水ようかんの容器を使った入力装置で、手をかざすと「決定」の処理を行うものです。

通常は青く光り、手をかざすと赤く光ります。
(実際はもう少し複雑で、スマートグラスと連動し、見たときに青く光る仕組みです。)

ただこれは、作っている私自身は操作を理解できますが、他のユーザーは光に手をかざす発想に至らないでしょう。

「手をかざしてください」と文字で表示させることはできますが、極力説明の必要ないUIとしたいものです。

トイレのUIに迷った経験

手をかざすジェスチャー操作は、まだまだ万人の生活に溶け込んでいません。

デザインを考えているとき、かつて自分が多機能公衆トイレで、どうやって水を流すか迷った経験を思い出しました。
押しボタンなのか、手をかざせばいいのか、どうやって水が流せばよいか、すぐに分からなかった操作パネル・・・。

その逆に操作に迷わなかったトイレを調査しました。
そして、手をかざすことに迷いを生まなかったのは、手形の絵があるものでした。

単純な結論。

手形UIに至る

手形があれば、手をかざす可能性を示唆できます。

手を使ったジェスチャー入力装置のアフォーダンス(説明なしで操作できる)としては、手形が有力な方法かと思います。

 

近未来的なジェスチャー操作

現在スマートグラスを使ったARアプリで、外国人観光客向けに言語設定できる機能を作っています。

せっかくARを体験するので、操作も近未来的な雰囲気を出したいと思います。

手の画像認識は使いません

スマートグラスのカメラを使い、手のジェスチャーを画像認識するのがAR操作の正攻法のような気がします。

ただ、以前、顔認識技術「Face Detectio」を試したところ、(私の実装では)認識が不安定でした。関節が多い手の認識はもっと不安定になる気がします。

そこで、今回のスマートグラスアプリは、移動しながら使わない想定だったので、備え付けのジェスチャー入力装置を使います。

反射式光電スイッチでジェスチャー操作

電子工作でジェスチャー入力装置を作る場合、ジェスチャーセンサー「APDS-9960」を使うのが王道だと思いますが、反射式光電スイッチ「TCRT5000 」を3つ使って自作します。

「APDS-9960」のジェスチャー入力がいまいち認識してくれず(電圧の調整をしなかったことが原因と後日気付く)、自作することに決めました。

反射式光電スイッチを三角形に並べます。

手をかざし・・・

左下→(上)→右下と、順番に感知されれば右スライド。
右下→(上)→左下と、順番に感知されれば左スライド。

上、左下、右下が一定時間、3つとも感知されている状態であれば決定。
上→左下または右下と、上から払うようなジェスチャーでキャンセル。

・・・言葉では直感的ではないので、動画でご確認ください。

開発中のARアプリは掲載できないので、サンプルWebアプリを作りました。

0.5秒くらい手形の入力装置に手をかざすと、言語設定画面が表示されます。

左右どちらかに手をスライドさせて、国旗を選びます。

再び手をかざす(左右にスライドさせない)と、決定になります。

操作感はまだまだ

一応スマートグラスをかけながらジェスチャー操作を行うと、近未来的な雰囲気を味わえます。

ただ、空中でのUI操作のユーザビリティは決して高くないです。

空中ゆえに、手の位置、手の角度、手を振る速さの個人差が大きく、たとえ私が使いやすいものを作っても、他の人が操作しにくい入力装置になってしまいます。

反面、指や腕が使えない状態でも、頭の振りや、足をかざして操作もできるので、もう少し誤作動をなくせば、アクセシビリティの高い入力装置になるかもしれません。