楽々PIC

水田除草と言うブログを書いていますが、PIC関連の記事が意外に人気で驚いています。 PICを使った電子工作に興味を持つ方が多いことを知って、一緒にPICを学ぶブログを作りたいと思いました。 「楽々PIC」は教材と言うよりも少し実用性?のある楽しい道具を作りながら学ぶブログを目指します。

RRP1320

汎用タイマーの構想

 RRP1320-1-02 は表示器(LCD)と入力装置(赤外線リモコン)を備えた小さな制御装置を実現し、工夫次第で様々な用途に使えると期待しています。 LCDと赤外線リモコンは必要な間だけ取り付けてプログラム定数の設定等を行いますが、入力操作やLCD表示を必要としない場面ではLCDを取り外して動作させることが出来ます。

このような応用例の一つとして、汎用タイマーを作ってみようと思います。 内臓クロック 8MHz だけで動作する為、高精度とは言えませんがおよそ5分間隔でブザーを鳴らしたりLEDを点滅させたいと言った用途は多いと思います。 ブザーをピピピピっと鳴らしたり(0.1秒鳴動0.1秒無音を4回繰り返し)、数時間に一回の繰り返し作業にも使えるようにと下図のような汎用タイマーを RRP1320-1-03 で実現したいと考えています。

汎用タイマー
10/19日 図差し替え

50msec間隔に設定した TIMER0 割り込みをカウントしてタイマーにします。 内臓クロックの発振周波数バラツキの他、割り込み処理で TMR0H , TMR0L に初期値を書き込む際に生ずる遅れが累積する為、時間の精度は期待できません。 精度を要求する場合はハードウェアの変更が必要です。

RRP1320-1-03 の汎用タイマーは以下3つの減算タイマーで構成します。
 (1)プリタイマー (最大18時間、1秒刻み)
 (2)イベントピッチタイマー(最大1時間、0.1秒刻み)
 (3)イベントタイマー(最大1時間、0.1秒刻み)
    ただし、(2)>(3)>0 に設定します。

プリタイマーは以下2つのサブルーチンを CALL します。
 (A)減算開始時に「プリタイマー開始」を CALL します。
 (B)減算結果0になった時に「イベント開始」を CALL します。 10/19日削除
イベントタイマーは、
 (C)減算結果0になった時に「イベント終了」を CALL します。
イベントピッチタイマーは、
 (B)減算結果0になった時に「イベント開始」を CALL します。 10/19日削除
 (B)減算開始時に「イベント開始」を CALL します。       10/19日追記


上図は(A)でクリア、(B)でセット、(C)でクリアした場合のポート出力を示します。

プリタイマーと、イベントピッチタイマーには各々繰り返し回数を設定します。 繰り返し回数が0に設定された時は、電源が切られるまで繰り返します。 プリタイマーの繰り返し回数は上図(シーケンス)の繰り返し回数になります。

以上の構想を元に、RRP-1320-1-03 を作る予定です。


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



赤外線リモコン受信動作確認

製作中の RRP1320-1-02 について赤外線リモコンの受信動作を確認しました。 自宅にあったリモコンの中で NEC フォーマットのものは BUFFALO 社製 Link Theate のリモコンだけでしたので、下図のリモコン2機種を入手して動作確認しました。 (左 ELPA RC-29D 、 右 Victor RM-A215 )

DSC00150

結果は以下の通りです。

<<< 正常動作 ( NECフォーマット ) >>>
 サンヨー 、 東芝 、 日立 、パイオニア 、 NEC 、 富士通ゼネラル 、 フナイ/DXアンテナ 、 LG 、 オリオン 、 サムスン 、 コルティナ 、 ベスト電器 、 エプソン 、 Quixun ( LIBERA ) 、 バイ・デザイン 、 ナナオ 、 アズマ( DAYTON / Bullet )

<<< RRP1320-1-02 の仕様に合わないもの >>>
シャープ 、 パナソニック 、 三菱 、 アイワ 、 ソニー 、 ビクター 、 大宇電子 、 フィリップス 、 ユニデン

