8
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Wio Terminal の光センサーの値を画面上にグラフで表示してみた

Last updated at Posted at 2020-07-11

はじめに

5月の中旬に入手していたものの、あまり触れていなかった Wio Terminal(当時、1つか2つサンプルを動かしていたくらい)。

それをあらためて試し始めました。
今回の内容は公式サンプルを元にした簡単なものですが、やった内容のメモを兼ねて記事にしようと思います。

ちなみに、自分が購入したのは以下のマルツのオンラインショップでした。
 ●Wio Terminal 102991299|電子部品・半導体通販のマルツ
  https://www.marutsu.co.jp/pc/i/1633550/

Wio Terminal について

日本語版の公式のWiki の説明の一部を抜粋してみます。

「Wio Terminalは、Realtek RTL8720DNによる無線接続を備えたSAMD51ベースのマイクロコントローラで、ArduinoとMicroPythonによる開発をサポートしています。」

Wio Terminalをはじめよう - Seeedウィキ(日本語版)」より抜粋

無線機能は「Dual Band Wi-Fi(2.4Ghz/5Ghz、802.11 a/b/g/n)と BLE 5.0」の2種類を利用可能です。
また、物理ボタンや内蔵センサー、ディスプレイなどを搭載しています。

仕様の詳細は、上記の説明文を抜粋した元である日本語版の公式のWiki をご覧ください。

Wio Terminal を試す

環境のセットアップ

今回の開発に使った環境は「Mac + Arduino IDE」です。
環境のセットアップについても日本語版の公式のWiki に説明が書いてあるので、ここでは詳細な記載は行いません。

概略を書くと、主な内容は「Arduino IDE のボードの選択メニューで、Wio Terminal を表示させるための作業」です。

まずは2つのサンプルをお試し(光センサーと5方向スイッチ)

最初に、日本語版の公式のWiki に掲載されているサンプルのうち「光センサーのサンプル」と「5方向スイッチのサンプル」の2つを試しました。
日本語版の公式Wiki.jpg

どちらもシリアル通信でデータを送るサンプルで、送信される内容は「光センサーのサンプルでは、センサーの値」、「5方向スイッチのサンプルでは、スイッチ操作のイベント」となっています。

追加のお試し(LCD のサンプル)

さらに、英語版の公式Wikiのほうに書かれた「LCDのサンプル」も試してみることにしました。
英語版の公式Wiki.jpg

LCD のカテゴリの中にサブメニューがいくつかありますが、試したのはその中の 1つである「Line Charts」です。
英語版の公式Wiki_Line_Charts.jpg

このサンプルは、Wio Terminal のディスプレイにグラフを表示するものです。

50ミリ秒ごとに、ソースコード中の data.push(0.01 * random(1, 10)); という部分で乱数をベースにした値を発生させて、それをグラフで描画しています。
サンプルを実行すると、画面上に以下のような内容が表示されます。

なお、このサンプルを試すための大まかな手順は、以下のとおりです。

  1. GitHub上で公開されたライブラリのファイル一式 を ZIPファイルとしてダウンロード
  2. ダウンロードした ZIPファイルを、Arduino IDE でインストール(メニューの「スケッチ」⇒「ライブラリをインクルード」→「.ZIP形式のライブラリをインストール...」を選択し、ダウンロードした ZIPファイルを選択)
  3. 英語版の公式Wiki のソースコードの内容を Wio Terminal に書き込む

試したサンプルを組み合わせてみる

最後に、既に試した3つのサンプルのうち「光センサーのサンプル」と「Line Charts のサンプル」の 2つを組み合わせてみます。

行う内容はとても単純で、光センサーで取得した値を Line Charts のサンプルのグラフで描画するというものです。先に、実行結果の動画を掲載します。

動画の補足ですが、Wio Terminal の光センサーは端末の背面についているため、背面を下にして置いている状態の時はセンサーが塞がれた状態となり、グラフでプロットされる値はゼロに近い値となります。
そして、端末を手で浮かせると、端末の背面の下に隙間ができて光が差し込むため、センサーで取得される値が大きくなります(そのため、端末の傾き具合によって、グラフの値が変化)。

ここでベースにしたソースコードは「Line Charts のサンプル」のほうで、そこに「光センサーのサンプル」の一部を追加したりしました。

具体的に追加・変更した部分は以下のとおりです。

【↓ソースコードの setup()内と loop()内の冒頭部分】
ソースコードの変更箇所.jpg

【↓ソースコードの loop()内の最後の部分】
ソースコードの変更箇所2.jpg

おわりに

Wio Terminal の公式サンプルはまだたくさんあり、そして試せてない機能も多いため、引き続きサンプルを試したり変更を加えたり、ということをやってみようと思います。

8
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?