78F9222のコーナー(5)

更新日:2006年2月19日


掛け算九九マシーンを作ろう

今回は久しぶりに掛け算九九マシーンを作ります。前回PICで作ったものより簡単なハード構成にしました。今回もC言語のソフトの組みやすさを実感した次第です。
九九は小学校の低学年で習います。世の中には通信学習などの付録としてすばらしい九九マシーンが存在しますが、この作品はそれにも引けをとらない(?)ものに仕上がっています。九九の暗記の練習はリズムですのでそのリズムを崩さないように作ってあります。
さあこのマシーンで九九を素早く暗記しましょう。といっても製作される方はすでに九九は完全にマスターされているはずですので、自分のお子様のために作られてはいかがでしょうか。では製作スタートしましょう。
掛け算九九マシーンを作ろうの回路図
今回も回路的にはいたって簡単です。
(掛け算九九マシーンのメイン回路図)
掛け算の数字を入力するキーについては今回ADコンバーターを使ってキー入力を行います。ポート数が足らないときに使うと大変便利です。検出の仕方には色んな方式があると思いますが私の場合は常時電流が流れていますが抵抗分割の方式で入力する回路にしました。このあたりは皆さんでそれぞれ考えてみて下さい。
(掛け算九九マシーンのキー回路)
今回のキー回路については今後のいろんな作品に使えるようにコネクタ接続としておくと便利ではないでしょうか。私は4極のプラグを使用しました。
最近は便利な部品があるのですね。
(4極のプラグ)
掛け算九九マシーンを作ろうの基本仕様
1)掛け算の九九が練習出来ます。
2)テンポ良く数字の入力が出来ます。答えは2桁がシフトして入力されます。
3)答えを入れた後、答えを合わせることが出来ます。
4)答えが間違った場合は答えを何度も入れなおすことが出来ます。
5)答えが正解すると次の数字が入力出来ます。
6)クリアボタンがありますのでいつでも数字を最初から入力出来ます。
掛け算九九マシーンを作ろうのポート割付と設定
(ポート割付と設定)
Appliletで使用する内容をまとめています。なぜかAppliletではA/Dコンバータを2系統以上の設定が出来ません。しかしながらポートを使用しないにしておけば対象のポートはA/D入力として動作しているようです。今回の場合もCのソースにはP21しかA/Dイニシャライズの設定はなっていませんがP20もA/D入力として働いています。
今回はタイマーを全く使用しないのでソフトをいじるのは「main.c」のみです。
掛け算九九マシーンを作ろうのキースキャン
今回はA/D入力でキーを読み込みます。上図の回路図の通り押したキーに対してそれぞれの電圧が入力されることになります。この入力電圧の範囲から押されたキーを割り出します。ソースは後でじっくり見て頂くとして、電圧の分割範囲を示しておきます。
(キースキャンの電圧分割)
例えば「KEY1」を押すとA/D入力には約4.3Vの電圧が入力されます。抵抗分割で導かれる中心電圧につい上下0.25Vずつの範囲を見てそのキーの電圧を確定しています。最初考えていたより簡単にソフトを組むことが出来ました。
掛け算九九マシーンを作ろうのハード製作
今回は少し大きめのケースに入れました。7セグメントのLEDが小さければもっとコンパクトになるとは思いますが、良く見えるように大きめにしておきましょう。
(完成基板状態です)
掛け算九九マシーンを作ろうの大完成
では大完成した姿を見て下さい。
(Xと=を印刷したものを貼りました)
(電源投入時の表示)
電源投入時は9x9=81と表示してみました。このあと何かのキーを押せば最初の数字を入力することが出来ます。
(数字を入れてみる)
7,8と続けて入力すると7x8となります。
(答えを入れてみる)
5,6と入れると56と入力することになります。この後答えをチェックするのにRを押します。
(答えが合ってました)
答えが正しいとooと表示します。
(間違った答えを入れてみましょう)
ちなみに間違った答えを入れてRを押してみましょう。
(間違っていた時の表示)
答えが間違っていると==と表示されます。この後正しい答えを入れることが出来ます。
(正しい答えを入れましょう)
間違っていた場合は答えを入れなおすことが出来ます。2桁がスクロールしますので正しくなるまで入れなおすことが出来ます。
掛け算九九マシーンを作ろうのソースファイル
ソースファイル一式はこちらからダウンロードして下さい。フォルダごと圧縮しています。全てのファイルが入っています。ライタで書き込みする実行ファイルも含まれています。
いかがでしたか。今回もかなり複雑なソフトが簡単に出来ましたね。アイデアさえあればもっともっと製作が出来ると思います。そろそろマイコンが無くなってきましたのでそろそろ買い出しにいかなければなりません。マイコンがあればまたアイデアも膨らむことでしょう。
次回は久しぶりに人形改造シリーズを製作にすることにしましょう。
これからも「NEC78K0/K0Sマイコン開発室」はどんどん楽しくなります。

NEC78K0/K0Sマイコン開発室へ戻る