• 締切済み

PICを使って光検出をしたい

CDSかフォトダイオードかフォトトランジスタを使い光を検出し、それをPICを使いPICの中にあらかじめ入っている光の配列の情報と照らし合わせ、あっている場合と間違っている場合の出力を変えるアセンブラのプログラムを作りたいと思っていますが、自分では難しくわかりません。 光の配列とは、1秒光った2秒光った1秒光ったなどのような配列です。よろしくお願いします(__)

  • i00323
  • お礼率70% (188/265)

みんなの回答

  • 12m24
  • ベストアンサー率23% (193/817)
回答No.1

 あまりハード的なことが決まってなさそうなので、ハードウェアで使えそうな機能を紹介します。 ・CdSなど単体では出力が弱すぎるので、オペアンプやトランジスタなどで増幅する必要があります。 ・PICの機能はピン割り込みが使えるので、特定のピンに入力して光っているかどうかを判定できます。 ・光ったという時間がこの程度のスピードで十分でしたら、時計でも使っている32.768kHzの発振子(この場合では水晶でもCRでもかまいません)をタイマー0か、システムクロックに入れて割り込みするのもいいと思います。  ただ、極端に受光時間が短かった場合に無効にする必要もあります。 ・光の配列は、ハードにもよりますがEEPROMに格納すれば、プログラムの書き換えずにこのデータだけの書き換えでいろいろ対応できますので、こちらをお勧めします。  まずは、ハードウェアを決めてください。ソフトウェアはそれからです。  メーカーはこちら↓ですので、データシートを参考にしてください。日本語の資料もそろっています。 http://www.microchip.co.jp/

i00323
質問者

お礼

ありがとうございます!ハードはフォトトランジスタを使いPICにつなげ出力は豆電球にし、発振子は32.768kHzにしようと思います。プログラムのアドバイス等あれば嬉しいです!

