電子趣味の部屋

電子系のガジェットやアプリ開発等の趣味の話題を書いてます

Vana'diel Clock 制作1

このエントリーは2006年6月頃『0から独学ではじめる電子工作』に書いたエントリーを再構成してます。当時とは現在と状況が違う事がありますので、所々補足しています。

はじめに

この度、なぜか急にFinal Fantasy XI のヴァナ・ディール時間が表示される時計を作ってみようと思いました。
電子工作の経験は全くございません。1からのスタートです。
仕事柄プログラムの方は扱えます。
世の中便利になったもので、CPU・RAM・プログラムを格納するフラッシュROM・シリアル通信等の周辺機器コントローラが1つになったものが発売されてます。
色々種類があるのですが、ネットで情報がたくさんあるPICと言うCPUを使って見ました。
このブログを見て同じものを作る奇抜的な発想の人は居るとは思えませんが、もし作るときは素人が作ったものなので、信用しないでください。
保障は全くできません。最悪の場合はPCを壊してしまう可能性も全くないとは言い切れません。
こんなんで良ければこれから製作過程を見てやってください。
よろしくお願いします。

マイクロチップテクノロジー

準備

パーツについては定番の秋葉原で集めようとしたのですが、なにせ売ってる店がわかりません。
細かい部品も見つけられるか自信がありません。
と言うことで、ネットで買うことにしました。
色々探してるうちに秋月電子と言う店が有名で安いそうです。
ここで部品を買ったのですが、色々面白そうだと思い、関係無いのも含めて結構買っちゃいました。
あと道具といくつかの部品は千石電商で購入しました。
今回は通信販売ですが、この2つの店舗は秋葉原にあり、お互いに近いみたいです。
購入したものは後述します。

細かい部品まで説明すると結構大変なので、重要なものだけちょっと説明します。

・CPU
 どうせならなるべく新しくどんどん機能を追加した方がいいと思い、PIC18F252を選びました。
 性能はというと、
  16KワードフラッシュROM
  1536バイトRAM
  256バイトEEPROM
  8x8ビットハードウェア乗算器内蔵
  タイマー3ch(16ビットx2 8ビットx1)
  CCPモジュールx2ch
  MSSPモジュール
  USART PSP
  10ビットADコンバータ
 各データの意味は他で調べてくださいw
 まず秋月電子で40ピンPIC18F452を注文したのですが、千石電商でほぼ同じ性能で28ピンのPIC18F252があったので、
 今回はこっちを採用しました。(452は600円でしたが、252は1200円もしました^^;)

・ROM書込機
 CPUにプログラムを書き込むのに、ROM書込機が必要です。安くすませようと思うなら秋月で売ってるAKI−PICプログラマーがお勧めですが、
 組み立てるも面倒なので、IPIで売ってるPDE-XPを購入しました。値段は数倍しますが、明らかにキットで買うより丈夫そうです。
 現在は、低価格で使いやすいマイクロチップテクノロジー純正のPickit2 Pickit3があるので、そちらを使う方が無難です。

・開発言語
 開発言語はマイクロチップのページからアセンブラ(MPASM)を無料でダウンロードできますが、細かい操作がちょっと難しそうなので、経験のあるC言語を選択しました。
 書込機と同じくIPIからFED(Wiz)-Cを購入しました。
 現在は、gccを採用した癖の少ないマイクロチップテクノロジー純正のC言語の無償版(最適化オプションを制限しただけのほぼフル機能)があるので、そちらを使う方が無難です。

・時計IC
 秋月のページを見てるうちに便利そうな物を発見しました。
 リアルタイムクロックモジュールRTC-8564NBを購入しました。このときは意味がわからなかったのですが、I2C通信で簡単に時間がとれます。

・表示器
 今回は20桁×4行表示の液晶LCDを選択しました。フォントデータ搭載で、文字コードを指定するだけで文字を表示できます。

・電源
 はじめは電池にしようと思ったのですが、液晶が5V動作なので、手っ取り早くPCのUSBから取ることにしました。
 どうせFFをやるときはPCを使いますしねw
 PS2で電源を取れるかは未確認です。

・部品
 最終的に以下の備品を使用しています。
 値段は記憶があやふやですので、目安と思ってください。
 (当時の価格です)

 PIC18F252               1,200
 RTC-8564NB                500
 基板72×95mm外周電源エリア付   230
 抵抗100kΩ(100本単位)        100
 タクトスイッチ大                50
 タクトスイッチ小                20
 可変抵抗10Ω                 30
 LCD液晶 4*20 バックライト無し   1,200
 ICソケット 28ピン              20
 ICソケット 8ピン               10
 合計                     3,420