LEDシーリグライト

 近くのHCを散策?していたら,売れ残り?はたまたアウトレット
 のシーリングライトが定価30000円のものが10000円程度で
 販売されてました。メーカーも東芝で,間違いないものなので,
 早速購入しました。
 台所の蛍光灯の代わりに付け替えました。我が家は。どれだけ
 省エネになるのかは分かりませんが,大部分をLEDのライトに
 取り替えてあります。
 前もって確認しておきましたが,取り替える前の蛍光灯は,
 器具に直接結線してあるタイプのものでしたので,引っかけ
 ローゼットも併せて購入して取り替えました。いくつかタイプ
 があるようですが,意味がちょっとわからないのですが,
 取り付け?用の穴が4つあるタイプのものを購入しました。

 

 これ,きっと意味があるのでしょうね。4つの穴は,二つずつ
 が同じ形状でした。2カ所だけ止めればいいのでしょうが
 ご丁寧に4つとめました。
 売れ残りできっと古いタイプのものなのでしょうが,タイマー
 機能もついてたりと,結構高機能です。
 前の蛍光灯は,四角でしたので,取り外した後がちょっと
 目立ちますが,結構明るくなりました。

 

 周りが暗く写るので,光量を落としてフラッシュをたいて
 撮影しました。

---電気配線 (2)---

 部品を集めています。便利な部品があるのですが、中には、
 一個二個の販売をしてくれなくて、まとまった数を購入しなけ
 れば、入手できないものもあります。

 

 この部品は、次の部品と組み合わせて、スイッチをDINレール
 に固定するためのものですが、販売単位が10個でした。

 一個単位での販売をしてくれているところもありますが、
 他にも購入するものがあったので、○タロウにて購入しました。

     カメダ電気製
      スイッチ取付台ZK(ZK-221-3C)(上の写真)
      ACベース(S-21-3C)(下の写真)

 

 電源取り付け用のアダプターは、○hooのサイトから購入し
 ました。DIN-04という部品です。

 

 
 この部品はの販売は、なんと、広島県のお店からでした。
 以前、我が家のワンコのドッグフードを購入してたのは、
 福岡から送られてきました。そういえば、以前購入したVVFの
 電線は、北海胴道の会社でしたね。
 
 便利な世の中になりました。ネットで探せば、値段はともかく
 いろんな場所のお店から購入できます。
 届いた部品に部品を組み込み仮組です。

 

 後必要なものが、端子台ですが、これもDIN用のもの物色
 してます。
 やはりこれも最低購入数がネックですねえ。

---電気配線 (1)---

 諸先輩のHPには、何の説明もなく当たり前のように使われ
 ている便利グッズ?(専用の物)が沢山あります。
 専門家の方は別として、趣味でいろいろやっている者にと
 っては、名前も使い方も分からないものもあります。
 今までは、電気等の配線は、一応資格があるので、適当
 にやっていましたが、配電盤とか操作盤等の操作をする
 ための配線は、したことがありませんでした。せいぜい、
 屋内配線とブレーカーの設置ぐらいでした。
 特にステッピングモーターやサーボモーターを動かすのに、
 電源投入時ののシーケンスを組むということは手をつけて
 いませんでした。自分の技術を一歩アップするのに、あくまで、
 自分のレベルの範囲できちんとしたシーケンスを組んでみよう
 と思います。
 その過程で、冒頭の、便利グッズの使い方や名前がやや
 分かってきました。
 一番驚いたのは、DINレールでしょうか。

 

 こんなものがあるんですねえ。
 それから、配線ダクトなるものあるようで、きちんと配線する
 のに使われている諸先輩も沢山いらっしゃいます。

 

 知らないとは恐ろしいですねえ。(笑)
 
 今まで、リレーの取り付け台の裏側の構造が何のためのも
 のかわかりませんでした。

 

 しかし、遅まきながらやっとこの構造がDINレール取り付けの
 ためのものだということが分かりました。赤矢印の黄色い
 ノブは、DINレールから取り外すためのノブです。
 見てみると、手持ちの電磁接触器等にも、その構造があり、
 電源モジュール等にも、オプションで、DINレール取り付けの
 ためのアダプターが発売されていることが分かりました。
 ということで、新しく分かったDINレールを使って、シーケー
 ンスを組むための配線をしてみようと思います。
 DINレールを使うと、ワンタッチで、リレー、MC等の設置が
 できます。

 

 ただ、配線となると、すっきり配線するには、センスが必要な
 のかなと思います。

