2弦ギターのArduinoスケッチの記事
Arduinoのスケッチは上記過去記事を改造したもの。
6弦張れた時点で、最終的なスケッチは、また載せるつもりでいる。
結局、弦を絶縁することにした。
これで、3弦はクリアすることが出来た。
緑と白が100kΩの抵抗を伝ってGNDに。
赤が「2番ピン」
黒が「3番ピン」
白が「4番ピン」
鼻息の音がどうしても入ってしまう。
なぜなんだろう。
サブルーチン化するとか、配列使うとか・・・気の利いたこと一切なし。
見やすいかな。
書くのは、しんどいけど。
以下、スケッチ、残しとこ。
#include <MIDI.h>MIDI_CREATE_DEFAULT_INSTANCE();// int notenumber[8]={60, 62, 64, 65, 67, 69, 71, 72};int outputValue = 0;int outputValue1 = 0;int outputValue2 = 0;int outputValue3 = 0;int outputValue4 = 0;int outputValue5 = 0;int outputValue6 = 0;int outputValue7 = 0;int outputValue8 = 0;int outputValue9 = 0;int outputValue10 = 0;int outputValue11 = 0;int outputValue12 = 0;void setup(){MIDI.begin();// Serial.begin(9600);pinMode( 2, OUTPUT);pinMode( 3, OUTPUT);pinMode( 4, OUTPUT);// pinMode( 5, OUTPUT);// pinMode( 6, OUTPUT);// pinMode( 7, OUTPUT);pinMode( 8, INPUT);pinMode( 9, INPUT);//digitalWrite(2,LOW);}void loop() {digitalWrite(2,HIGH);delay(100);if(digitalRead(8) == LOW && digitalRead(9) == HIGH){MIDI.sendNoteOn(72, 500, 1);delay(500);MIDI.sendNoteOff(72, 0, 1);}else if(digitalRead(8) == HIGH && digitalRead(9) == HIGH){MIDI.sendNoteOn(74, 500, 1);delay(500);MIDI.sendNoteOff(74, 0, 1);}else if(digitalRead(8) == HIGH && digitalRead(9) == LOW){MIDI.sendNoteOn(76, 500, 1);delay(500);MIDI.sendNoteOff(76, 0, 1);}digitalWrite(2,LOW);delay(1);digitalWrite(3,HIGH);delay(100);if(digitalRead(8) == LOW && digitalRead(9) == HIGH){MIDI.sendNoteOn(77, 500, 1);delay(500);MIDI.sendNoteOff(77, 0, 1);}else if(digitalRead(8) == HIGH && digitalRead(9) == HIGH){MIDI.sendNoteOn(79, 500, 1);delay(500);MIDI.sendNoteOff(79, 0, 1);}else if(digitalRead(8) == HIGH && digitalRead(9) == LOW){MIDI.sendNoteOn(81, 500, 1);delay(500);MIDI.sendNoteOff(81, 0, 1);}digitalWrite(3,LOW);delay(1);digitalWrite(4,HIGH);delay(100);if(digitalRead(8) == LOW && digitalRead(9) == HIGH){MIDI.sendNoteOn(83, 500, 1);delay(500);MIDI.sendNoteOff(83, 0, 1);}else if(digitalRead(8) == HIGH && digitalRead(9) == HIGH){MIDI.sendNoteOn(84, 500, 1);delay(500);MIDI.sendNoteOff(84, 0, 1);}else if(digitalRead(8) == HIGH && digitalRead(9) == LOW){MIDI.sendNoteOn(86, 500, 1);delay(500);MIDI.sendNoteOff(86, 0, 1);}digitalWrite(4,LOW);}