関連するQ&A

  • 光検出器の入射窓

    フォトダイオードなどの光検出器には入射窓があり、そして 受光面(pn接合)があります。入射窓の厚さ及び材質はどのような ものがあるのでしょうか?なお、フォトダイオードの 検出対象は赤外線としてください。

  • 透過型フォトインタラプタ(SG268)が反応しません

    現在PICを使った回路を製作しており、そこでPICの入力に透過型フォトインタラプタを接続し、光を遮るという動作を条件にして出力させようとしています。ですので、遮る前は入力ピンはhighとなっているので、lowとなったときに出力するようプログラムを組みました。 しかしいざ組んでみると、光を遮っても出力しません。出力しないということは、光を遮らない場合でも遮った場合でも入力ピンはhighであるということなのですが、何故か遮ったらlowにならないのか分かりません。 フォトインタラプタの電源電圧は、ダイオード側もトランジスタ側も、9V電池を三端子レギュレータで変換した後の5Vをつないでいます。そしてダイオード側は、電源の後に100Ωの抵抗をつなぎ、トランジスタ側は、25kΩの抵抗をつないでいます。ダイオードのマイナスとトランジスタのエミッタはそのままGNDにつないでいます。 PICの入力へは、トランジスタのコレクタをそのままつないでいます。 初歩的な質問で申し訳ありませんが、どなたか力を貸していただけると嬉しいです。 お願いします。

  • Cdsセルの動作原理について

    フォトダイオードやフォトトランジスタ、Cdsセルについて調べているのですが、Cdsセルの動作原理がよく分からないのです。 もしよろしければ、このことについて詳しく説明してください。 よろしくお願いします。

  • 電子工作 PIC PIC16F84A アセンブラ

    PIC16F84Aを使用して1番ピン及び2番ピン及び3番ピンが一瞬でも0Vになり、 5秒経過、6番ピンから3秒間出力、始めに戻る。 こんなようなプログラムを作りたいと思っていますが、 なにぶんPIC初心者なものでどうプログラムしたらよいか全くわかりません。 ピン入力に順序は関係なく全て0Vならカウント開始です。 5秒のカウント精度は低くても問題ありません。 5秒カウント中に1、2、3番ピンのいずれかが一瞬でも5Vになったらカウントを中止し、 始めに戻ります。 5秒カウントの6番ピンのステータスは0Vです。 6番ピン出力中は、1~3番ピンの監視は不要です。 6番ピンからの3秒出力の後は出力をやめ始めに戻ります。 開発言語はアセンブラです。

  • 光通信?

    みなさん、おねがいです。たぶん簡単なことかもしれませんが教えてください。 1.光検出器(フォトダイオード)で得た光を、オシロスコープで観測した波形で何の光か見分けるにはどうしたらよいのでしょうか?(私は蛍光灯の光を用いました) 2.発光ダイオードの光で行った場合、入力周波数が上がるにつれてオシロスコープで観測される正弦波が小さくなるのはどうしてなのでしょうか? 3.発光ダイオードとレーザーダイオードの違いは何なのでしょうか? 困ってますので、おねがいします。どれか1つでも良いのでお願いします。m(__)m

  • PICの出力電流を制御

    質問を見ていただいてありがとうございます。 PICから電流を出力する際の電流の制御はどのようにするのでしょうか? パルスを出力したいのですが、そのときの電流を10mAにしたいと考えていますが、する方法がわかりません。 いくつか文献も見てみたのですが今一よくわかりませんでした。 もしかしたら基本的過ぎて載っていないだけのかもしれませんが、よろしくお願いします。 プログラムはアセンブラの環境で行っています。

  • PICマイコンPIC12F509について

    これからPICを勉強しようとしているPIC未経験者です。 とりあえず使用するPICはPIC12F509を考えています。ネットの情報量からすると本当はPIC12F683の方が良いのかも知れませんが価格面からPIC12F509を検討しています。 PICはこれから購入しますが一番最初に触るPICマイコンとしてPIC12F509を選択しても大丈夫でしょうか? 一応言語はアセンブラを勉強しようと考えています。また、最初の目標として入力1に5Vがかかった時に出力1から何ミリ秒か遅れて5Vが出力され、入力1の加わる5Vが不定期に素早くON-OFFを繰り返えしてもPICの電源をOFFするまでずっと繰り返し動作する程度の物を組みたいと思っています。 現在の開発環境はPCにMPLAB X IDE v3.26等のソフトをインストール、PICkit3を入手程度です。 先日、MPLAB IPE v3.26を使用しHEXファイルをPIC18F2550に書込みを初めてしてみました。これが初めてのPICとのふれあいです。 以上、PIC知識人の皆さまご教示を宜しくお願い申し上げます。

  • 光検出器に関する質問

    半導体レーザーからどれだけの出力が出ているかを調べるフォトセンサーを購入することを考えているのですが、 これに関しての質問です。 ・基本的に、フォトセンサーには波長依存性があり、入ってくる光の波長によってA/Wの値が異なります。 となると出力が同じ20mWで400nmのレーザーと900nmのレーザーが入ったときで、検出される出力が異なるということになります。 これは装置の中でディテクター依存のA/W値の逆数のW/Aをかけて出力を算出していると考えて良いのでしょうか? ・それと、400nmのレーザーと900nmのレーザーでは同じ出力20mWでもフォトン数が違うはずです。 具体的には900nmのレーザーのフォトン数は多いはずですが、これはフォトセンサーでは考慮されないということで良いのでしょうか? よろしくお願い致します。

  • PICで電球の明るさをコントロールしたい

    以前にPICの出力ピンにトランジスタを繋ぎ12V5Wの電球を点滅させる実験をしました。プログラムはPWM制御風に作成し、明るさのコントロールも出来ました。 今度は12Vで10W~数十Wをコントロールできないかと思案しております(もちろんPWM風で)。 そこでPIC程度の信号でも大電流を制御可能なFETがないかと思いつきました。 要するに「超高速のON、OFF信号で大電流(直流)をコントロールできるリレー」のような役割をしてくれる電子部品が欲しいのです。 FETの知識は無いのですが、なんとなくFETの中になら普通(?)のトランジスタよりも理想に近いものがありそうな気がしたので・・・。 おすすめがあれば型番を教えてください。 あと、出来たらPICの出力ピンと電球、電源への配線方法も教えて頂けると助かります。 よろしくお願いします。

  • 【PICマイコン】一般製品にPICシリーズが使われてるって本当ですか?

    最近PICをはじめて大分アセンブラもなれてきて楽しめるようになってきました。 それで教えてGOOで色々見てるときにPICシリーズのマイコンは一般製品の中にも組み込まれているって書いてあったんですが本当ですか? 僕の中でPICやAVR等はそれなりにコアな趣味を持つ人たちのおもちゃ的な物だと思ってました。 もし本当に入ってるんだったら具体的にどんな製品にどのマイコン(例PIC16F877A等)が使われてるのか教えてください。凄く興味があります。 また、何処のサイトだったか忘れましたが「これからマイコンをはじめるならAVR!PICをやるメリットなし!」ぐらいの勢いで書いてあったんですがその通りなんでしょうか? もひとつ、、PICの勉強をはじめるときにアセンブラかCかで迷ったんですがアセンブラではじめた方がCPUの構造をより理解しやすいとの事でアセンブラで進めてきたんですが、いまいちその実感がわきません。具体的にどういう所でCPUの構造を理解しやすいのでしょうか? それっぽいなぁと思うのはクロックでタイミングを与え、そのタイミング毎に命令を実行しレジスタのBITで条件判断をしたり計算をしたりしてポートに出力する的な部分でしょうか?そもそもCPUの構造ってどういう事なんでしょうか?何て言うか例えて言うならエクセルは仕事で使うから詳しいけどWindowsの設定は全然解りませんみたいな感じです。 よろしくお願いしますm(_)m

専門家に質問してみよう