KeyBoardマニア
キーボードまにあ!!!(スリー) for Atmel AVRマイコン†
いきなりダウンロード:
- アーカイブ:keybrd-mania-1211.zip
- オープンソース、HEXファイル込みです。
説明:
- ATmega88あるいはATtiny2313にPS/2タイプのキーボードを繋いで、押されたキーに反応するプログラムを作ることが出来ます。
同梱サンプルプログラム:
- ATmega88あるいはATtiny2313にPS/2タイプのキーボードを繋いで、電子楽器風のおもちゃを作っています。
- PS/2キーボード側の仕様制限にもよりますが、一応和音が鳴らせます。
- ATmega88のほうでは、モールス信号発生器風のおもちゃにもなります。
- ファンクションキーを押すことで、電子楽器とモールス発生器が切り替わります。
割り込みリソース:
- ATmega88では、PCINT8かTIMER1のどちらかを選択できます。
- ATtiny2313では、TIMER1割り込みでPS/2キーボードからのCLOCKをサンプリングしています。
用意するもの:
- ATmega88/168あるいはATtiny2313を実装した簡単な実験基板(何かを流用しても可。たとえばArduino基板とか)CPUは5V動作に限る。
- AVR書き込み器(HIDaspxを推奨。でも何でも良い)
- PS/2タイプのキーボード(USBは不可。USB/PS2両用はたぶん可)とそれをAVRに繋ぐためのメスコネクタのようなもの・・・。*1
- スピーカーかライン出力のオーディオ。
積み残し問題†
- 音質にやや不満点があります。(今後の課題)
- キーボードからのDATA受信のエラー処理(stop,parity等)を実装していません。
- キーボードへのデータ送信(LED点灯やモード、リピート等設定)を実装していません。
- ATtiny2313では、クロックが低いため音程が低いです。(20MHzにすればATmega88と同等になるはずです)
*1 PS/2タイプのMini-DINコネクタはたぶん入手性悪いと思います。PS/2延長ケーブルを買ってきてぶったぎるか、USB/PS2両用キーボードを探してきて、USBコネクタで受けてみるとか・・・。キーボードはキータッチにこだわらないと演奏の面白さ半滅です