---自己保持回路 (3)---

 動作の確認をしていて、いくつか不具合がありましたので、
 多少、プログラムの変更をしました。
 ほとんどといっていいほどコメントをいれていませんでした
 ので、自分で作ったプログラムの解釈に時間がかかりました。
 以下の変更をしました。

      延長のブザーを鳴らす時間 1分→→30秒
      スタート・ストップに出力のON・OFFを合わせる。

 キットで遊ぼうで、PICのプログラムを覚えて、初めて作った
 長めのプログラムです。プログラム領域のおよそ
 70パーセントを使ってます。備忘録のために、掲載して
 おきます。

 HANDA-TIMER.txt

 ところどころ、なんで、こんな変数使ったのか、分からない
 のが沢山あります。

---自己保持回路 (2)---

 追加の自己保持回路を組み込み、思った動作できるように
 なりました。

 時間の設定→スタート→1分延長(ブザー)→電源OFF
 の動作です。
 動作時間の設定後、スタートボタンを押すと、カウントダウン
 が始まって、設定時間だけ、半田ごてに電源が入ります。
 設定の時間のカウントダウンが終了して0になると、ブザー
 がなり始め、1分間続きます。このブザーの鳴っている1分間
 の間にスタートボタンを押すと最初に設定した時間で
 カウントダウン(延長)を始めます。
 ブザーが鳴ってる時にスタートボタンを押さないでそのままに
 すると半田ごての電源も自分自身の電源もOFFになります。
 4年越しに思った動作ができるようになりました。

---自己保持回路 (1)---

 以前、半田ごてタイマーを作製しました。
 当初の予定では、切り忘れると、自分自身の電源も落とす
 予定でしたが、自己保持と解除がうまくいかなくて、そのま
 になっていました。

 

 自己保持をさせるには、いろいろ方法があるようですが、
 SSRを使って、自己保持回路のテストをしてみました。

  

 うまくいったので、半田ごてタイマーを改造してみようと
 思います。自己保持のための、スイッチも飾りで、つけ
 てありますので、追加部分を加えて、配線をするだけです
 回路図も残ってないのですが、下図のような感じで、SSR

 

 等を付け加えようと思います。

---PIC 流れるサインボード (2)---

 なめらかにスクロールする方法について、いろいろアドバイス
 いただきました。
 ハードルが高い部分もあって、なかなか実現できません。
 とりあえず、当初の目的である、PCからの入力を表示する
 ことができました。

 

 PICを初めてから、いつも迷ってたのが、文字のキャラクター
 コードの扱いです。
 VB等では、キャラクターコード得るには、

   Asc(‘A’)

 のように「Asc」の関数を使うようです。プログラムを初めて
 覚えたBasicでも同じような関数を使ったと思います。
 このことが頭に残っていて、関数を使わなければ、と思い
 こんでいました。
 なんのことはない、コンピューター上では、同じ、数字で扱わ
 れるんですね。ですから、アスキーコードを得て、演算をする
 には、端に「int」型にキャストすればいいということがやっと
 わかりました。

      char c1 = ‘a’;
      int code1 = (int)c1;

 これで、code1には、’a’のキャラクターコードの0x61を得る
 ことができました。
 キーボードからの入力を表示するにあたって、大文字のデータ
 しかいれていませんので、小文字は、0x20を引いて、

   char c1 = ‘a’;
   int code1 = (int)c1-0X20;

 大文字に変換しました。

