Skip to main content

XIAO RA4M1 マウス

note

この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues

必要な材料

Seeed Studio XIAO RA4M1Grove サムジョイスティックGrove ケーブル

事前準備

XIAO RA4M1 の内蔵 LED を点灯する

もし XIAO RA4M1 を初めて使用する場合は、こちらをクリックしてください。内蔵 LED を点灯させる方法を学び、開発環境が正常に動作していることを確認します。

Grove ジョイスティックの X 軸と Y 軸データを読み取る

ステップ 1. デバイスを接続する

まず、以下の表に従って XIAO RA4M1 とジョイスティックをピンで接続します。

XIAO RA4M1Grove - サムジョイスティック
3.3V
GND
A0
A1

次に、以下の画像のように Grove ケーブルを使用して接続します。

ステップ 2. テストプログラムをアップロードする

以下のコードをコピーして Arduino IDE に貼り付け、XIAO RA4M1 にアップロードします。

void setup()
{
Serial.begin(9600);
}

void loop()
{
int sensorValue1 = analogRead(A0);
int sensorValue2 = analogRead(A1);

Serial.print("X と Y の座標は:");
Serial.print(sensorValue1, DEC);
Serial.print(",");
Serial.println(sensorValue2, DEC);
Serial.println(" ");
delay(200);
}

ジョイスティックを動かすと、軸データが同時に変化します。これにより、XIAO RA4M1 とジョイスティックが正常に動作していることが確認できます。

XIAO RA4M1 を使用したマウスの構築

ステップ 3. マウスコントローラープログラムをアップロード

#include <Mouse.h>

const int xaxis = A0;
const int yaxis = A1;
const int sensitivity = 5; // マウスの感度を調整

void setup()
{
Mouse.begin();
delay(1000); // 初期化に最低1000ms必要
Serial.begin(9600);
}

void loop()
{
int xValue = analogRead(xaxis);
int yValue = analogRead(yaxis);

/*
Groveジョイスティックの中央ボタンをクリックすると、xValueは1023になります。
そのため、xValue < 1000の場合はマウスを移動し、xValue > 1000の場合はマウスをクリックします。
*/
if(xValue < 1000){

// マウス移動距離を定義
int xDistance;
int yDistance;

/*
ジョイスティックは、座標軸の中心を500としてxおよびy値を読み取ります。
したがって、データを500で減算して処理する必要があります。また、微小な振動を排除します。
*/
// X軸の微小な振動を排除
if(abs(xValue - 500) < 10){
xDistance = 0;
}else{
xDistance = (xValue - 500);
}
// Y軸の微小な振動を排除
if(abs(yValue - 500) < 10){
yDistance = 0;
}else{
yDistance = (yValue - 500);
}
// ジョイスティックから値を読み取る
Serial.print("value: ");
Serial.print(xValue);
Serial.print(",");
Serial.println(yValue);
Serial.println(" ");
// マウスが移動する距離を読み取る
Serial.print("distance: ");
Serial.print(xDistance);
Serial.print(",");
Serial.println(yDistance);
Serial.println(" ");

// マウスの感度を低くする
Mouse.move(xDistance / sensitivity, -yDistance / sensitivity, 0);
}else{
// xValue > 1000の場合、マウスクリック
Mouse.click();
}
delay(100);
}

ジョイスティックを操作すると、カーソルが動いているのが確認できるはずです ~

おめでとうございます!この小さなシンプルなマウスを無事に構築できました。XIAO RA4M1を使用して、さらに興味深いHID(ヒューマンインターフェースデバイス)機能を探索することができます。もっと学びたいですか?こちらをクリックしてジャンプしてください~

技術サポートと製品ディスカッション

私たちの製品を選んでいただきありがとうございます!製品の使用体験がスムーズになるよう、さまざまなサポートを提供しています。異なる好みやニーズに対応するため、いくつかのコミュニケーションチャネルを用意しています。

Loading Comments...