LEDをPICで制御

このQ&Aのポイント
  • PICでLED制御をするためのプログラムがわからない。解る方、教えてください。
  • LEDの光が流れるような効果を出すために、PICマイコンを使用してLED制御をしたい。
  • 配線を極力少なくし、コンパクトなコントローラーでLEDを制御したい。シーケンサーは不可。
回答を見る
  • ベストアンサー

LEDをPICで制御

PICでLED制御をしたいのですが、プログラムがわからない・・・ そこで、解る方がいたら、教えてください。 配線図・タイムチャートはhttp://blogs.yahoo.co.jp/sakura1014a/8480258.html (配線図も間違えているようでしたら、教えてください^^;) 電源を入れて、スイッチを押したら、パターン1~6までを順番に進み6→1に戻る、の繰り返し。 スイッチを切ったら終了 電源:5V PIC:16F84A 言語:C言語 LED:3.2V/20mA 目的:LEDの光が流れているように見せたい。    基盤~LEDまでの配線を隠したい為、配線は極力少なくしたい。    コントローラーを狭い場所に隠したいので、コンパクトにしたい。    (シーケンサー等はNG) 下手な説明で申し訳ありません、解らない事は聞いてください。 (こんな質問してる時点で無理なんでしょうか?) 解る方、お返事お願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.1

誰も返答がないようなのでちょっとだけアドバイスを。 はっきり言って、質問がほとんど丸投げで「分からないことを答える」の域を超えているので、返答は難しいと思います。 とにかく、このような質問をしているレベルでは、いきなり目的のプログラムを組むのは無謀だと思います。 「ブレッドボード」を使えば、ハンダ付け不要で回路を自由に組むことができますから、 まずは既存の解説そのままの回路を組んでPICのプログラミングに慣れてから、 改めて目的の点灯プログラム作成に取り組んだ方がいいと思います。 その上で、分からないところが出てきたら質問してください。 というだけだとアレなので、ついでに、3×2のマトリックス点灯の場合について、簡単な解説。 ダイナミック点灯させていますので、LEDの明るさは点灯時間でコントロールできます。 以下、説明が分かりやすいようにということで5ms単位にしていますが、この数字自体にはあまり意味がありません。 1. 下記を16回繰り返す(パターン1を約0.5秒点灯)    1-01. 1番をL、2版をHに  (ABCで(1)(2)(3)の点灯を制御できるようになる)    1-02. AをH、BをH、CをHに。 (1)点灯 (2)点灯 (3)点灯    1-03. 5m秒待つ    1-04. AをL、BをH、CをHに。 (1)消灯 (2)点灯 (3)点灯    1-05. 5m秒待つ    1-06. AをL、BをL、CをHに。 (1)消灯 (2)消灯 (3)点灯    1-07. 5m秒待つ    1-08. 1番をH、2番をLに  (ABCで(4)(5)(6)の点灯を制御できるようになる)    1-09. AをL、BをL、CをLに。 (4)消灯 (5)消灯 (6)消灯    1-10. 5m秒待つ    1-11. AをL、BをL、CをLに。 (4)消灯 (5)消灯 (6)消灯    1-12. 5m秒待つ    1-13. AをL、BをL、CをLに。 (4)消灯 (5)消灯 (6)消灯    1-14. 5m秒待つ    (以上で480m秒のうち、(1)は80m秒、(2)は160m秒、(3)は240m秒点灯している。) 2. 下記を16回繰り返す(パターン2を約0.5秒点灯)    1-01. 1番をL、2版をHに  (ABCで(1)(2)(3)の点灯を制御できるようになる)    1-02. AをL、BをH、CをHに。 (1)消灯 (2)点灯 (3)点灯    1-03. 5m秒待つ    1-04. AをL、BをL、CをHに。 (1)消灯 (2)消灯 (3)点灯    1-05. 5m秒待つ    1-06. AをL、BをL、CをLに。 (1)消灯 (2)消灯 (3)消灯    1-07. 5m秒待つ    1-08. 1番をH、2番をLに  (ABCで(4)(5)(6)の点灯を制御できるようになる)    1-09. AをH、BをL、CをLに。 (4)点灯 (5)消灯 (6)消灯    1-10. 5m秒待つ    1-11. AをH、BをL、CをLに。 (4)点灯 (5)消灯 (6)消灯    1-12. 5m秒待つ    1-13. AをH、BをL、CをLに。 (4)点灯 (5)消灯 (6)消灯    1-14. 5m秒待つ    (以上で480m秒のうち、(2)は80m秒、(3)は160m秒、(4)は240m秒点灯している。) 3~5略 6. 下記を16回繰り返す(パターン6を約0.5秒点灯)    1-01. 1番をL、2版をHに  (ABCで(1)(2)(3)の点灯を制御できるようになる)    1-02. AをH、BをH、CをLに。 (1)点灯 (2)点灯 (3)消灯    1-03. 5m秒待つ    1-04. AをH、BをH、CをLに。 (1)点灯 (2)点灯 (3)消灯    1-05. 5m秒待つ    1-06. AをL、BをH、CをLに。 (1)消灯 (2)点灯 (3)消灯    1-07. 5m秒待つ    1-08. 1番をH、2番をLに  (ABCで(4)(5)(6)の点灯を制御できるようになる)    1-09. AをL、BをL、CをHに。 (4)消灯 (5)消灯 (6)点灯    1-10. 5m秒待つ    1-11. AをL、BをL、CをLに。 (4)消灯 (5)消灯 (6)消灯    1-12. 5m秒待つ    1-13. AをL、BをL、CをLに。 (4)消灯 (5)消灯 (6)消灯    1-14. 5m秒待つ    (以上で480m秒のうち、(6)は80m秒、(1)は160m秒、(2)は240m秒点灯している。) 7. 1に戻る スイッチがONの時だけこの手順の動作をさせるように、といったプログラムにすればOKです。 (3本だけで6LEDを制御する方は、ピンをハイインピーダンスにする処理が入るので、さらに複雑になります。 出来ることなら、妥協して7本(出力6+共通1)で6LEDを制御するようにした方がプログラムが格段に簡単になります。) あと、使用CPUに PIC16F84を出してますが、それはやめておいた方がいいです。 初期の定番PICでしたが、今となっては時代遅れですので、PIC16F88 あたりを使う方が、安いし高機能です。 http://homepage3.nifty.com/mitt/pic/pic88_2.html http://1st.geocities.jp/taketea_2007/elekijack/kumikomi_nyumon/rx_tx_board/pic/16f84a/16f84a.htm (例えば、PIC16F88など、最近のPICはクロック発信器を内蔵しているので、セラロックの外付けが不要になります。)

