FC2カウンター FPGAの部屋 Wio Terminal をArduino IDE で使う2(Windows 10 で 3 軸加速度センサーを使う)
fc2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

Wio Terminal をArduino IDE で使う2(Windows 10 で 3 軸加速度センサーを使う)

Wio Terminal をArduino IDE で使う1”の続き。

前回は、Ubuntu 18.04 で Arduino IDE をインストールしたが、いろいろなサンプル・スケッチが動作しなかった。それではWindows 10 はどうだろう?ということで、前回を参照して、Windows 10 に Arduino IDE をインストールして、Wio Terminal 用のボードマネージャを設定した。今回は、3 軸加速度センサーのライブラリをインストールして、液晶画面に 3 軸加速度センサーの値を表示した。

まずは、Windows 10 用の Arduino IDE をインストーラーでインストールした。
Download the Arduino IDE ページから Winodows 用のインストーラーをダウンロードして、インストールした。

Arduino IDE のファイルメニュー -> 環境設定を選択して、開いた環境設定ダイアログの”追加のボードマネージャのURL :”に

https://files.seeedstudio.com/arduino/package_seeeduino_boards_index.json

を入力した。
Wio_Terminal_Arduino_1_200609.png

ツールメニュー -> ボード -> ボードマネージャを選択してダイアログを開いた。
Seeed SAMD Boards があるので”インストール”ボタンをクリックした。(既にインストール済み)
Wio_Terminal_Arduino_2_200609.png

Ubuntu 18.04 では動作しなかったファイルメニュー -> スケッチ例 -> Seeed_Arduino_LCD -> Generic -> drawXBitmap も動作した。
Wio_Terminal_Arduino_3_200609.png

Wio_Terminal_Arduino_4_200609.jpg

次に、3 軸加速度センサーのライブラリを”Installing the 3-Axis Digital Accelerometer(LIS3DHTR) Library For Wio Terminal”を参考にしてインストールする。

GitHub の Seeed-Studio/Seeed_Arduino_LIS3DHTR を ZIP でダウンロードする。

Seeed_Arduino_LIS3DHTR-master.zip がダウンロードできた。
Arduino IDE のスケッチメニュー -> ライブラリをインクルード -> .ZIP 形式のライブラリをインストール... を選択する。
ダイアログで Seeed_Arduino_LIS3DHTR-master.zip を指定する。
Wio_Terminal_Arduino_5_200609.png

スケッチメニュー -> ライブラリをインクルードに Grove 3-Axis Digital Accelerometer ±2g to 16g (LIS3DHTR) が追加された。
Wio_Terminal_Arduino_6_200609.png

Getting Started with IMU を見て、3 軸加速度センサーの Example Code を試してみた。
Wio_Terminal_Arduino_7_200609.png

シリアルモニタを表示して、ソフトウェアを起動した。
Wio_Terminal_Arduino_8_200609.png

加速度が取れている。

これだけだと、上に流れていくのが早すぎてよく分からないので、LCD の固定位置に表示することにした。
Getting Started with IMU の 3 軸加速度センサーの Example Code や Using different Fonts などを参考にして、ime_lcd_disp1.ino を作った。ime_lcd_disp1.ino を貼っておく。

#include"LIS3DHTR.h"
LIS3DHTR<TwoWire> lis;

#include"TFT_eSPI.h"
#include <SPI.h>
TFT_eSPI tft;

void setup() {
  lis.begin(Wire1);
 
  if (!lis) {
    Serial.println("ERROR");
    while(1);
  }
  lis.setOutputDataRate(LIS3DHTR_DATARATE_25HZ); //Data output rate
  lis.setFullScaleRange(LIS3DHTR_RANGE_2G); //Scale range set to 2g

  tft.begin();
  tft.setRotation(3);
  tft.fillScreen(TFT_BLACK); //Black background
}

void loop() {
  float x_values, y_values, z_values;
  x_values = lis.getAccelerationX();
  y_values = lis.getAccelerationY();
  z_values = lis.getAccelerationZ();
  
  char x_str[100], y_str[100], z_str[100];
  dtostrf(x_values, 6, 2, x_str);
  dtostrf(y_values, 6, 2, y_str);
  dtostrf(z_values, 6, 2, z_str);

  tft.drawString(x_str, 70, 60, 6);
  tft.drawString(y_str, 70,110, 6);
  tft.drawString(z_str, 70,160, 6);

  delay(100);
}


Wio_Terminal_Arduino_9_200609.png

一番上が x 軸、その下が Y 軸、一番下が Z 軸だ。
Wio_Terminal_Arduino_10_200609.jpg
  1. 2020年06月09日 05:01 |
  2. Wio Terminal
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/4910-686a9fe1
この記事にトラックバックする(FC2ブログユーザー)