teacup. [ 掲示板 ] [ 掲示板作成 ] [ 有料掲示板 ] [ ブログ ]


新着順:52/789 記事一覧表示 | 《前のページ | 次のページ》

Re: お世話になっております!

 投稿者:猫サックス  投稿日:2015年 5月31日(日)01時59分43秒
  通報 返信・引用
  nekosanさんへのお返事です。


お世話になります!
長文になりました、たいへん失礼いたします。

>
> ジョイスティックが、いわゆるアナログジョイスティック
> であれば、
> http://akizukidenshi.com/catalog/g/gP-00246/
> このような可変抵抗が2個(x軸、y軸)入っているだけ
> だろうと思います。(手を離すとセンターに戻る機構
> が付いているかも知れませんが)
>


ジョイスティックといたしましては、
http://akizukidenshi.com/catalog/g/gP-04048/
http://akizukidenshi.com/catalog/g/gM-06807/
を購入していますが実は一度も使用出来ずにおります・・・・。(汗)




> 各可変抵抗は、
> http://akizukidenshi.com/download/Supertech_vr.pdf
> こんな風に3つの端子があって、1と3を5VとGNDに繋いで、
> 2をADCの入力に繋げば、分圧された電圧がADCから入力でき、
> 回転の角度を数値化できると思います。
>



有り難う御座います。可変抵抗器は
http://akizukidenshi.com/catalog/g/gP-00246/
http://akizukidenshi.com/catalog/g/gP-07212/
を実は購入しておりますが、これもまだ一度も使ったことは御座いません・・・・(汗)



>
> ベロシティーとかを利用しないのであれば、スケッチ中の
> アナログ入力処理の部分を修正して、
>
> now_velocity = analogRead(velocity_pin) / 8;
> now_pitch_bend = analogRead(pitch_bend_pin) / 8;
> now_modulation = analogRead(modulation_pin) / 4 - 128;
> if (now_modulation < 0) {
> now_modulation = 0;
> }
>
> を
>
> now_velocity = 100;
> now_pitch_bend = 64;
> now_modulation = 0;
>
> などと固定値にしておいてもいいかもしれません。
> (アナログ入力に何も繋がなくてもok)
>
>
>
> デジタル入力端子についても、同じように、使ってない
> 端子については固定値を埋めてしまうことで楽が
> できると思います。そのあたりは、Arduinoの文法周り
> がいろいろいじれるようになったらすぐだと思います。
>
>
>
> いずれにしても、動くものがひとつできているので、
> ナニを変えたらどうなるか、といった実験がしやすい
> (うまくいかないときは一旦帰ることができる)
> と思うので、いろいろ試してみてください。
>

有り難う御座います!
なるほど、そのようにすると良いのですね。
とりあえずは、モジュレーションとピッチベンドの記述だけをとにかく消してゆくことで超適当に対応しておりました・・・・(汗)


相も変わらず、3オクターブのものを作ろうとしてはおりますが、
現時点では入力を沢山作るとかはとても難しそうに思えますので、

arduino x 3台でいく感じとし、
(まだ1個しか持ってはおりませんが・・・汗。この場合ですが、
・6in 6outのMIDIインターフェイス、
・またはMIDIマージボックスを買ってMIDIケーブル3本入力させる、
・あるいは音源を三台接続する。同じ音源モジュール一応3台持ってます・・・)

でも、本当はMIDIケーブル1本で実現したいのですけれども。

そして今回挑戦いたしましたのは

・静電容量センサー式

・スイッチ式

の二つです。


それでまずは、静電容量センサー式へのトライです。

先日教えて頂きました、「デジタルピン
1本だけで入力できるようなタッチ式のスケッチ」の件ですが、
現在使わせていただいておりますスケッチに何とか(無理やり・・・)導入してみましたが・・・。コンパイルは通りましたがやはり(当然!)まともには反応せず(笑)
(以下・・・)

/**************/
/* main logic */
/**************/
int f=0;//フィルタ用変数
void setup() {
  int i;

  Serial.begin(31250);      // connect to MIDI synth
  //Serial.begin(38400);      //connect to PC

  for (i=0;i<14;i++){
    pinMode(key[i], INPUT);
  }
  pinMode(led, OUTPUT);


  pinMode(9,OUTPUT);
  digitalWrite(9, LOW);  // 放電しておく
  //LED点灯用に13番ピンをデジタル出力
  pinMode(13,OUTPUT);
}


void loop(){
  /* input from keys and pots */
  key_input();

  /* function key */
  funtion_key();

  /* check push or release / output note on/off */
  check_and_output();

  /* store "old notes" */
  store_old();


  //静電容量変化量の変数を用意
  int a=0;
  //9番ピンをLOWで出力
  digitalWrite(9, LOW);  // 放電 and プルアップ抵抗オフ
  pinMode(9,INPUT);  // 入力モードに変える(充電開始)
  //9番ピンがHIGHになるまでをカウント
  while (digitalRead(9)!=HIGH){
    //カウントする
    a++;
  }
  delay(1);
  //9番ピンをLOWにする
  pinMode(9,OUTPUT);  // 出力モードに戻す
  digitalWrite(9, LOW);  // 放電しておく

  //値を滑らかにするフィルタ式
  f+=(a-f)/2;
  //モニタリング:フィルタ値を出力
  Serial.print(f);
  Serial.print(" , ");
  Serial.println(a);

  //LED点灯のプログラム
  if(f>5){//値が5より大きい場合点灯
    digitalWrite(13,HIGH);
  }else{ //それ以外消灯
    digitalWrite(13,LOW);
  }
}

(きっとめちゃくちゃなのでしょう・・・)この状況・・・では、9番ピンに接続しておりますアルミには触れても全く音は出ず(LEDは点きます。)、そして、そのまんま、まだタクトスイッチが付いている他の入力では、(タクトスイッチを押すと)アタック音だけ音が出るといった感じで、あえなく失敗中で御座います。

後日、これがもしうまくいった暁には、9番ピン以外のピンにも対応するようにスケッチを書き換えるにはどうしたらよいか、という初歩的な?問題を解決したいです。それにはもう少しお利口さんにならないと・・・といった感じです。(笑)また新しいアイデア練って挑戦してみます。


しかしながら、これまでのスケッチそのままで(最初の標準のスケッチのままで)、物理的な接続だけを(教えていただいた1Mの抵抗を挟んでのタッチ式接続)タッチ式に変えますと、アルミに指で触れたただけで、音は鳴ってくれました。
ただ、これは例のチャタリングというのでしょうか、超高速連打で音が鳴ってくれてましたが・・・。


そして、スイッチ式もやってみました。

これは こちらの
お手製パネルスイッチを参考に縦8センチ、横5センチで、計4つのスイッチを作成してやってみました。

作ってみましたパネルスイッチは、微妙にそれぞれ感度が違っていたりして、両面テープの種類、サイズを何種類も変えては試してみたり、
プラ板のサイズを変えてみたり、いろいろやってみましたが、やっぱりアルミなどのタッチ式のほうが作りもいいなぁ・・・という気が強くいたしました。
因みにこれは踏み方によってうまく音が出なかったりはありましたが一応フットペダルのようには動きました!


以上、現状はこんな感じで御座います。長文、たいへん失礼いたしました。

いつもお世話になり、誠に有り難う御座います!!
 
 
》記事一覧表示

新着順:52/789 《前のページ | 次のページ》
/789