やはり、Atmega 2560 の大きなメモリを使って「ARDUINO CW KEYER」の全機能を使ってみたくなりました。
この Atmega 2560 のフラッシュメモリは 256KB もあります。
Uno に比べて高価なところは痛いですが、これで、もうメモリ不足に悩まされることはなくなります。
自作シールドを Atmega 2560 にスタック。
シールドとして作製していると、こんな時に便利です。
詰め込んだ機能は以下のとおり。
- コマンドモード
- シリアルコマンド (“CLI”) / CW キーボード
- Winkey2 エミュレーション
- メモリ機能
- PS/2 キーボード
- LCD ディスプレイ
これだけの機能を詰め込んでも、必要なメモリはたったの 55KB 程度です。
Atmega 2560 では随分と贅沢な使い方になりますが、機能の全部を詰め込むためには一番手っ取り早くお手軽な方法だと思います。
ただ、LCD だけはこのままでは動作しないので、以下のようにジャンパワイヤを使ってデータとクロックを配線する必要があります。
(Atmega 2560 は単独で I2C 端子を持っており、Uno のピン配置と互換はありません。)
Uno Atmega2560
A4 (SDA) → 20 (SDA)
A5 (SCL) → 21 (SCL)
これで、Atmega2560 で LCD が使えるようになります。
良い感じです。
Uno ではメモリ不足のためできなかった、PS/2 キーボードによる LCD 表示もしっかり機能しています。
ということで、
どの機能を制限するかと悩みながらコンパイルするよりは、最初から Atmega 2560 を使って全機能入りで組み上げた方が賢明かもしれません。