XIAO RA4M1 マウス
note
この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues
必要な材料
Seeed Studio XIAO RA4M1 | Grove サムジョイスティック | Grove ケーブル |
---|---|---|
![]() | ![]() | ![]() |
事前準備
XIAO RA4M1 の内蔵 LED を点灯する
もし XIAO RA4M1 を初めて使用する場合は、こちらをクリックしてください。内蔵 LED を点灯させる方法を学び、開発環境が正常に動作していることを確認します。
Grove ジョイスティックの X 軸と Y 軸データを読み取る
ステップ 1. デバイスを接続する
まず、以下の表に従って XIAO RA4M1 とジョイスティックをピンで接続します。
XIAO RA4M1 | Grove - サムジョイスティック |
---|---|
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(ヒューマンインターフェースデバイス)機能を探索することができます。もっと学びたいですか?こちらをクリックしてジャンプしてください~
技術サポートと製品ディスカッション
私たちの製品を選んでいただきありがとうございます!製品の使用体験がスムーズになるよう、さまざまなサポートを提供しています。異なる好みやニーズに対応するため、いくつかのコミュニケーションチャネルを用意しています。