これまで空いていた場所に電話用のテンキーを配置しました。千石で700円で売られていたのを見つけて使ってみました。

全部で12キーなので、3 X 4のマトリックス構成です。従い端子は7端子でいいはずなのですが、どういうわけかキーの下部についている端子は8つあります。裏側のネジをはずして調べてみると、一番左の端子はベタアースのパターンになっていました。

テンキーが付いたので、電話番号の入力はできますが、オンフック等の操作をするためのキーがありません。そこでLCDの右側にジョグダイアル風のナビゲーション・スイッチを付けてあります。値段が高いけど、2.54mmピッチで簡単に取り付けられるので便利です。上廻し、下廻し、プッシュの3種類の操作ができます。
これらをつなぐには、テンキーで7ポート、ナビゲーション・スイッチで3ポートの、合計10ポートが必要です。当初はI²CのGPIO Expanderを使うことも検討していましたが、AT91SAM7S256の未使用だったPIOピンを数えると、11ポートあったので直接つないでいます。CODECが出力ポート機能を持っており、LEDやモータをつなぐのにポートを消費せずに済んだので助かりました。
AVRと同じように、AT91SAM7SにもPin Change割り込みの機能があるので、これを使ってキーの検出をすることもできますが、どうせチャタリング処理も必要となるので、20ms周期でポーリングして処理することにしました。
LCDの左上にある丸いのが円盤型振動モータです。ゴムシートの上に載せてみましたが、うまいことブルブルと震えることができずにいます。
これでようやくと電話機としての格好が整いました。いちおう、キーを使っての発信や着信もできるようにソフトも組んだので、次回の記事で説明することにします。

全部で12キーなので、3 X 4のマトリックス構成です。従い端子は7端子でいいはずなのですが、どういうわけかキーの下部についている端子は8つあります。裏側のネジをはずして調べてみると、一番左の端子はベタアースのパターンになっていました。

テンキーが付いたので、電話番号の入力はできますが、オンフック等の操作をするためのキーがありません。そこでLCDの右側にジョグダイアル風のナビゲーション・スイッチを付けてあります。値段が高いけど、2.54mmピッチで簡単に取り付けられるので便利です。上廻し、下廻し、プッシュの3種類の操作ができます。
これらをつなぐには、テンキーで7ポート、ナビゲーション・スイッチで3ポートの、合計10ポートが必要です。当初はI²CのGPIO Expanderを使うことも検討していましたが、AT91SAM7S256の未使用だったPIOピンを数えると、11ポートあったので直接つないでいます。CODECが出力ポート機能を持っており、LEDやモータをつなぐのにポートを消費せずに済んだので助かりました。
AVRと同じように、AT91SAM7SにもPin Change割り込みの機能があるので、これを使ってキーの検出をすることもできますが、どうせチャタリング処理も必要となるので、20ms周期でポーリングして処理することにしました。
LCDの左上にある丸いのが円盤型振動モータです。ゴムシートの上に載せてみましたが、うまいことブルブルと震えることができずにいます。
これでようやくと電話機としての格好が整いました。いちおう、キーを使っての発信や着信もできるようにソフトも組んだので、次回の記事で説明することにします。
W-SIMで検索していたら、たまたまこちらのブログを拝見させていただきました。
ジャッケト関連の商品が市場にほとんど無い中、個人でここまで作ってしまうとはただただ驚嘆するばかりです。
そこでいきなりで申し訳ありませんがお聞きしたいことがあります。
通話はデバイス付属のスピーカ/マイク・テンキーで行っていますが、市販の電話機を使った通話は技術的に可能なのでしょうか?
sirius506さんが目指す方向性とは違うとはおもいますが、「つないでイーサー」の電話版みたいなのがあれば便利だなぁと思いまして。
個人的な見解聞かせていただければさいわいです。
受話器とかダイアルとして、できれば普通の電話機を使いたいというのは自然な発想だと思います。そこで、いまわたしが考えているのは、普通の電話機の代わりにSkype用のUSB電話機をつなげて使おうという方法です。実現のためには、USBのホスト機能が必要となるので、あいにくとAT91SAM7S内蔵のUSB機能は利用できません。USBホストのチップを追加する必要がありますが、SLICと電源をつなげることに比べるとはるかに工作は簡単です。
* 2重投稿になっていたコメントは削除させていただきました。