78F9222のコーナー(16)

更新日:2007年8月8日


3D加速度センサーで遊ぼう

前回の「ちょっとひとやすみ」のコーナーで実験した3D加速度センサーを応用回路に組み込んでみました。今回はトラ技で紹介されていたLEDドライバを使いました。制御が簡単でLED電流駆動もやってくれるので大変便利なICです。それでは製作をスタートしましょう。
3D加速度センサーで遊ぼうのLEDドライバ回路
表示には8x8ドットマトリックスLEDを使います。秋月などで低価格で購入することが出来ます。私は以前に赤色と緑色の2色LEDを購入していましたが、今回は赤色のみを駆動して使っています。
(8x8マトリックスLED)
LEDドライバにはマキシムのMAX7219を使います。トラ技に紹介されていたことで知ったのですが大変使い易いICです。マイコンとの接続は3線でOKです。
(LEDドライバ回路)
ドットマトリックスLEDとの接続はあえて記しませんでした。皆さんが入手されたLEDにて各自で接続をアレンジして下さい。
(なんとかして手に入れたMAX7219)
(マキシムのMAX7219)
MAX7219はシリアルで制御します。シリアルデータは16bitです。シリアル信号は次のように定義されています。
(MAX7219のシリアルデータ)
D11-D8のアドレス内容に応じてD7-D0にセットするデータが異なります。細かくはソースを見て頂くとして簡単に説明します。
(アドレス内容の内訳)
アドレスが01h-08hの場合はデータには表示するデータをセットします。それ以上はコントロールコードになります。デコードモードや最大スキャン数、表示輝度などを設定することが出来ます。ちなみにICの18ピンに接続してある抵抗で最大輝度を設定出来ます。今回使用したLEDは結構明るかったので、50kΩの抵抗をつなぎました。このICはデータさえ送り込めば勝手に表示を継続することが出来るのでマイコンの制御は極めて簡単になります。
3D加速度センサーで遊ぼうの3D加速度センサー
3D加速度センサーには秋月で販売されているものを使用します。チップ部品ですがDIP変換基板に載せてあるので大変使い易いです。加速度センサーはそれ自体が動いていない時は重力加速度を感じています。部品を傾けることによって3軸の重力加速度の値が異なるので電気的に部品の傾きを検出することが出来ます。加速度を感じない時は電源電圧の半分の値を出力しています。それからの変化を検出して傾きの大きさ決めます。前回の実験で最大の重力加速度を検出した場合10bitのデータで約200のデータが変化します。今回は少し傾けても検出するように変化したと判断する閾値を約70としています。
(3D加速度センサー)
3D加速度センサーで遊ぼうのマイコン回路図
(3D加速度センサーとマイコン回路)
SW1はX軸、Y軸の基準を設定するボタン、SW2はZ軸の基準を設定するボタンとします。
電源回路はあえて記載しませんでした。5Vのレギュレータを使って安定化して下さい。
3D加速度センサーで遊ぼうの基本仕様
1)X軸、Y軸、Z軸の傾きに応じて表示を変化します。
2)SW1を押すことでX軸、Y軸の現在値を基準値とします。
3)SW2を押すことでZ軸の現在値を基準値とします。

4)電源はレギュレータを介して5Vを印加します。
3D加速度センサーで遊ぼうのポート割付と設定
(ポート割付と設定)
3D加速度センサーで遊ぼうの表示データについて
どんな表示データを作れば面白いか悩みましたが、傾けた方向に対して重力加速度が働く方向と逆向き、つまり常に地面に対して上方向を矢印が指すようにしてみました。考えるより作って見たほうが理解しやすいと思います。Z軸に対してもどちらに傾いているか判断して表示を変えています。
(表示する矢印データ)
3D加速度センサーで遊ぼうの大完成
まずは実際の表示の状態を見て下さい。
(まず水平においてSW1を押してX軸、Y軸を初期化します)
(傾けても常に矢印は上を指しています)
(Z軸を傾けるとこのような表示に)
(こんな感じでケースに入れています)
側面に付いているボリュームは輝度調整用です。あまり電流を流さなくてもこのLEDは明るく光るようです。
(中身はこんな様子です。比較的簡単ですね)
3D加速度センサーで遊ぼうのソースファイル
ソースファイル一式はこちらからダウンロードして下さい。フォルダごと圧縮しています。全てのファイルが入っています。ライタで書き込みする実行ファイルも含まれています。
iさて皆さんいかがでしたか。3D加速度センサーって結構簡単に遊べますよね。今回は矢印の表示のみとしましたが、もっと工夫すると大変楽しいセンサーになりますね。私のモットーとしては製作は形にしたもので完結しないといけないと考えています。しかしながら製作は一つの例ですので皆さんのアイデアでもっと楽しいものにしていって下さい。さあもうすぐお盆休みに突入します。楽しい製作がどんどん登場してきますよ。ご期待下さい。
これからも「NEC78K0/K0Sマイコン開発室」はどんどん楽しくなります。

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