いずれも取扱説明書のメーカー毎設定一覧表の筆頭にある設定を試して判定しました。(全ての設定を試したわけではありません。) 以下全てを満たしたものを正常動作としました。

(1) LCD 1行目に N を表示すること(リーダー信号の長さで判定)
(2) 操作中にカスタムコード(前半 2byte )が変化しないこと
(3) データコード(後半 2byte )が互いに反転関係にあること

「楽々PIC」は赤外線リモコンを無料(リユース)または安価なキー入力装置として活用したいと考えています。
RRP1320-1-02 は全てのリモコンに対応するものではありませんし、対応予定もありません。

RRP1320-1-02 関連インデックスは右記事の末尾にあります。 →「RRP1320-1-02 概要」 

赤外線リモコン受信の関連記事インデックスはこちら → 「赤外線リモコン受信


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




ブレッドボード 3 配線図

 「RRP1320-1-01 概要」で紹介したドキュメントの一つにブレッドボード配線図があります。 回路図と一緒に使えば、ブレッドボードに回路を作る作業を容易にすると考えて作成しました。

役目を終えて分解したブレッドボードを、再構築する時にも便利なように思います。

BB配線図

上図は、ブレッドボード EIC-701 を採用しています。 楽々PICで扱う回路は規模が小さいので、このブレッドボードを標準ブレッドボードと位置付けて今後の製作と紹介を進める予定です。

アップロードしてから気付いたのですが、U3 の向きを表現し忘れました。 ブレッドボードの穴のアドレスで F31 が U3 の1番ピンです。

ブレッドボードで作っていれば、入出力インタフェース回路を容易に変更して試せるので便利です。 例えば FET でモーターを駆動する予定だけど、トランジスタで LED を点灯させてデバックしたり、ブザーに変えてみたりと言った場面では便利だと感じます。 ( FET のままでも LED やブザーを使えますが・・・)


ブレッドボード関連記事のインデックスはこちら → ブレッドボード 


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




RRP1320-1-01 概要

 「RRP1320-1 回路図」の一部をブレッドボードに実現して、所定のデーター・メモリーの内容をLCDに自動転送するプログラムを作りました。 <PICデバイス=18F1320>


秋月電子通商さんで入手できるLCDの中で一番小さな(8文字 x 2行)の AZ Displays, Inc 製 ACM0802C-NLW-BBH を使っていますが、「LCDに自動転送」で使った(20文字 x 4行)の SUNLIKE 製 SC2004C も使えます。 他のLCDは試していませんが、PICマイコンで制御するキャラクターLCDなら中サイズ(16文字 x 2行)も使えると思います。

プロジェクトをダウンロードしてPICに書き込めば、下図のように表示します。(2行目はブリンク)

DSC00141

上図は、LCDとブレッドボード間の配線をスッキリさせる為に、間にユニバーサル基板で作ったアダプタを接続しています。 半田付け出来ない場合は、「RRP1320-1 回路図」の写真のようにジャンパーワイヤーで接続して実現します。 上図のように黒字に白色表示のLCDはバックライト無しでは見難いようです。 PICkit3から電源供給する場合はバックライト無しの(白地に黒色表示)LCDの方が良さそうです。

上図の表示はデモ用に作った部分ですから不要の方は書き換えて使って下さい。 表示する ASCII コードは 0A0H から8文字(1行目)、0C8H から8文字(2行目)に書くことで表示されます。 文字を消す時にはスペース( 20H )を書きこんで下さい。 16文字x2行や、20文字x4行の場合も所定の範囲に ASCII コードを書くだけです。

18F1320はデータ・メモリー・サイズが 256byte で全てバンク0に配置されています。 提供するプログラムは 090H より後ろのデータ・メモリーを使います。 アクセスバンクで使う時にはSFRと重複する少々不便なエリアを使い、使いやすいエリアをユーザー用に解放しています。

他に TIMER1 を使う以外にユーザー・プログラムに制限はありません。 TIMER0 をイベントタイマーとして設定し、デモ用に使っていますが、LCDの動作には影響を与えません。 TIMER0 は自由に設定を変えて御利用頂けます。

