|
実は仕事柄、電気回路にふれることも多い(というか電気も機械も化学もすべてふれるんだけどね)ですが。電気はまだしも、電子は全くの素人、ファームウェアとかソースコードみてもさっぱりなわけで。
スキルアップも兼ねて電子回路の勉強なんぞを始めました。 上手い具合にInterface誌の6月号に富士通製のARM Cortex™-M3 32bit RISCであるFM3を搭載したおまけ基板がついてくるって事で3冊ほどお買い上げしたわけです、、、3冊、、、まぁ予備と1枚はJTAGデバッガになる予定。 でまぁしばらくはLEDをチカチカさせていたんですが、先日秋葉原に行った際にいろいろ部材を仕入れてきたので、ようやくLEDチカチカを脱する時が来たわけです。 まずは情報収集、やっぱりいろいろいじって行くにあたって表示ディバイスは必要だろうとLCDを購入、大は小を兼ねるって事で、ハイコントラスト液晶で20x4行の物を購入。他にもタクトスイッチを100個ほどと各種ユニバーサル基板をお買い上げ。線材は会社の端材を頂いて済ませます。 参考にしたサイトは、JF1VRRさんのブログ(http://blogs.yahoo.co.jp/jf1vrr_station)のこの記事を参考にしました 「FM3 LCDをつなぐ」 まぁまずは、そっくりそのまままねしてみます。 と思ったらここで重大なミスが発覚。先述のブログでは3.3Vで動作するLCDを使っていましたが、自分は間違えて5V仕様の物を買ってきてしまっていました(同じ表示文字数で3.3V動作の物もあるんですが、完全に勘違いです) マイコンは3.3Vで動作しているのであまりよろしくない。 まぁマイコン側への読み込みはしないので大丈夫だとは思いますが、念のためって事で急遽レベルコンバーターを購入して3.3Vと5Vを接続する形にしました。 ちまちまと配線をして(とても見せられるようなレベルじゃないですw)USBをつないだら無事動きました。 手前のボードがFM3マイコン基板(下は試作用のユニバーサル基板)、LCDの真下にあるのがレベルコンバータです。 LCDとの接続はポート数を節約するため4bitパラレルで通信しています、制御線が2本あるので計6本ですねこれに+3.3Vと+5V、そしてGNDを送っています。 ちなみにLCDの横のVRはコントラスト調整用です。 さて写真だと4行フルに表示させていますが、参考にしたサイトは16x2行表示のLCD。 まぁそのままいけるだろうとがんばってみた物のどうも3行目4行目が表示されない。。。 ソースコードや仕様書とにらめっこして何とか原因究明。 各行の開始アドレスが2行の場合、「1行目が00〜、2行目が40〜」となっているのですが、 自分の買ったモデルでは2行の物と仕様を合わせるため「1行目が00〜、2行目が40〜」はいっしょなんですが、それ以降が「3行目が14〜、2行目が54〜」という変則的な配置になっていました。 大元のプログラムではそこに対応できなかったためその部分だけコードを組み直して、何とか全行使用できるようになりました。 いまはコードの意味を理解するため少しずついじりながらコードをカスタマイズしているところです。 最後に今後の予定。 ・操作用SWの搭載 ・割り込みでモードが変えられるようなプログラムの開発 ・LEDをいくつか搭載(レベルコンバータが2ポート余ってるのでそこを使うのと、5Vトレラントポートを使うのを実装) ・RTC搭載(秋月のI2Cで接続する物を使用予定) ・RTCの情報をLCDへ表示&タクトスイッチでRTCの設定などが出来るようにする ・RTCのバックアップ電源を搭載 ・4桁の7セグLEDを追加してLCDとハイブリッドで時計表示 ・ニキシー管ドライブ回路を作成 ・ニキシー管・7セグLED・LCDのコンビネーションクロックを作成。 妄想も含めてだけどニキシー管時計は作りたいのでこれを目標に行こうと思います。 |

- >
- Yahoo!サービス
- >
- Yahoo!ブログ
- >
- 練習用


