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);
}


