- Arduino初心者熱烈大歓迎質問スレ part21
334 :774ワット発電中さん[sage]:2018/06/14(木) 18:28:42.49 ID:g39WySNx - >>317
>>318 >>320 どうもありがとうございます 使ってる処理系のマニュアルとは具体的になにを指すんでしょうか? Arduinoが使いたいんですが、C言語のリファレンスということですか?
| - Arduino初心者熱烈大歓迎質問スレ part21
335 :774ワット発電中さん[sage]:2018/06/14(木) 18:30:13.84 ID:g39WySNx - >>304を以下のように書き換えたんですが、トグルスイッチが反応しません。
トグルスイッチは画像の左下の9と11、グランドはアナログ入力のポッドのグランドと共用しています。 どこが間違えていますか? http://78.media.tumblr.com/cdadca4e95808b376de52a88a5468367/tumblr_mi61oww6cu1s5t695o1_1280.png
| - Arduino初心者熱烈大歓迎質問スレ part21
336 :774ワット発電中さん[sage]:2018/06/14(木) 18:30:29.18 ID:g39WySNx - #include "MIDIUSB.h"
#define N_POTS 2 const uint8_t MIDICC = 0x0B; const int potPin[] = {0, 1}; const uint8_t potCN[] = {0x07, 0x27}; const int toggleLPin = 9; const int toggleRPin = 11; const uint8_t toggleLCN = 0x50; const uint8_t toggleRCN = 0x51; uint8_t potValues[N_POTS]; uint8_t potValuePrev[] = {0, 0}; void setup() { pinMode(toggleLPin,INPUT); pinMode(toggleRPin,INPUT); } void loop() { readPots(); sendMIDI(); sendToggle(); MidiUSB.flush(); } void readPots() { for (int i=0; i < N_POTS; i++) { int val = analogRead(potPin[i]); potValues[i] = (uint8_t) (map(val, 0, 1023, 0, 127)); } } void controlChange(byte channel, byte control, byte value) { midiEventPacket_t event = {0x0B, 0xB0 | channel, control, value}; MidiUSB.sendMIDI(event); } void sendMIDI() { for (int i=0; i < N_POTS; i++) { if (abs(potValuePrev[i] - potValues[i]) > 1) { potValuePrev[i] = potValues[i]; controlChange(0, potCN[i], potValues[i]); } } } void sendToggle() { if (digitalRead(toggleLPin) == HIGH) controlChange(0, toggleLCN, 1); else if (digitalRead(toggleRPin) == HIGH) controlChange(0, toggleRCN, 1); }
| - Arduino初心者熱烈大歓迎質問スレ part21
337 :774ワット発電中さん[sage]:2018/06/14(木) 18:53:20.13 ID:g39WySNx - 訂正
上だと、トグルスイッチの位置にかかわらず常にCC80が出力されてしまいました。 そのため、PC側でポッドになにかの機能をアサインしたくてもスチッチの出力に反応してしまいます。 PC側のMIDI機器のAとBを切り替えるためのスイッチとして使いたいです。
| - Arduino初心者熱烈大歓迎質問スレ part21
339 :774ワット発電中さん[sage]:2018/06/14(木) 20:03:59.07 ID:g39WySNx - >>338
どうもありがとうございます void setup() { pinMode(toggleLPin,INPUT); pinMode(toggleRPin,INPUT); } を以下に変えたけれどダメでした void setup() { pinMode(toggleLPin,INPUT_PULLUP); pinMode(toggleRPin,INPUT_PULLUP); }
| - Arduino初心者熱烈大歓迎質問スレ part21
340 :774ワット発電中さん[sage]:2018/06/14(木) 20:25:05.42 ID:g39WySNx - 繋げ方間違えていますね。きっと。
http://akizukidenshi.com/img/goods/4/P-03774.jpg https://i.imgur.com/GP1aZTk.jpg
|
|