以前、「楽々PICとは」と言う記事に、このブログを通して進めるPICの学習方針のようなものを次のように書いています。

 学習ツールのような基板と開発環境を動かしながら、一部のプログラムを変更してみて、思い通りの変化が得られるかを確かめて勉強する方が近道だと思います。 このブログは「教える」程の知識の無い私が書き進める都合上、「学習ツール」のように広く学べる基板を使うのではなくて、「楽しんで使える道具」を作りながら勉強することを狙います。

これまでに幾つかの機能を試して、私自身ある程度PICが使えることを確かめ、「楽しんで使える道具」を構成するパーツとしてのプログラムを作って来ました。 USB など、まだまだ勉強が必要なこともありますが、そろそろ「楽しんで使える道具」を具体化したいと考えていました。

様々なキーワードでブログを訪れてくれる様子を見ながら、ゼロから学ぶからこそ目に見える成果が少なく、退屈な作業の中で挫折しかねないアセンブラ初心者の方々を支援したいと思います。 そして、工夫次第で使える道具を作り、応用例を紹介する予定です。 応用例はマイコンを勉強中の方でなくても興味を持って貰えるものを目指します。 道具を構成するハードウェアはブレッドボードで作ります。 特に気に入ったり、繰り返し使いたい場合はユニバーサル基板等でより小型軽量に作ることも可能です。

その回路に名前を付けてシリーズ化します。 シリーズ最初の回路 RRP1320-1 は下図の予定です。

RRP1320-1_回路図


表示器としてLCDを採用し、タイマーやスイッチ、温度センサー、赤外線リモコンと言った入力をトリガーに FET 出力を作り出します。 LCD制御や、赤外線リモコンなどの制御をゼロから学ぶのではなくて、初めは動作確認されたプログラムを使い、その機能と他の入出力を結びつけるプログラムを自作するだけで「目に見える成果を出せる環境」を提供することで支援したいと思います。 そして、公開されているソースを見て、あるいは一部を変更して結果を確かめながらLCD制御や赤外線リモコンの制御も自作できるようになると思います。 

アセンブラは他の人が作ったソフトウェア資産を活用し難いと思いますが、同じハードウェアであれば再利用可能な形で提供できると思います。 例えばLCD制御はデータ・メモリーの所定の範囲(仮想V-RAM)に ASCII コードを書くだけで(見かけ)自動的にLCDに表示される機能を提供ます。 この仮想V-RAMは PIC18F1320 には無いけれど RRP1320-1 にはある SFR のような存在と言えそうです。 既に「LCDに自動転送」と言う記事で機能を確認済みですが、少しでも利用しやすいように調整中です。

RRP1320-1_1

以下のサイトでは、部品表やブレッドボード配線図、プログラムの使い方など詳細なドキュメントと一緒にプロジェクト一式をダウンロード可能な形で提供しています。

rrpdlc



以下は関連記事のインデックスにします。

RRP1320-1-01 概要 
 一部をブレッドボードに実現して、所定のデーター・メモリーの内容をLCDに自動転送するプログラムを作りました。 データ・メモリーの所定の範囲(仮想V-RAM)に ASCII コードを書くだけで(見かけ)自動的にLCDに表示される機能を提供ます。

RRP1320-1-02 概要 
  RRP1320-1-01 に赤外線リモコン受信機能を追加して、RRP1320-1-02 を作りました。 赤外線リモコンを受光するとLCDの2行目に受信コードを表示します。 登録できる赤外線コードは16個、これに登録外の場合も合わせて17個のサブルーチンを準備して、赤外線リモコン受信の都度、17個の中のどれかをサブルーチン・コールします。

RRP1320-1-03 概要 
 「汎用タイマーの構想」に基づいて、RRP1320-1-03 を作りました。 内臓クロックを使ったタイマーですから、3%程度の誤差があるとは思いますが、使える場面が多いと思います。 プレタイマー、イベントタイマー、イベントピッチと言った時間や、繰り返し回数と言った定数は所定の範囲内で変更可能です。

RRP1320-1-04 概要 
 RRP1320-1-03 に温度制御機能を追加しました。 パン作りのイースト発酵などに応用出来そうです。 温度制御用に加温用と冷却用の出力を準備しました。 各々 EEPROM に保存した温度を超えると動作します。


楽々PIC」は楽しい道具を作りながら学ぶブログを目指します。