Joystick Module(KY-023) JP: 두 판 사이의 차이
(새 문서: {{#seo:|title=アドウィキ:Arduino ジョイスティックモジュール ガイド|title_mode=append|keywords=Arduino, 情報科学, メイカー教育, パフォーマンス課題, ジョイスティックモジュール, Arduino作品, キャップストーン作品, Arduinoサンプルコード|description=Arduinoでジョイスティックモジュールを制御する方法(基本情報、回路、サンプルコード)を紹介します。情報科学やメイ...) |
(차이 없음)
|
2025년 3월 27일 (목) 18:11 판

抵抗の変化によりX軸とY軸の値が変化し、中央のボタンを押すとスイッチの役割を果たすモジュールです。
移動操作が必要なRCカーやドローンなどでよく使われます。
仕様
- 動作電圧:3.3V ~ 5V
- X軸、Y軸 アナログ出力
- Z軸 スイッチ デジタル出力(プルアップ抵抗なし)
使用ハードウェア(例)
- Arduino board
- ジャンパーワイヤー
- ジョイスティックモジュール
- LCD 1602
接続
| Arduino Nano | LCD | ジョイスティックモジュール |
| 5V | VCC | 5V |
| GND | GND | GND |
| A1 | VRx | |
| A0 | VRy | |
| D2 | SW | |
| A4 | SDA | |
| A5 | SCL |

サンプルコード
ジョイスティックの座標とスイッチの状態をLCDに表示するサンプルです。
LCDの使い方はリンクを参照してください。
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int xAxis = A1;
const int yAxis = A0;
const int zSwitch = 2;
void setup() {
pinMode(zSwitch, INPUT_PULLUP);
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("X:");
lcd.setCursor(8, 0);
lcd.print("Y:");
lcd.setCursor(0, 1);
lcd.print("Z : ");
}
void loop() {
for (int i = 2; i < 6; i++) {
lcd.setCursor(i, 0);
lcd.print(" ");
}
lcd.setCursor(2, 0);
lcd.print(analogRead(xAxis));
for (int i = 10; i < 14; i++) {
lcd.setCursor(i, 0);
lcd.print(" ");
}
lcd.setCursor(10, 0);
lcd.print(analogRead(yAxis));
lcd.setCursor(4, 1);
lcd.print(digitalRead(zSwitch));
delay(100);
}
実行結果