下図は、LCDと配線用手作りユニバーサル基板を外した状態です。

DSC00142


このブログの記事を参考にすれば自作可能な内容だと思いますが、お忙しい方の為にプロジェクトとドキュメントを、デジマーケットのシステムを使って(可能な範囲でお安く)ダウンロード販売しています。

以下を含む ZIP ファイルです。
 (1)全てのアセンブラ・ソースを含むプロジェクト一式
 (2)回路図 PDF
 (3)部品表 PDF
 (4)ブレッドボード配線図 PDF
 (5)取扱説明書 PDF


 楽々PIC ダウンロード・コーナー
 RRP1320-1-01-1-Z  ← こちらで販売中です。

rrpdlc


以下は関連記事のインデックスにします。(ドキュメントの補足もあります。)

ブレッドボード 3 配線図 
 ドキュメントの一つにブレッドボード配線図があります。 U3 の向きを表現し忘れました。
ブレッドボードの穴のアドレスで F31 が U3 の1番ピンです。

RRP1320-1 コンフィグレーションビット 
 当ブログやダウンロードコーナーで入手したプロジェクトをビルドしても正常に動作しない場合は、 Configuration Bits set in code のチェックを外してビルドし直してください。


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



ブレッドボード 2 PWM

 「PWM 4 回路図」の回路を実現しているブレッドボードの写真を紹介します。 電気回路を表現する手段としての試みです。(笑) 工夫すれば回路図を読めない方も電子工作を楽しめるように出来る気がします。

とりあえず思い付きで撮影したので、回路図と合わせて参考にして下さい。

まずは全景から・・・
DSC00119

3端子型の部品の方向が解り易いように、斜めから・・・
DSC00120

ブレッドボードを覆っている PICKit3 、RCサーボ、LCDを取り外してブレッドボードをアップで紹介・・・
写真をクリックして別ウィンドウで見ると部品を挿す穴のアドレスを示す英数字も読めると思います。
DSC00121

大まかに部品を紹介します。

<<< 写真左のボード >>>
DCジャック    マイナス(e1,2 h1,2) 、プラス(e3,4 h3,4)
FET        ゲート(c23) 、ドレイン(c24) 、ソース(c25)
マブチモーター  青リード(a24) 、赤リード(i24)

<<< 写真中央のボード >>>
PICkit3      1番ピン(c5)・・・6番ピン(c10)
18F1320     1番ピン(e11)・・・9番ピン(e19)・・・18番ピン(f11)
温度センサー  +Vs(e20) 、Vo(e21) 、GND(e22)
LED        カソード(e23) 、アノード(e24)
RCサーボ    Vcc(b25) 、GND(b26) 、Vin(b27)
赤外線リモコン Vcc(g20) 、GND(g21) 、Vout(g22)
LCD        1番ピン(-) 、2番ピン(+) 、4番ピン(j13)
           6番ピン(j14) 、11番ピン(a11) 、12番ピン(a12)
           13番ピン(b16) 、14番ピン(b17)
           コントラスト調整用のボリューム取り付けと、1番-5番短絡は
           1番-5番ピン短絡はLCD基板内で配線しています。

<<< 写真右のボード >>>
音声合成LSI  1番ピン(e11)・・・14番ピン(e24)・・・28番ピン(f11)
トランジスタ   エミッタ(h27) 、コレクタ(h28) 、ベース(h29)
スピーカー    赤リード(+) 、クロリード(j28)


ブレッドボード関連記事のインデックスはこちら → ブレッドボード 


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



ダウンロードコーナー
記事検索
アンケートに御協力下さい


アーカイブ
楽々PIC 宛てBlogMail


--- ご了承下さい ---

注意して記事を書いていますが、記事及びリンク先の情報による不利益について、一切責任を負い(負え)ません。
QRコード
QRコード
アクセスカウンター

    Atsuhiro Imai

    バナーを作成


    プロフィール

    jyosou_robot

    • ライブドアブログ