ギターがノイズを拾う。
今まで2回しか遭遇してないけど、弦かフレットが電子機器のノイズを拾う。
オラとしては子供からお年寄り、障がいのある人にも使ってほしい。
しかし、弦を電化しているがために危険性が高い。
100Vじゃないんだから、感電して筋肉が緊張してギターから手を離せなくなり、死に至ると言う事故はないとは思う。
それだけでなく、お年寄りの心臓ペースメーカーとか、医療機器なんかに悪影響なら問題外だ。
とりあえず、初心者ギターでリハビリなんて言うのならコードバディで絶縁して、指がビリビリするようなことはないようには出来そう(ってかあ、手袋履けばいいんだあ…けど)。
コードバディは簡単に基本の4つのコードを押えることが出来る。
ロボギターで使ったけど、外して、自作のサイレント?につけてみた。
アメリカ製。
イタリアのArduinoとイギリスのラスパイ(中国製)、アメリカのコードバディ、日本製のギターを使っている。
今日のArduinoスケッチ。 とりあえず、格好をつけて短くしてみた。 単音しか出ないので利用価値はないかもしれない。#include <MIDI.h>
MIDI_CREATE_DEFAULT_INSTANCE();
int i;
int notenumber[]={72,74,76,77,79,81,83,84,86,88,89,91,93,95,96,98,100,101};
int gaugePin = 2;
#define fretPin_1 8
#define fretPin_2 9
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( fretPin_1, INPUT);
pinMode( fretPin_2, INPUT);
}
void loop() {
for(i = 0 ; i < 18 ; i = i + 3){
PLAY();
gaugePin++;
}
i = 0;
gaugePin = 2;
}
void PLAY ()
{
digitalWrite(gaugePin,HIGH);
delay(100);
if(digitalRead(fretPin_1) == LOW && digitalRead(fretPin_2) == HIGH){
MIDI.sendNoteOn(notenumber[i], 500, 1);
delay(500);
MIDI.sendNoteOff(notenumber[i], 0, 1);
}
else if(digitalRead(fretPin_1) == HIGH && digitalRead(fretPin_2) == HIGH){
i++;
MIDI.sendNoteOn(notenumber[i], 500, 1);
delay(500);
MIDI.sendNoteOff(notenumber[i], 0, 1);
}
else if(digitalRead(fretPin_1) == HIGH && digitalRead(fretPin_2) == LOW){
i = i +2;
MIDI.sendNoteOn(notenumber[i], 500, 1);
delay(500);
MIDI.sendNoteOff(notenumber[i], 0, 1);
}
digitalWrite(gaugePin,LOW);
delay(1);
}