*2軸ジョイスティック [#rbbbcb7d] #ref(s_joystick.png) -2軸のジョイスティック -上下左右の2軸のジョイスティック -10 kΩの可変抵抗を内蔵 --出力:アナログ電圧出力 --消費電力:0.01 W max -データシート #ref(27800-2-Axis-Joystick-Documentation-v1.2.pdf) -回路図 #ref(27800-2-Axis-Joystick-Schematic-RevB.pdf) *Arduinoとの接続 [#qcd06901] -ジョイスティックとArduinoを以下のように接続する。 |信号名|Arduino|備考| |L/R+|5V|| |U/D+|5V|| |L/R|任意のアナログ入力(A0~A5)|| |U/D|任意のアナログ入力(A0~A5)|| |GND|GND|| ~ #ref(Joystick-6.png) *サンプルコード [#a5b6ca0c] -「ファイル」→「スケッチの例」→「11.Human Input Devices」→「Joystick_2D」 /* ・Parallaxの2軸ジョイスティックのサンプルプログラムです。 ・200msごとにジョイスティックの状態を読み取り、シリアルモニタに出力します。 ・マイコンボードに書き込み後、「ツール」→「シリアルモニタ」を起動してください。 ・Arduinoとの接続 L/R+ 5V U/D+ 5V L/R 任意のアナログ入力(A0~A5) U/D 任意のアナログ入力(A0~A5) GND GND */ const int analogInPinUD = A0; // UDアナログ入力ピン(定数) const int analogInPinLR = A1; // LRアナログ入力ピン(定数) int UD = 0; // Up-DownのAD値(変数) int LR = 0; // Left-RightのAD値(変数) void setup() { Serial.begin(9600); // シリアルモニタを開始 } void loop() { UD = analogRead(analogInPinUD); // UDのAD値を取得 LR = analogRead(analogInPinLR); // LRのAD値を取得 Serial.print("UD = "); Serial.print(UD, DEC); Serial.print(", LR = "); Serial.println(LR, DEC); delay(200); } *実行例 [#zd6340d9] #ref(joystick-serial.png) *参考資料 [#c20bad59] -[[Parallax社(2-Axis Joystick)>https://www.parallax.com/product/27800]] -[[第14回 Arduinoでモーターを制御する!(その4)。リモコンの実装とArduino Pro Miniを使って小型化。>http://deviceplus.jp/hobby/entry014/]] -[[ジョイスティックでサーボをコントロールする。>http://cordblack.com/arduino/joystick-to-control-the-servo/]] ---- &size(12){Total:&counter(total); / Today:&counter(today); / Yesterday:&counter(yesterday);};