PIC16F84電子遊戯(48)
最終更新日:2001年11月23日
掛け算九九マシーン(1ページ) (2ページ)へ (3ページ)へ (4ページ)へ

掛け算九九マシーンを作ろう
今回はかなり実用的(?)な製作をしましょう。
我が家には現在小学2年生の子供がいるのですが、今学校で「九九」を習っております。
この時期、宅配の教材の宣伝(?)には妙に子供の心をくすぐる付録が載っています。
そうです「九九」が勉強出来る付録なのです。付録といより新規入会の特典といったほうがよいのかもしれません。そしてその全貌は、LCD表示を駆使してハイテクマシーンになっております。
「これがほしーーい!!」と子供が言ったので「こんなもん、お父さんが作ったる!!」ということになり、今回の製作となったわけです。
しばらくの間は仮面ライダーから離れてこの「掛け算九九マシーン」に集中しましょう。
さて、その宣伝に載っていた教材はかなりのことが出来るのですが、素人が作るとなるとそれだけすばらいいものは出来ません。その教材が欲しいといわれる方は宅配教材を申し込んでいただくとして、私の製作したもので充分という方のみついてきて下さい。
さてまず問題になるのが数字の表示をどうしようか?といことです。
掛け算の九九には最低4桁の数字表示が必要になります。
この表示を7セグメントLEDで行ってもいいのですが、それでは面白くありません。
ちょうど手持ちに16x16ドットの赤色LEDモジュールがありましたのでこれを使うことにします。(いつも手持ちがあるのは、出かけた時に「これ何かに使えるなあ」と思ったらすぐその場で購入しているからです。あとになって使い方が見えてくるのです。)
前回仮面ライダーで「マルチマトリックス」を作りましたが、その回路を応用すればハードは簡単に出来てしまいます。
この「掛け算九九マシーン」には数字を入力するSWが必要になります。
「0」から「9」のテンキーの他に、「クリア」と「リターン」のキーもいります。
トータル12キーを入力するのに74HC138のデコーダを使用しました。
PIC16F84の少ないポート数を有効に活用できたと思います。
では回路図を見て下さい。
(掛け算九九マシーンの回路図)
LEDの点灯データはPICよりシリアル出力して74HC4094でパラレルデータに変換します。2個使うことにより16ビット分としています。16ビット分のデータを送るとラッチしてデータを保持します。これをスキャン側の74HC154と同期して一列ごとに駆動していきます。
キースキャンは74HC138を使用して6x2=12のスキャンを行います。
6個づつ2列でスキャンしてどのキーが押されているかを判断します。
詳しくは後ほど(ソースの説明のページで)説明します。
(掛け算九九マシーンの雄姿)
16x16ドットのLEDモジュールには赤色のアクリル板を被せました。
キーボードとLEDの配置に違和感がありますが、LEDモジュールを先にケースに取り付けて配線をしたあと方向違いに気が付いてどうにも出来なかったので、変な配置になりました。キーボードの割り当ても少し変です。本当は携帯電話のテンキーのように配置したかったのです。このへんは皆さん使い易いように自由にして下さい。
掛け算九九マシーンのLED画面構成
まずLEDモジュールにどのように数字を配置するか考えましょう。
ドット数から考えて5x7ドットの数字表示を使えばなんとか16x16ドットの画面に九九の計算を表示することが可能になります。
上図のように黄色い部分に数字を表示することにしましょう。(LED表示が黄色い訳ではありません。)
「X」と「=」は前もって表示しておきます。数字の入力は九九の暗記と連動するように、数字のみを入力する仕様にします。
ということで、今回はここまでとしましょう。次回もお楽しみにネ!
これからも益々面白くなる「PIC16F84電子遊戯」をよろしくお願いいたします。

不明点などあればメールお願いいたします。nonchansoft@nifty.com

Copyright(c)2000-2001 nonchansoft