この記事では、Windows11のPCを使用しています。
目次
本記事で使用するもの
記事を見て、気になるものがあれば、是非チェックをしてみてください。
マウスの操作を行う
今回はジョイスティックでマウスを動かし、スイッチでマウスのボタンを押すといったことを行いたいと思います。
空のスケッチを書き込む
回路を作成する前に、空のスケッチ(「ファイル」タブの「New Sketch」をクリックしたときに出てくる何の処理も書かれていないスケッチ)を書き込みます。
前に作成した回路がある場合は、その回路を崩す前に空のスケッチを書き込みます。
そうすることにより、前に書き込んだスケッチが、新しく作成しようとしている回路に影響を及ぼすことを防げます。
また、前に作成した回路を崩さずに空のスケッチを書き込むのは、ボードへの入力が無いことによって、PCへの操作が行われる場合があるからです。
新しい回路を作成するときは、いつもこの作業をやっておくと、安全に回路を作成することができます。
回路を作成する
以下のような回路を作成します。
スケッチを書き込む
回路の作成が終わりましたら、以下のようなスケッチを書き込みます。
「void start()」にて、ジョイスティックの初期値を取得しているため、書き込みが完了して直ぐや、USBケーブルを差してから直ぐは、ジョイスティックに触れないようにしてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
/* ArduinoMicroで操作(5,マウスの操作); 2024/08/29 mouse_test スケッチの詳細はこちら↓ https://mecha-norimaki.com/arduino_micro_05/ */ //ライブラリの読みこみ #include <Mouse.h> //ジョイスティックに繋がっているピンを指定 const int joystickX = A2; const int joystickY = A1; const int joystickSw = A0; //ジョイスティックから読み取るX,Y方向の値 int xValue; int yValue; //ジョイスティックから手を放しているときのX,Y方向の値 int xOffset; int yOffset; //スイッチに繋がっているピンを指定 const int switches[] = { 2, 3, 4 }; //USBを繋げた瞬間暴走してしまうような状態を止めるためのピンを指定 const int pausePin = 13; void setup() { //pausePinに指定したピンを入力ピンとして設定(デフォルト設定なので省略しても良い) pinMode(pausePin, INPUT); //pausePinに指定したピンがHIGHのとき空の文を無限に行い以降の文を実行しないようにする while (digitalRead(pausePin)) {} //ジョイスティックのX,Yに繋いだピンを入力ピンとして設定する(デフォルト設定なので省略しても良い) pinMode(joystickX, INPUT); pinMode(joystickY, INPUT); //ジョイスティックのスイッチに繋いだピンをプルアップ付きの入力ピンとして設定する pinMode(joystickSw, INPUT_PULLUP); //スティックから手を放しているときのX,Y方向の値を取得 xOffset = analogRead(joystickX); yOffset = analogRead(joystickY); //スイッチに繋がっているピンをプルアップ付きの入力ピンとして設定する for (int i = 0; i < sizeof(switches) / sizeof(switches[0]); i++) { pinMode(switches[i], INPUT_PULLUP); } //マウスとして利用するための初期設定(無くても機能するが念のため) Mouse.begin(); } void loop() { //X,Y方向の値を取得する xValue = analogRead(joystickX); yValue = analogRead(joystickY); //X軸方向の値に応じてマウスを左、右に移動したという情報を送る if (xValue < xOffset - 300) { Mouse.move(-3, 0); } else if (xValue < xOffset - 100) { Mouse.move(-1, 0); } if (xValue < xOffset + 100) { //何もしない } else if (xValue < xOffset + 300) { Mouse.move(1, 0); } else { Mouse.move(3, 0); } //Y軸方向の値に応じてマウスを奥、手前に移動したという情報を送る if (yValue < yOffset - 300) { Mouse.move(0, -3); } else if (yValue < yOffset - 100) { Mouse.move(0, -1); } else if (yValue < yOffset + 100) { //何もしない } else if (yValue < yOffset + 300) { Mouse.move(0, 1); } else { Mouse.move(0, 3); } //joystickSwのスイッチが押されたら左ボタンが押されているという情報を送り、離されたらその情報を取り消す if (!digitalRead(joystickSw)) { Mouse.press(); } else { Mouse.release(); } //switches[0]のスイッチが押されたらホイールボタンが押されているという情報を送り、離されたらその情報を取り消す if (!digitalRead(switches[0])) { Mouse.press(MOUSE_MIDDLE); } else { Mouse.release(MOUSE_MIDDLE); } //switches[1]のスイッチが押されたら右クリックを行う if (!digitalRead(switches[1])) { Mouse.click(MOUSE_RIGHT); while (!digitalRead(switches[1])) {} delay(200); } //switches[2]のスイッチが押されたらホイールを下に回したという情報を送る if (!digitalRead(switches[2])) { Mouse.move(0, 0, -1); while (!digitalRead(switches[2])) {} delay(200); } } |
スケッチを書き込んだ後に、マウスの操作が勝手に行われる場合は、USBケーブルを抜いてください。
その後、回路とスケッチが間違っていないかの確認を行います。
ジョイスティックの初期値の取得が上手くいってない場合は、マウスカーソルが勝手に動いてしまいますが、ジョイスティックに触れていない状態で、USBケーブルを差し直すことで治る場合があります。
間違って書き込んだスケッチによる操作により、修正したスケッチの書き込みが困難な場合は、対策を次の節である「スケッチの解説」にて説明していますので、先にそちらをご覧ください。
回路とスケッチが正しい場合、ジョイスティックとスイッチの操作に応じてマウスの操作が行われます。
スケッチの解説
暴走を止めるための文
私は「Arduino Micro」にスケッチを書き込むとき、以下のような文を書いて暴走したときの対処を行っています。
まず、スケッチの初めにある以下の文で、「pausePin」という定数を用意して暴走を止めるためのピンの番号を格納しています。
29 30 |
//USBを繋げた瞬間暴走してしまうような状態を止めるためのピンを指定 const int pausePin = 13; |
次に、「void setup()」初めに、以下の文を書くことにより、暴走を止めるためのピンがHIGHのとき空のループを行うようにしています。
34 35 36 37 38 |
//pausePinに指定したピンを入力ピンとして設定(デフォルト設定なので省略しても良い) pinMode(pausePin, INPUT); //pausePinに指定したピンがHIGHのとき空の文を無限に行い以降の文を実行しないようにする while (digitalRead(pausePin)) {} |
上記の文が正しく書き込めていれば、PCとの接続前に「pausePin」に指定したピン(上記の場合だと13番ピン)と5Vピンを接続することで、暴走を止めることができます。
上記の文の詳細や上記の文が機能しなかったときの対処法は、以下の記事で説明していますので、良く分からないという方は、是非以下の記事をご覧になってください。
ジョイスティックを扱うための初期設定
ジョイスティックを扱うための初期設定は以下の通りです。
まず、スケッチの初めにある以下の文により、ジョイスティックに繋がっているピンの番号を定数として格納しています。
13 14 15 16 |
//ジョイスティックに繋がっているピンを指定 const int joystickX = A2; const int joystickY = A1; const int joystickSw = A0; |
ジョイスティックのX,Y軸の動きは「analogRead()」にて読み取る予定なので、それぞれの値を格納するための変数を2つ用意しています。
18 19 20 |
//ジョイスティックから読み取るX,Y方向の値 int xValue; int yValue; |
また、ジョイスティックが中央にある時の値を格納するために、さらに2つの変数を用意しています。
22 23 24 |
//ジョイスティックから手を放しているときのX,Y方向の値 int xOffset; int yOffset; |
続いて、「void setup()」の中で以下のような文を記述し、ジョイスティックのX,Yに繋いだピンを入力ピンに、ジョイスティックのスイッチに繋いだピンをプルアップ付きの入力ピンとして設定しています。
40 41 42 43 44 45 |
//ジョイスティックのX,Yに繋いだピンを入力ピンとして設定する(デフォルト設定なので省略しても良い) pinMode(joystickX, INPUT); pinMode(joystickY, INPUT); //ジョイスティックのスイッチに繋いだピンをプルアップ付きの入力ピンとして設定する pinMode(joystickSw, INPUT_PULLUP); |
ピンの設定をした後は、以下の文により、スティックから手を放しているときのX,Y方向の値を取得しています。
47 48 49 |
//スティックから手を放しているときのX,Y方向の値を取得 xOffset = analogRead(joystickX); yOffset = analogRead(joystickY); |
ジョイスティックについての初期設定は以上です。
「void loop()」では、これらの変数を利用して、中央からどれだけジョイスティックを動かしたかを検知し、マウスの操作を行います。
今回は「void setup()」にて、スティックから手を放しているときのX,Y方向の値を自動的に取得しましたが、スティックが動いている状態でこの処理が行われると、スティックから手を放しているときのX,Y方向の値が上手く取得できず、誤作動を起こすため注意が必要です。
先にシリアル通信などで、手を放している状態の値を確認しておいて、スケッチでその値を記述する方法のほうが、面倒くさいですが安定するかもしれません。
以下の記事ではジョイスティックの使い方やシリアル通信でジョイスティックの値を取得する方法を説明していますので、ジョイスティックの使い方が良く分からないという方は、是非以下の記事をご覧になってください。
スイッチを扱うための初期設定
スイッチを扱うための初期設定は以下の通りです。
まず、スケッチの初めにある以下の文により、スイッチに繋がっているピンの番号を配列としてまとめています。
26 27 |
//スイッチに繋がっているピンを指定 const int switches[] = { 2, 3, 4 }; |
続いて、「void setup()」の中で以下のような文を記述しています。
51 52 53 54 |
//スイッチに繋がっているピンをプルアップ付きの入力ピンとして設定する for (int i = 0; i < sizeof(switches) / sizeof(switches[0]); i++) { pinMode(switches[i], INPUT_PULLUP); } |
上記の文では、「sizeof()」を利用して配列の要素数を確認し、さらに「for文」で要素の数だけ処理を繰り返すことにより、配列にまとめた番号のピンをすべてプルアップ付きの入力ピンとして設定しています。
上記の文の詳細は、以下の記事で説明していますので、良く分からないという方は、是非以下の記事をご覧になってください。
マウスの操作を行うための初期設定
Arduinoをマウスとして扱うためのライブラリが、標準ライブラリとして存在するため、それを利用します。
まず、スケッチの初めにある以下の文により、「Mouseライブラリ」を読み込みます。
10 11 |
//ライブラリの読みこみ #include <Mouse.h> |
続いて、「void setup()」の中にある以下の文により、マウスの初期設定を行います。
56 57 |
//マウスとして利用するための初期設定(無くても機能するが念のため) Mouse.begin(); |
上記の「Mouse.begin()」は、マウスの操作を行うために必要な処理と「Arduino Reference」に書かれています。
しかし、ライブラリの中身を確認したところ、マウスの操作を行うための初期処理はライブラリを読み込んだ時に行っており、「Mouse.begin()」は空の処理になっているという状態だったため、スケッチに「Mouse.begin()」を記述しないで動かしてみました。(2024/8/26に確認)
その結果、「Mouse.begin()」の記述がなくても正常に動作することを確認しましたが、バージョンの違いなどにより、処理内容が変化する可能性があるため、素直に記述することにしました。
マウスを動かす処理
マウスを動かす際には、「Mouse.move()」という関数を利用します。
この「Mouse.move()」はマウスをどのように動かしたかという情報を送ることができます。
ここで、第一引数はどれだけマウスを右、左に動かすかを表し、第二引数はどれだけマウスを手前、奥に動かすかを表しています。
引数の値は「-127~127」までの値を使用することができ、絶対値が大きければ大きい程、マウスを大きく動かしたという風に情報が送られます。
送る情報はマウスをどれだけ動かしたのかであるため、マウスカーソルの動きは、Windowsのマウス設定である「マウスポインターの速度」や「ポインタの精度を高める」などの影響を受けます。
今回のスケッチでは、以下のような文を「void loop()」の中で記述し、ジョイスティックの動きに応じて、マウスを動かすといったことを行っています。
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
//X,Y方向の値を取得する xValue = analogRead(joystickX); yValue = analogRead(joystickY); //X軸方向の値に応じてマウスを左、右に移動したという情報を送る if (xValue < xOffset - 300) { Mouse.move(-3, 0); } else if (xValue < xOffset - 100) { Mouse.move(-1, 0); } if (xValue < xOffset + 100) { //何もしない } else if (xValue < xOffset + 300) { Mouse.move(1, 0); } else { Mouse.move(3, 0); } //Y軸方向の値に応じてマウスを奥、手前に移動したという情報を送る if (yValue < yOffset - 300) { Mouse.move(0, -3); } else if (yValue < yOffset - 100) { Mouse.move(0, -1); } else if (yValue < yOffset + 100) { //何もしない } else if (yValue < yOffset + 300) { Mouse.move(0, 1); } else { Mouse.move(0, 3); } |
ボタンを押す処理
ボタンを押すための関数はいくつかあるので、順番に説明していきたいと思います。
まず、「Mouse.press()」についてです。
「Mouse.press()」は( )内で指定したボタンが押されているという情報を送ります。
ここで、( )内の文とボタンの対応は以下のようになっています。
また、( )の中が空の場合は、引数を「MOUSE_LEFT」として関数が実行されます。
続いて、「Mouse.release()」についてです。
実は「Mouse.press()」によって押されたボタンは、ずっと押されっぱなしの状態であると認識されます。
「Mouse.release()」を利用すると( )内で指定したボタンが押されているという情報を取り消すことができ、ボタンを離したと認識させることができます。
ここで、( )内の文とボタンの対応は先程の「Mouse.press()」と同じです。
今回のスケッチでは、以下のような文を「void loop()」の中で記述し、スイッチが押されていたらボタンを押しているという情報を送り、離されたらその情報を取り消すという使い方をしています。
93 94 95 96 97 98 99 100 101 102 103 104 105 |
//joystickSwのスイッチが押されたら左ボタンが押されているという情報を送り、離されたらその情報を取り消す if (!digitalRead(joystickSw)) { Mouse.press(); } else { Mouse.release(); } //switches[0]のスイッチが押されたらホイールボタンが押されているという情報を送り、離されたらその情報を取り消す if (!digitalRead(switches[0])) { Mouse.press(MOUSE_MIDDLE); } else { Mouse.release(MOUSE_MIDDLE); } |
これにより、「joystickSw」のスイッチはマウスの左ボタン、「switches[0]」のスイッチはマウスのホイールボタンと同じような働きをするようになります。
最後に、「Mouse.click()」についてです。
「Mouse.click()」は( )内で指定したボタンが押されているという情報を一瞬だけ送ります。
ここで、( )内の文とボタンの対応は先程の「Mouse.press()」、「Mouse.release()」と同じです。
この「Mouse.click()」は、クリックなど長押しを必要としない場面で使用されます。
今回のスケッチでは、以下のような文を「void loop()」の中で記述し、スイッチが押されたら、ボタンをクリックするという使い方をしています。
107 108 109 110 111 112 |
//switches[1]のスイッチが押されたら右クリックを行う if (!digitalRead(switches[1])) { Mouse.click(MOUSE_RIGHT); while (!digitalRead(switches[1])) {} delay(200); } |
これにより、「switches[1]」のスイッチを押すと右クリックが行われるようになります。
後ろの方に記述している「while文」では、スイッチが押されている間、空のループ処理を行い、長押しの際にもう一度入力が行われることや同時に他の処理が行われることを防いでいます。
また、最後の「delay(200)」はチャタリングにより、もう一度処理が行われてしまうことを防ぐために記述しています。
ホイールを回す処理
ホイールを回す際には、マウスを動かすときにも使った「Mouse.move()」という関数を利用します。
実は、「Mouse.move()」は、第三引数を指定することにより、マウスのホイールを回したという情報を送ることができます。
引数の値は「-127~127」までの値を使用することができ、この値が大きければ大きい程、ホイールを大きく回したという風に情報が送られます。
今回のスケッチでは、以下のような文を「void loop()」の中で記述し、スイッチが押されたら、ホイールを回すという使い方をしています。
114 115 116 117 118 119 |
//switches[2]のスイッチが押されたらホイールを下に回したという情報を送る if (!digitalRead(switches[2])) { Mouse.move(0, 0, -1); while (!digitalRead(switches[2])) {} delay(200); } |
これにより、「switches[2]」のスイッチを押すと下にホイールを少し回すといったことが行われるようになります。
マウスとキーボードの操作を行う
上記のスケッチでは、マウスの操作のみを行っていますが、同時にキー入力を行うことも可能です。
今回は、先程と同じ回路でキー入力とマウスの操作の両方を行ってみたいと思います。
キー入力については、以下の記事で説明をしていますので、「Arduino Micro」でキー入力をしたことが無いという方は、是非以下の記事をご覧になってください。
スケッチを書き込む
回路はそのままで以下のようなスケッチを書き込みます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 |
/* ArduinoMicroで操作(5,マウスの操作); 2024/08/29 mouse_test_2 スケッチの詳細はこちら↓ https://mecha-norimaki.com/arduino_micro_05/ */ //ライブラリの読みこみ #include <Mouse.h> #include <Keyboard.h> //ジョイスティックに繋がっているピンを指定 const int joystickX = A2; const int joystickY = A1; const int joystickSw = A0; //ジョイスティックから読み取るX,Y方向の値 int xValue; int yValue; //ジョイスティックから手を放しているときのX,Y方向の値 int xOffset; int yOffset; //スイッチに繋がっているピンを指定 const int switches[] = { 2, 3, 4 }; //USBを繋げた瞬間暴走してしまうような状態を止めるためのピンを指定 const int pausePin = 13; void setup() { //pausePinに指定したピンを入力ピンとして設定(デフォルト設定なので省略しても良い) pinMode(pausePin, INPUT); //pausePinに指定したピンがHIGHのとき空の文を無限に行い以降の文を実行しないようにする while (digitalRead(pausePin)) {} //ジョイスティックのX,Yに繋いだピンを入力ピンとして設定する(デフォルト設定なので省略しても良い) pinMode(joystickX, INPUT); pinMode(joystickY, INPUT); //ジョイスティックのスイッチに繋いだピンをプルアップ付きの入力ピンとして設定する pinMode(joystickSw, INPUT_PULLUP); //スティックから手を放しているときのX,Y方向の値を取得 xOffset = analogRead(joystickX); yOffset = analogRead(joystickY); //スイッチに繋がっているピンをプルアップ付きの入力ピンとして設定する for (int i = 0; i < sizeof(switches) / sizeof(switches[0]); i++) { pinMode(switches[i], INPUT_PULLUP); } //マウスとして利用するための初期設定(無くても機能するが念のため) Mouse.begin(); //キーボードとして利用するための初期設定 Keyboard.begin(); } void loop() { //X,Y方向の値を取得する xValue = analogRead(joystickX); yValue = analogRead(joystickY); //X軸方向の値に応じてマウスを左、右に移動したという情報を送る if (xValue < xOffset - 300) { Mouse.move(-3, 0); } else if (xValue < xOffset - 100) { Mouse.move(-1, 0); } if (xValue < xOffset + 100) { //何もしない } else if (xValue < xOffset + 300) { Mouse.move(1, 0); } else { Mouse.move(3, 0); } //Y軸方向の値に応じてマウスを奥、手前に移動したという情報を送る if (yValue < yOffset - 300) { Mouse.move(0, -3); } else if (yValue < yOffset - 100) { Mouse.move(0, -1); } else if (yValue < yOffset + 100) { //何もしない } else if (yValue < yOffset + 300) { Mouse.move(0, 1); } else { Mouse.move(0, 3); } //joystickSwのスイッチが押されたら左ボタンが押されているという情報を送り、離されたらその情報を取り消す if (!digitalRead(joystickSw)) { Mouse.press(); } else { Mouse.release(); } //switches[0]のスイッチが押されたら「shiftキー」が押されているという情報を送り、離されたらその情報を取り消す if (!digitalRead(switches[0])) { Keyboard.press(KEY_LEFT_SHIFT); } else { Keyboard.release(KEY_LEFT_SHIFT); } //switches[1]のスイッチが押されたら「ctrlキー」を押しながらホイールを上に回したという情報を送る if (!digitalRead(switches[1])) { Keyboard.press(KEY_LEFT_CTRL); Mouse.move(0, 0, 1); Keyboard.release(KEY_LEFT_CTRL); while (!digitalRead(switches[1])) {} delay(200); } //switches[2]のスイッチが押されたら「ctrlキー」を押しながらホイールを下に回したという情報を送る if (!digitalRead(switches[2])) { Keyboard.press(KEY_LEFT_CTRL); Mouse.move(0, 0, -1); Keyboard.release(KEY_LEFT_CTRL); while (!digitalRead(switches[2])) {} delay(200); } } |
スケッチが正しい場合、ジョイスティックとスイッチの操作に応じて、マウスの操作とキー入力が行われます。
スケッチの解説
初期設定
初期設定は先程のスケッチとほとんど同じで、ライブラリの読み込みとキー入力の初期化処理を行う文だけ追加をしました。
10 11 12 |
//ライブラリの読みこみ #include <Mouse.h> #include <Keyboard.h> |
60 61 |
//キーボードとして利用するための初期設定 Keyboard.begin(); |
これにより、キー入力とマウスの操作を同時に行うことができるようになります。
キー入力を行う処理
ジョイスティックで行っているマウスを動かす処理と左ボタンを押す処理については、先程のスケッチと同じです。
今回のスケッチでは、3つのスイッチを押した際の処理を、「Keyboard.press()」と「Keyboard.release()」を利用して、「shiftキー」を押す処理や「ctrlキー」を押しながらホイールを動かすという処理に変更しました。
104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 |
//switches[0]のスイッチが押されたら「shiftキー」が押されているという情報を送り、離されたらその情報を取り消す if (!digitalRead(switches[0])) { Keyboard.press(KEY_LEFT_SHIFT); } else { Keyboard.release(KEY_LEFT_SHIFT); } //switches[1]のスイッチが押されたら「ctrlキー」を押しながらホイールを上に回したという情報を送る if (!digitalRead(switches[1])) { Keyboard.press(KEY_LEFT_CTRL); Mouse.move(0, 0, 1); Keyboard.release(KEY_LEFT_CTRL); while (!digitalRead(switches[1])) {} delay(200); } //switches[2]のスイッチが押されたら「ctrlキー」を押しながらホイールを下に回したという情報を送る if (!digitalRead(switches[2])) { Keyboard.press(KEY_LEFT_CTRL); Mouse.move(0, 0, -1); Keyboard.release(KEY_LEFT_CTRL); while (!digitalRead(switches[2])) {} delay(200); } |
「Keyboard.press()」と「Keyboard.release()」については、以下の記事で説明していますので、良く分からないという方は、是非ご覧になってください。
終わりに
皆さん、マウスの操作を行うことができたでしょうか。
今回までの記事では、「ArduinoMicroで操作(~,~);」という題で、「Arduino Micro」を使ったキー入力とマウスの操作を行いました。
通常のキー入力やマウスの操作を行う場合、市販のキーボードやマウスで十分だと思いますが、自分だけしか使わないだろうと思われるような操作を簡単に行えるようなデバイスや不便だけど面白いデバイスを作れるのが「Arduino Micro」の魅力だと思います。
また、他のArduinoボードと同じように、センサなどを扱うことができるので、色々と学習をしながらそれらを取り入れてみると面白いかもしれません。
「Arduino Micro」を使った工作は今後も行いたいと思いますが、「ArduinoMicroで操作(~,~);」の記事はこの記事で終わります。
「Arduino Micro」について、復習したいとき、「ArduinoMicroで操作(~,~);」の記事が役にたてば幸いです。
本記事はここまでです。ご清覧ありがとうございました。
広告
今回の主役である「Arduino Micro」です。
まだ持っていないという方は、この機会に是非購入を検討してみてください。
「Arduino Micro」とPCと接続するためのケーブルです。
MicroBタイプのUSBケーブルが無い場合は、合わせて購入を検討してみてください。
今回使用したカラフルなスイッチのセットです。
スイッチを色で判別したいときや見た目をカラフルしたいときにおすすめです。
今回使用したコンパクトなブレッドボードとジャンパーワイヤーのセットです。
コンパクトな回路を作成する際に役立ちます。
今回使用したジョイスティックです。
3個セットになっています。
今回ジョイスティックを接続するために使用したジャンパーワイヤーです。
オス-メスのジャンパーワイヤー以外にも、オス-オス、メス-メスのジャンパーワイヤーが入っています。
楽天モーションウィジェットとGoogleアドセンス広告です。
気になる商品がございましたら、チェックをしてみてください。