---PIC 流れるサインボード (1)---

 諸兄のHPを参考に、PICを使ってサインボードを作りました。
 何の使用目的もない、ただのおもちゃです。
 ただ、諸兄のHPで使ってる74HC154は製造中止でしたの
 で、これまた、諸兄のHPを参考に、74LS138二つで置き換
 えて作りました。
 三日ぐらいかかって、配線を終えて、どのような形で、流れる
 サインボードを実現するか考えました。
 参考になるC言語によるプログラムがみあたらなかったので、
 過去の7セグLEDを使った工作を思い出しながら、
 ダイナミック点灯を基本にプログラムを組むことにしました。

 

 8×8のLEDが4枚ですので、8×32列のLEDがならんでます。
 この黄色い□から黄色い□までのLEDに、タイマー割り込みを
 使って、このLEDとダブるように準備したメモリーの内容を
 書き出すことにしました。
 テレビで使われている走査線のイメージでしょうか。
 メモリーには、縦に8個並んでいるそれぞれのLEDの
 ON-OFFの情報を書き込みます。
 右にスクロールさせるには、メモリーの左側の山吹色の部分
 に表示させる文字のデーターを書き込みます。
 左にスクロールさせるには、メモリーの右側の青色の部分に
 表示させる文字のデーターを書き込みます。
 「A」の表示をさせるには、

 

 16進数7個をメモリーに書き込みます。
 左側に書いてある数字が、上から左端の縦の列の情報に
 対応します。
 これをスクロールさせるには、メモリーに書いてある情報を
 それぞれ、一つ右側のメモリに移動する、ということで、実現
 します。

 

 多分、このほかにもスクロールの方法があるのでしょうが、
 自己流で、作製しました。
 実際に動かして見ると、すーっと流れるような表示には、
 なっていません。
 なめらかにするには、もう少し、工夫が必要なんでしょうね。

 

 アルファベットのA~Zまでの大文字のデーターを入れると、
 それだけで、ほぼメモリーが満杯です。
 倍のメモリーのある16F1939に変更してみようと思います。
 USARTを使って、PCのデータをスクロールさせるのが目標
 です。

--MPLAB XIDE config 自動生成--

 XIDEに開発環境を移した時はv3.10でしたが、まもなくv3.15
 がでたので、ちょっとたってからVUPしました。
 2.3日前でしょうかXIDE操作してるとv3.20のリリースの
 バルーンがでてきました。
 まだ、VUPはしていませんが、バグフィックス版なのでしょうか、
 それとも新しい機能が追加されたのでしょうか。近々VUP
 してみようと思います。
 PICのプログラムをするのに困ってたのが、「congif」の設定
 で、PICの種類ごとに特有?の設定をするのが面倒でしたが
 XIDEでは、以下の方法で、自動設定できます。
 Window-PIC Memory Views-Configration Bits
 とたどります。

 

 すると下記の画面になりますので、

 

 矢印のOPTIONの各項目をクリックします。すると、ON、OFF
 等の選択ボックスがでますので、設定に応じて選択をします。
 設定が全部おわったら、右クリックをして、

 

 Configration Source Code Outputをクリックすると、

 

 設定してあるPICのConfigのコードが生成されます。
 これを全部コピペするとConfigのできあがりです。

---PICの罠(MCLR偏)---

 以前アドバイスいただいたことを試してみようと、下記のような
 実験回路を組みました。

 
 この回路で、

      while(1){
         PORTA=~PORTA
         WaitTime(20000);
      }

 初期設定はありますが、このプログラムを走らせました。
 すると、最初は、思った動作をしますが、

 

 途中で、止まってしまいます。プログラム的には、間違いは
 ありません。
 PICの足に触ると、動き出したり、止まったり、動作が安定し
 ません。
 
 通常は、○ドウインの基板を使ってテストしてますが、
 この基板で動いて、ブレッドボードで実行すると、回路は、
 間違ってないのに動かないという事象に遭遇しました。
 違いを考えると、○ドウインの回路は、リセットの回路が組まれ
 ていますが、ブレッドボードでは、組まれていません。
 NETで検索するとありました。MCLRと呼ばれるリセットに使わ
 れる端子を有効にしておくと、リセットの回路がない状態で
 は、不安定になるとありました。
 
 そこで、前述のプログラムのconfigの設定を、
     MCLREN→MCLRDIS
 にして、再度コンパイル、それで、動かしてみました。

 

  あっけなく動きました。
  アドバイスいただいた通りの動作でした。
  LEDの極性を反対にして、ポートにつなぐのが味噌です。
  プログラムでは、時間をおいて、HIGHとLOWを繰り返して
  るだけです。
  こうすることで、PICがHIGHになると吸い出し?でLEDが
  点灯し、LOWになると吸い込みでLEDがつきます。
  私には、目から鱗でした。
  PICのポートが少ない時は、応用ができ
  そうです。