楽々PIC

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

16文字x2行LCD

 「RRP1320-1-01 概要」で「16文字x2行のLCDも使えると思う」と書きながら未確認でした。 今回、16文字x2行のLCDを入手したので確認してみました。 動作確認に使ったハード、ソフトは RRP1320-1-04-2 です。

結果は、下図の通り期待した通り動作します。

DSC00225


16桁あれば、上図の右側に赤外線リモコンの受信コードを温度制御と分けて表示することも出来そうです。

今回試したLCDは Sunlike Display Tech. Corp. 製  SC1602BS-B(-XA-GB-K) です。 以前に使った8文字x2行LCD( AZ Displays, Inc 製 ACM0802C-NLW-BBH )及び20文字x4行LCD( SUNLIKE 製 SC2004C )に対して電源のピンに配置が逆になっていますから注意が必要です。

確認用に下図のアダプターを作って電源端子を入れ替えました。

DSC00226


LCDは表示可能な文字数が多い方が表現力があって良いのですが、価格や組み込み機器(操作部)の大きさとのバランスもありますから同じプログラムで柔軟に対応出来る方が良いように思います。

ともあれ、16文字x2行が無事に動作して一安心です。


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



フルカラーLEDの動画

 RRP1320-3-01-1 の調光パターンの中から3つを紹介します。 現物を見る方が広範囲の光に順応できるせいか、より良く見えるようです。 花火を狙ったパターンとイタリアンカラー、桜をイメージした発光パターン(のつもり)です。

DSC00219


本が読める明かりの中で撮影した動画です。
調光パターンは撮影しながら赤外線リモコンで切り替えています。




4個のLEDを異なる色に発光させても、拡散用の円柱(緩衝材用発泡ポリエチレンシート)に色の分布を作り出す効果が小さいようです。 初めの頃は白、赤、緑、青と言った具合に4灯の合計が白色になるパターンを作っていましたが、合計で白の配色が連続するとインパクトが小さいように思います。

LEDの配置や拡散用の円柱を別の形に変えるなど工夫が必要そうです。

一方で、PWMによるLEDの調光制御プログラムを使って、データテーブルに刻々と変る(変える)光のパターンを書き連ねる作業も立派なプログラミングだと感じます。 メモリーやポート、タイマーと言った手足を操るプログラミングも重要ですが、RRP1320-3 を魅力的に見せるのはデータテーブル次第と言えそうです。

炊飯器はプログラマーによるプログラムも重要ですが、毎日何度もご飯を炊いて試食してデータを組みかえる、絶え間ない努力でソフトウェアを作ると聞いたことを思い出します。


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



RRP1320-3-01 概要

赤外線リモコンによる指示に従い、4個のフルカラーLEDを調光制御する RRP1320-3-01 の概要をお知らせします。 <PICデバイス=18F1320> 

ブレッドボード上に作った回路は下図の通りです。 マイコン端子とLEDを繋ぐ配線がジャンパーコードのため、配線量が多く見えますが、LEDと電流制限抵抗を半田付けしたユニバーサル基板を作り、PICマイコンを覆うように差し込めば面積も半減してスッキリしたものに出来ると思います。

DSC00210

赤外線リモコンについては、これまでに紹介したものと同様です。

フルカラーLEDの調光・点滅を記述するデータテーブルは下図のようなもので、プログラム・メモリー容量の許す範囲で追加や修正を行って好みの演出を試すことが出来ます。

fcled_data

発光パターンのテーブルサイズが個々に異なるため、最初にデータテーブルの先頭アドレスを並べたインデックス・テーブルがあります。 発光パターンのテーブルを追加する場合は、インデックス・テーブルへの追加も忘れないようにして下さい。

発光パターンのテーブルは次の情報を並べています。
(1) ステップ数
(2) 繰り返し数 (0で電源断まで繰り返し)
(3) 繰り返し数を終了した後に実行するテーブル番号
(4) RGB発光量(0~F) 4灯分( 6byte )と当該ステップ実行時間(0.1sec単位)
    (4)をステップ数分並べます。

所定のデータ・メモリーに発光パターンのテーブル番号を書き込み、所定のサブルーチンを CALL すれば発光制御を開始します。 (1)~(3)のデータはデータ・メモリー上に転送して利用しますから、発光制御の途中で、データ・メモリー内の(2)や(3)を書き換えることで、複数のパターンを遷移する発光パターンを演出できます。


ドキュメントとプロジェクト一式を以下のサイトでダウンロード販売中です。

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


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

rrpdlc


以下は、関連記事のインデックスです。

RRP1320-3 回路案 
 フルカラーLED4個の発光制御で点滅は勿論、RGB各色16段階(滅灯含む)の輝度を制御し、16段階=4bit x 3色で12bit(4096色) x 4灯の表現力で光を演出します。

