2026年6月3日水曜日

wioterminal arduino (ドラフト)

 

5-2は以下でうごいた やはマイク感度は不安定? なお5-6など、このあとほかのスケッチがかけなくなった
場合はプログラムが暴走しているのでリセットかけてスケッチ書けるようになる

#include <LGFX_AUTODETECT.hpp>
#include <LovyanGFX.hpp>
static LGFX tft;

void setup() {
  // 液晶の初期化など
  tft.begin();
  digitalWrite(LCD_BACKLIGHT, HIGH);
  tft.setRotation(1);
  tft.fillScreen(TFT_BLACK);

  // マイクを入力に設定
  pinMode(WIO_MIC, INPUT);
}

void loop() {
  int val = analogRead(WIO_MIC);
  tft.println(val);
  delay(1000);
}

5-4は以下でうごいた 画面はちらつくが今後の課題  5-8も最初の1行追加でうごいた

6-1も同様であった

#include <LGFX_AUTODETECT.hpp>

#include <LovyanGFX.hpp>

#include "LIS3DHTR.h"

static LGFX tft;

LIS3DHTR<TwoWire> lis;

void setup() {

  tft.begin();

  pinMode(LCD_BACKLIGHT, OUTPUT);

  digitalWrite(LCD_BACKLIGHT, HIGH);

  tft.setRotation(1);

  Wire1.begin();

  lis.begin(Wire1);

  lis.setOutputDataRate(LIS3DHTR_DATARATE_25HZ);

  lis.setFullScaleRange(LIS3DHTR_RANGE_2G);

}


void loop() {

  float x = lis.getAccelerationX();

  float y = lis.getAccelerationY();

  float z = lis.getAccelerationZ();

  tft.fillScreen(TFT_BLACK);

  tft.setCursor(0,0);

  tft.setTextSize(2);


  tft.printf("X = %.2f\n", x);

  tft.printf("Y = %.2f\n", y);

  tft.printf("Z = %.2f\n", z);

  delay(100);

}

以下で成功、以下の最初の1行が追加必要であった 4-3 ちなみに4-2も同様だった 

7-1、7-4も同様

#include <LGFX_AUTODETECT.hpp> これが重要!

#include <LovyanGFX.hpp>
static LGFX tft;

void setup() {
  // 液晶の初期化など
  tft.begin();
  digitalWrite(LCD_BACKLIGHT, HIGH);
  tft.setRotation(1);
  tft.fillScreen(TFT_BLACK);

  tft.setTextDatum(MC_DATUM);
  tft.setFont(&fonts::efontJA_12);
  tft.drawString("日本語16px", 160, 80);
}

void loop() {
}


3-3 訂正が必要だった 

#define LGFX_WIO_TERMINAL
#define LGFX_AUTODETECT
#define LGFX_USE_V1
#include <LovyanGFX.hpp>
#include <LGFX_AUTODETECT.hpp>

static LGFX tft;

void setup() {
  // 液晶の初期化など
  tft.begin();
  digitalWrite(LCD_BACKLIGHT, HIGH);
  tft.setRotation(1);
  tft.fillScreen(TFT_BLACK);
}

void loop() {
  // ランダムな場所に四角形や円、文字列を描画する
  // ランダムな座標
  int x = random(0, 320);
  int y = random(0, 240);
  int r = random(10, 100);

  // ランダムな色
  int red = random(0, 256);
  int green = random(0, 256);
  int blue = random(0, 256);
  int color = tft.color565(red, green, blue);

  switch (random(0, 3)) {
    case 0:
      // 円
      tft.fillCircle(x, y, r, color);
      break;
    case 1:
      // 四角形
      tft.fillRect(x - r, y - r, r * 2, r * 2, color);
      break;
    case 2:
      // 文字列
      tft.setTextDatum(CC_DATUM);
      tft.setTextColor(color);
      tft.drawString("Wio Terminal", x, y);
  }
}

0 件のコメント:

コメントを投稿