teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

更に追記

2021/05/06 22:45

投稿

nac_tnk
nac_tnk

スコア512

answer CHANGED
@@ -21,8 +21,8 @@
21
21
 
22
22
  void setup() {
23
23
  pinMode(10, 2);//安全用D10-GNDで送信停止
24
+ MIDI.begin(MIDI_CHANNEL_OMNI);
24
25
  Serial1.begin(115200);//USBシリアルモジュール
25
- MIDI.begin(MIDI_CHANNEL_OMNI);
26
26
  Keyboard.begin();
27
27
  }
28
28
 
@@ -40,4 +40,23 @@
40
40
  けれども、実際にLEONARDO(私が使ったのはPRO MICROですけど)だとMIDIデバイスを作ってしまったりで、実際問題として、私では上手くいきませんでした。
41
41
  上で示したように、もう一本繋げば動作します。
42
42
 
43
- そのあたりは、設定方法を知っている詳しい方もいるかもしれません。
43
+ そのあたりは、設定方法を知っている詳しい方もいるかもしれません。
44
+
45
+
46
+ 追記/変更
47
+
48
+ ちょっと上記スケッチで良くないと思われる箇所があったので追記します。
49
+ 現在
50
+
51
+ > Serial1.begin(115200);//USBシリアルモジュール
52
+ > MIDI.begin(MIDI_CHANNEL_OMNI);
53
+
54
+ となっている個所は
55
+
56
+ MIDI.begin(MIDI_CHANNEL_OMNI); //ここでMIDIの31250bpsになる
57
+ Serial1.begin(115200);//それを112500bpsで上書きしてHairlessのデフォルト速度にする
58
+
59
+ という事らしいです。
60
+ 私の場合は既にMIDIライブラリの方(midi_Settings.h)を112500bpsに書き換えてあるので上記で動作した(そもそもSerial1.beginの行は要らなかった)という事らしいです。
61
+
62
+ なので、上記のスケッチの順番を変えました。

2

更に追記

2021/05/06 22:45

投稿

nac_tnk
nac_tnk

スコア512

answer CHANGED
@@ -4,4 +4,40 @@
4
4
 
5
5
  とチェックを入れないと繋がりませんよ。
6
6
 
7
- 画像追加![イメージ説明](12b90eb7ddde5c8c6ad33b05c9b8b3e4.jpeg)
7
+ 画像追加![イメージ説明](12b90eb7ddde5c8c6ad33b05c9b8b3e4.jpeg)
8
+
9
+
10
+ 一応試したので記しておきます。
11
+ ↓で、「Leonardo(ソフトシリアル)」と書いたのは、UNO等のシリアルは既に使っている状態、と間違えただけです。(ソフトシリアルでも可能でしょうけど)
12
+ LEONARDOならシリアルは使っていないので、それとUSBシリアル変換モジュールを繋ぎます。
13
+ 一応、収拾がつかなくなるのがいやなのでD10ピン-GNDに繋ぐとキー送信はしません。
14
+ 何も繋がなければ動きます。キーは'a'に変えてあります。(番号が何か判らなかったので、とっさに)
15
+
16
+ ```Arduino
17
+ #include <MIDI.h>
18
+ #include <Keyboard.h>
19
+
20
+ MIDI_CREATE_INSTANCE(HardwareSerial, Serial1, MIDI);//D0、D1をUSBシリアル変換モジュールと繋ぐ。
21
+
22
+ void setup() {
23
+ pinMode(10, 2);//安全用D10-GNDで送信停止
24
+ Serial1.begin(115200);//USBシリアルモジュール
25
+ MIDI.begin(MIDI_CHANNEL_OMNI);
26
+ Keyboard.begin();
27
+ }
28
+
29
+ void loop() {
30
+ if (MIDI.read()&& digitalRead(10)) {
31
+ Keyboard.press('a');
32
+ delay(1);
33
+ Keyboard.release('a');
34
+ }
35
+ }
36
+
37
+ ```
38
+
39
+ ついでに言えば、「USB1本でも可能な筈」とは私自身も思っています。
40
+ けれども、実際にLEONARDO(私が使ったのはPRO MICROですけど)だとMIDIデバイスを作ってしまったりで、実際問題として、私では上手くいきませんでした。
41
+ 上で示したように、もう一本繋げば動作します。
42
+
43
+ そのあたりは、設定方法を知っている詳しい方もいるかもしれません。

1

追記

2021/05/05 09:37

投稿

nac_tnk
nac_tnk

スコア512

answer CHANGED
@@ -2,4 +2,6 @@
2
2
 
3
3
  ☑Serial<->MIDI Bridge ON
4
4
 
5
- とチェックを入れないと繋がりませんよ。
5
+ とチェックを入れないと繋がりませんよ。
6
+
7
+ 画像追加![イメージ説明](12b90eb7ddde5c8c6ad33b05c9b8b3e4.jpeg)