フルカラーLEDの電流制限 
 PWM制御でRGB3色LEDの点灯時間を加減するのですが、各色100%発光させた時に白色に見えるように電流制限したいと思います。

LEDの調光制御 
 1msec のタイマー割り込み( TIMER1 )を使って点灯と滅灯を切り替えます。 各 LED は 15msec で1周期の点滅パターンを繰り返すことで約67Hzの点滅になります。

フルカラーLEDの動画 
 調光パターンの中から3つを紹介します。 現物を見る方が広範囲の光に順応できるせいか、より良く見えるようです。 花火を狙ったパターンとイタリアンカラー、桜をイメージした発光パターン(のつもり)です。

フルカラーLED組み込み例 1 
フルカラーLED組み込み例 2 
 フルカラーLED調光と赤外線リモコン受信機能を試した RRP1320-3-01 を百均で買ったケースに組み込んでみました。


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






フルカラーLED

フルカラーLEDは4本足のLEDで、RGB3色のLEDが一つのパッケージに納まっています。 3本のLEDのアノードまたはカソードを1本にまとめて合計4本の端子を持つ物が多いのですが、3色x2本合計6本の端子を持つ製品もあります。 今回準備したのは下図の2種類で、Φ5砲弾型の OST A5131A-R/PG/B と角型の OSTA71A1D-A です。

DSC00209

ブレッドボードに直接挿しリードを曲げて光の方向を調整する為、砲弾型を採用しました。 角型はブレッドボードに直接挿して使おうとすると無理があります。(30度程度傾けて挿すと4本独立した列に挿せますが・・・)

一方、砲弾型 OST A5131A-R/PG/B がカソードコモン、角型 OSTA71A1D-A がアノードコモンです。 
いずれの場合も各色のLED独立に電流制限する為、下図のように抵抗等の電流制限素子を接続して使います。

Full_Color_LED


RRP1320-3-01 では PIC18F1320 のポートRA4がオープンドレインなので、この端子だけPNPトランジスタで駆動し、他の端子からは直接LEDにソース電流を流し込みます。


以下は、電流制限の抵抗値決定など関連情報のインデックスにします。


RRP1320-3 回路案 
 フルカラーLED4個の発光制御で点滅は勿論、RGB各色16段階(滅灯含む)の輝度を制御し、16段階=4bit x 3色で12bit(4096色) x 4灯の表現力で光を演出します。

フルカラーLEDの電流制限 
 PWM制御でRGB3色LEDの点灯時間を加減するのですが、各色100%発光させた時に白色に見えるように電流制限したいと思います。

LEDの調光制御 
 1msec のタイマー割り込み( TIMER1 )を使って点灯と滅灯を切り替えます。 各 LED は 15msec で1周期の点滅パターンを繰り返すことで約67Hzの点滅になります。

RRP1320-3-01 概要 
 赤外線リモコンによる指示に従い、4個のフルカラーLEDを調光制御する RRP1320-3-01 の概要をお知らせします。

フルカラーLEDの動画 
 調光パターンの中から3つを紹介します。 現物を見る方が広範囲の光に順応できるせいか、より良く見えるようです。 花火を狙ったパターンとイタリアンカラー、桜をイメージした発光パターン(のつもり)です。


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



デバッグ難航

 RRP1320-3-01-1 はデバッグに手間取りました。 赤外線リモコンで点灯パターンを切り替える際に、作った覚えの無い点灯パターンで動き出します。 しかも稀に発生する現象でてこずりましたが、安定するようになりました。 写真のように拡散用キャップの手持ちが無いので、入荷待ちの間に点灯パターンを増やして置きたいと思います。

DSC00207


今回は高位割り込み中のテーブルジャンプに掛け算を使うのですが PRODH , PRODL の退避・復旧を行わなかった為、メインレベルの掛け算に(稀に)不具合を発生させていたことが主原のバグでした。 下図アセンブラ・ソースのようにバックアップを取ることで安定しました。

テーブルジャンプ

他にも LED を実際に点滅制御する高位割り込み( TIMER1   1msec )、点灯パターンを刻々と切り替える低位割り込み( TIMER0   50msec )、赤外線リモコン受信に応じて点灯パターンのテーブル参照情報を差し替えるメイン処理の連携に不具合の無いように工夫しています。

メイン処理によるテーブル参照情報差し替えでは複数のデータを上書きしますが、途中で低位割り込みが入るとデータ不整合が予想される為、差し替え作業中を示すフラグを作りました。 低位割り込み処理がこのフラグを検出すると次回割り込み(50msec後)まで予定処理を延期して不具合を回避します。


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




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


アーカイブ
楽々PIC 宛てBlogMail


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

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

    Atsuhiro Imai

    バナーを作成


    プロフィール

    jyosou_robot

    • ライブドアブログ