中庸版(続)
中庸版(続)
id:Chuck:20060623#p1 の続き。
ベースラインとしては、スイッチ~プログラムの基本はなるべくワンチップで行う。信号切り替えのリレーなりアナログスイッチ部分は仕方ないけれど、I/Oのエンコーダ、デコーダは使わない方針で。
命題は、
(前略) 3ループでは心もとない。何人かの方から「もっとループ数を」「もっとプログラム数を」「MIDIで切り替えたい」といったご要望を頂いている。
8ループ位が中庸でいいよね、ということで考えてみる。3-3-1 を拡大する方向でループ数を増やす、その上でMIDI対応を乗せる。
以下、逡巡。
- 一応中途半端ながら公開していた 16ループのMIDI FX SW'er を半分にするのはどうだろう。
- いやしかし AT90S8535 が廃番だ。
- 代替で ATmega8535 というのがある。
- 購入店が限られるし、少々高い。
- それじゃ新規に 8ループ。
- MIDIはどうする?
- 立ち上げ時に1本見て、HならMIDI、Lなら3-3-1拡張型でどうか。
- 3-3-1の拡張ということは、フットスイッチも8つ並べるのか?
- スイッチをマウントすれば8ループだが、減らせば6ループでも5ループにでもできるということでどうだろう。
- 肝心のデバイスだが…
ということで、わけがわからないけれどさらに脳内グルグル(どかーん)を繰り返し、ATmega48/88/168シリーズであれば、
機能 | I/Oポート | 備考 |
---|---|---|
7ループ出力 | PORTC0-6 | |
7スイッチ | PORTD1-7 | フットスイッチに立ち上げる MIDIの時はタクトスイッチでOK |
MIDI IN | PORTD0 | |
EDITスイッチ | PORTB0 | |
WRITEスイッチ | PORTB1 | |
UP/DOWNスイッチ またはロータリエンコーダ |
PORTB6-7 | フットスイッチに立ち上げる MIDIの時はロータリエンコーダが便利かと |
LED表示出力 | PORTB3-5 | SPI利用*2 |
初期状態取込用制御 | PORTB2 | MIDI/LOOPSW, MIDI CHなどを 起動時に取り込むためのもの |
といったところで、
7ループ+7プログラム×256 or 512バンク
または設定によって、
7ループ MIDI切り替え(128プログラムx2 or 4バンク)