787BR26B
質問者

お礼

お返事ありがとうございます、大変参考になりました 言われた通り、まずはPICになれて行こうと思います。 (最初は、配線7本からやってみようと思います) 疑問に思うことが、これからもあると思うので、 その時は、まともな質問が、できるようがんばります。

関連するQ&A

  • PIC LED制御

    PIC16F84AでのLED制御についてですが、PIC回路とは別に外部に別の回路を組みその別回路でLEDの点滅スピードコントロールをしたいのですが可能でしょうか?スピードについてはスイッチで何段階かに分けたいです。(例えば5段階調整等)

  • PIC16F624Aで赤LEDを制御

    PIC16F624Aで赤LEDを制御を制御する際に、 電源を5Vで、PICの出力を抵抗なしにそのまま 赤LED(2.2V)につないだところ、まったく問題なく 動作しております。 通常の5V電源でつないだところ、 すぐにLEDがとんでしまったのですが、、 PICには自動識別のような機能があるのでしょうか?

  • 初歩の質問ですいません。(LED)

    初歩の質問ですいません。 ◎VF 3.4-3.6(V) ◎IV 35000-40000(mcd) ◎IF 20mAのLEDを30個(10個×3列)を基盤に並べて、発光させたいと思いますが、その際100Vから電源を引いて使用したいと思います(DCアダプターを使用するつもりです)。スイッチは使いません。 どのような配線(直列・並列など)をすればよろしいのか、またDCアダプターはどのような規格の物(VやA数)を使用すればよいか等、いろんなホームページを見ても解決しませんでした。 ご指導のほど、どうぞよろしくお願いします。

  • フルカラーLEDの制御

    技術、予算的に厳しいのでPICを使用せずに、ダイオードマトリックスでフルカラー制御を行いたいと考えています。 1回路8接点のロータリースイッチで、以下の7パターン(8接点目は省略)を切り替える仕様です。 過去ログのhttp://oshiete1.goo.ne.jp/qa1433600.htmlで、似たような事が書いてあったため、参考にして回路図を書いてみました。 ちなみにフルカラーLEDは並列で8つほど接続する予定です。(各LEDのR,G,Bに抵抗を取り付ける予定) 各抵抗値は、20mAを想定して、R=495Ω、G=430Ω、B=430Ωを考えています。 そこで質問なのですが、 1)以下の回路図でうまく制御できるものなのか、教えていただけないでしょうか。 2)1の赤(R)のみ光らせた場合の回路で例えると、GとBはアノードもカソードも同じ電位に   なり、光らないという仕様になるのですが、この方法は正規なものなのでしょうか。   (負荷や寿命等に影響されない??) 3)各パターンからアノードコモンへの接続に、定電流ダイオード(E-103)を並列に繋ぎ、   20mAとしていますが、LEDを並列に8つ繋げた場合でも問題なく発光しますでしょうか。 以上、長文となりますが、よろしくお願い致します。 ------------------------------------------------------------------- 【フルカラー制御パターン ( )は点灯する色】  1  赤(R)  2  緑(G)  3  青(B)  4  黄(R+G)  5  紫(R+B)  6  水色(G+B)  7  白(R+G+B) 【フルカラーLED規格】  特殊フルカラーLED、アノードコモンタイプ   R ... VF(2.1V) ... IF(50mA)   G ... VF(3.4V) ... IF(30mA)   B ... VF(3.4V) ... IF(30mA) 【回路図】 12Vアダプター  - +  | |  | └──---┐ロータリースイッチ  | ┌-┬-┬-┼-┬-┬-┐  ┷  1 2  3 4  5 6 7         LR  LG  LB    LC         |  |  |    |         |  |  |    |         R   R   R     |         |  |  |    |         |  |  |    |         |  |  |    |         |  |  |    |  1 ───-)-┬-)-┬-)-─┐ |         | ▼| ▼|   ▽ |         | └┤ └┤  └-┤  2 ──┬-)-─-)-┬-)-─┐ |       ▼|   | ▼|   ▽ |       └┤   | └┤  └-┤  3 ──┬-)-┬-)-─-)-─┐ |       ▼| ▼|  |  ▽ |       └┤ └┤  |  └-┤  4 ───-)-─-)-┬-)-─┐ |         |  | ▼|  ▽ |         |  | └┤  └-┤  5 ───-)-┬-)-─-)-─┐ |         | ▼|  |  ▽ |         | └┤  |  └-┤  6 ──┬-)-─-)-─-)-─┐ |       ▼|   |   |  ▽ |       └┤   |   |  └-┤  7 ───-)-─-)-─-)-─┐ |         |   |   |  ▽ |         |   |   |  └-┘         |   |   |              ┷  ┷  ┷  ※各記号の説明   LR ... LEDのR端子   LG ... LEDのG端子   LB ... LEDのB端子   LC ... LEDのアノードコモン   R ... 抵抗   ▼ ... 汎用整流用ダイオード TAIWAN製 1N4007(1Aタイプ)   ▽ ... 定電流ダイオード 石塚電子製 E-103(10mA)並列繋ぎ   -)- ... 立体交差   ┷ ... GND

  • PICを同期させて制御する方法を教えてください。

    PICを同期させて制御する方法を教えてください。 PIC16F84Aを使用して、複数個をLEDを制御したいと考えています。 LEDの制御基盤を複数作り、同じプログラムを入れてもLEDの点灯タイミングが 同期して動きません。 複数個のPICを同期させて制御するにはどうしたらいいのですか? 5個以上のPICを使用したいと考えています。 教えてください。 よろしくお願いします。

  • PICデーターシートおよぼLED接続について

    いつも勉強させて頂いております。 PICについて勉強し始めなため、基礎的なことについて質問 させて頂きます。 PICとLEDを直列につなげてLED発光を制御する回路作ろうと 考えています。 つまり、PICとLEDの間にTrやAMPを入れないと言うことです。 手始めにPICのデーターシート(今回は16F84A)を調べたら、 DC Characteristics欄に以下記述がありました。 ●IDD=4.5mA(MAX)の条件にVDD = 5.5V。(データーシート53ページ) ●VOL=0.6Vの条件にIOL = 8.5 mA, VDD = 4.5V。(データーシート56ページ) 具体的なデーターシートは参考欄に記載します(URLにて)。 以下に具体的な質問します。 [質問A] IDDとはPIC電源に入力する電流定格と認識しているのですが、 この認識は合っていますか? [質問B] 質問Aで認識に間違いない場合、電源入力IDDより出力電流IOL が多いのはなぜでしょう? また、そもそもVDDを一定にせずデーターシートに記載される のはなぜでしょう? [質問C] 今回使用する赤色LEDはIF=20mAを予定しています。 IDD=4.5mA、IOL = 8.5 mAでは計画に無理があるでしょうか? [質問D] 質問Cで無理がある場合、IDD=4.5mA(MAX)値超えて設定して良 いものでしょうか? ちなみに、Maximum current into VDD pin=100mAです。 以上、質問量多いので、解る範囲でお答え頂きたく思います。 また、初心者なため初歩的な認識違いあったかもしれません。 ご容赦下さい。 PIC16F84A LED http://blog.goo.ne.jp/toko0131/e/6b373d5fd089f47cd5c4c69bea7d9067 http://akizukidenshi.com/catalog/g/gI-00562/

  • PIC PWMをLEDドライバで駆動

    PICで生成したPWM信号をLEDドライバで駆動したいと考え添付の様な回路を作成し動作させました。 <問題点> PIC PWM出力直後のLEDは蛍の様に点滅をするのですが、ドライバ駆動のLEDはゆらゆら点滅になってしまいます。 尚、PIC PWMをON/OFF出力にした場合、連動してON/OFFしています。 <LEDドライバ amazon購入> ・入力範囲:DC 5-35V、出力700mA±20mA、1-10 3W LED駆動 ・PWM調光、ハイレベルオフ出力、低レベルの電源オン出力に対応 ・ステップダウン動作モードにより、LEDの総電圧差が入力電源電圧より2 – 3 V未満であることを保証します  ※ステップダウン動作モードが分かっていません 初心者ですので雑な作りかと思いますがご指摘を願いします。

  • PICで制御できる電源スイッチのようなもの

    PICで電子工作をしているのですが、 今、PIC の信号+5Vを検地して他の機器の電源のON/OFFができないかなと思っています。 動かしたい他機器はACアダプタを挿すと動作するというものなので、 ACアダプタからジャックまでの配線の途中に使える、PIC の端子からの+5Vを検知してON/OFFを行えるようなスイッチを探しているのですが、ないでしょうか? リレーなどを使うのがよいのでしょうか? 単純に接点1つでON/OFFができればよいのですが、、、、、よろしくお願いします。

  • LEDの抵抗

     定格:AC125V5A、250V3A 照光LED:2.1Vと書いてある  スイッチのLED部分の配線なのですが ・カーボン抵抗を付ける際 いくつの抵抗を付ければいいのでしょうか? ・また、定電流ダイオード(15mA)でも、問題ないでしょうか? ・一般整流ダイオードは、付けた方がいいのでしょうか? スイッチ↓ http://www.sengoku.co.jp/mod/sgk_cart/search.php?toku=&cond8=and&dai=&chu=&syo=&cond9=&k3=2&list=2&pflg=n&multi=&code=55P8-4HG8 ※「電装品」LED照明で図のように使用と考えています。

  • 小型のLED照明を作りたい!

    PIC(12F683)を使い、3Vくらい200~300mAでパワーLEDを制御できないかと思っています。 (燃えたとか光ったとか怪しい情報も多い中ですので、回路図も詳細も省かせてもらいます。) そんな概要だけで質問させてもらいますが、2SC1815をPICでコントロールしてパワーLEDのオンオフは可能でしょうか? 使用電源はACアダプターでDC5V入力(1A以上)を考えています。パワーLEDはOSW4XME1C1E-100を1つなどはどうでしょう。 また、不可能である場合は、別案などもお聞かせいただければ参考になります。 ご意見よろしくお願いします。。。 http://www.akizukidenshi.com/catalog/g/gI-03042/

専門家に質問してみよう