[Wio LTE]4つの数字の表示との仁義なき戦い #wiolte

WioLTE

今笑いましたね。

表示しない!なんで!だったので、ちょっとその仁義なき戦いを記録しておきます。

Grove – 4-Digit Display

まずは、seeed wikiを確認しましょう。

 

 

概要を読むとわかりますが、デジタルポートを使い、2デジタルピンを使うことがわかります。

デジタルポートは、D38とD20の2つあるので、どちらかに差し込みます。

 

 

サンプルコードを動かそう

上記のwikiの下にサンプルコードがあります。

これを参考に書き換えます。やらなければいけないことは3つ

  1. 必要なライブラリをインクルードする
  2. setupの部分にWioLTEのセットアップを加える
  3. ピン定義を自分の差し込んだポートと合わせること

必要なライブラリ

ライブラリをインクルードで、.zip形式のライブラリをインクルードできるので、zip形式のままインクルードします

 

setupの部分にWioLTEのセットアップを加える

初期化と電源供給!

SerialUSB.println("### Wio Initialize.");
Wio.Init();

SerialUSB.println(“### Power supply ON.”); Wio.PowerSupplyGrove(true);

D38以外のGroveポートを使用する場合は電源供給必須とのことです!

 

ピン定義を自分の差し込んだポートと合わせること

 

私は、D20に差し込んだので、CLKとDIOの定義は以下のとおり。

#define CLK    (WIOLTE_D20)
#define DIO    (WIOLTE_D19)

光る気配がない

さて!光らせちゃうよ!と意気込んだものの、数字が表示されませぬ。

コードをなんども見直します。おかしいところはない。。

 

「信号きてますかー?もしもーし?」

とか、しょうもないことをやっていたので、シャチョーが見てくれました。

ハードウェアのデバッグってどうするんですかね・・・

 

 

どうも信号がきていない模様。。

 

ちなみにテストコードで信号を送ってみても、信号が出ていませんでした。

if (out == LOW) {
    out = HIGH;
} else {
    out = LOW;
}

digitalWrite(CLK, out);

 

もしやと思い、setupにpinModeの設定を追加しました。
    pinMode(CLK, OUTPUT);
    pinMode(DIO, OUTPUT);

 

動いたああ

 

テストコードの信号が綺麗に受け取れました。
Wio.PowerSupplyGroveをした後に、pinModeの設定をする必要があったようです。

 

温度湿度を4digitディスプレイ表示

 

せっかくなので、SoracomのWioLTEハンズオンでやった、温度湿度計測との合わせ技で、今回はSoracomに送信せずに、手元の4digit Displayに表示してみました。

 

前2桁が温度で、後ろ2桁が湿度です。

簡単見える化。

 

 

息を吹きかけたり、握ったりして、温度と湿度を変化するか検証・・・

 

チョチョイのチョイだろう、と思っていると、案外いろんな罠が控えていたりします。。。
そういうのを越えるのも経験。やってみて、学ぶこと大事。。

 

Enjoy!