Arduino + Gyro + MIDI
##やりたい事
- ボタンやつまみ以外の方法のMIDIコントローラーをつくる
- Gyroセンサーを搭載したArduinoでDAWソフトを操作、エフェクターをつくる
- できれば無線で
##環境
Mac/Arduino/東芝ジャイロ/
Ableton Live(DAW)/hairless/Audio MIDI設定/
##目次
- ジャイロの値をArduinoで計算、角度を算出
- 角度を整形してMIDIデータとしてシリアルで送信
- ソフトウェア経由でシリアルデータをDAWに喰わせる
- 送信部分をBluetoothで実装
##ジャイロの値をArduinoで計算、角度を算出
###値は角度ではないのでそのまま使えません。
qiita.ino
int xPin = A0;
int yPin = A1;
double xVal = 0;
double yVal = 0;
double xPast = 0;
#define gyro_DEFAULT 288
#define gyro_MIN 0
#define gyro_MAX 650
#define midi_MIN 0
#define midi_MAX 127
double xResult = 0;
void setup() {
// Set MIDI baud rate:
Serial.begin(9600);
}
void loop() {
xVal=analogRead(xPin);
yVal=analogRead(yPin);
xResult = map(xVal, gyro_MIN, gyro_MAX, midi_MIN, midi_MAX);
//Serial.println(xVal);
Serial.println(xResult);
Serial.println("");
delay(40);
}
エフェクターを実装するにあたり、角度が必要。
でもジャイロの値は角速度(?)かなんかなので、そのまま使えません。
##角度を整形してMIDIデータとしてシリアルで送信
###ジャイロの値は角度ではないのでそのまま使えません。
##ソフトウェア経由でシリアルデータをDAWに喰わせる
###ソフトウェアにデータを読ませる為にアプリを経由する必要があります。
シリアルデータ > hairless > Audio MIDI設定 > DAWソフト
##送信部分をBluetoothで実装
###ジャイロの値は角度ではないのでそのまま使えません。