dポイントプレゼントキャンペーン実施中!

図に示すようなシステムを考えています。
物体を発射させ、物体がレーザーを横切った時を記録して、時間差を計測するというシステムです。
クロックはマイコンからのものを考えています。

レーザーからのレーザー光をフォトダイオード、オペアンプを経由してマイコンにデータ送信しようと考えています。
そこで最初に物体の自由落下でのの時間差を測定しようと思い
http://toragi.cqpub.co.jp/tabid/284/Default.aspxのマイコンを購入しました。
ソフトウェアとしてHEWを使用しているのですが、C言語のプログラムをどのように書けばいいのかわかりませんでした。
上記の条件を満たすプログラム例があれば回答お願いします。

また、パソコン上にどのように結果を表示させればいいのかも本を読んでも良くわかりませんでした。それについても解説などあればお願いします。

回答・解説・指摘お願いします。

「C言語 マイコン」の質問画像

A 回答 (3件)

以前お勧めしたフォトインタラプタは使わずに、フォトダイオードとオペアンプで回路を君だという訳なのですね。


いや、フォトインタラプタなら、マイコンにとって非常に取り扱いの簡単な出力(マイコンにとっては入力)をもらえる訳なのですが、そのあたりを検討されたのか、検討してわからなかったのか謎ですが。

さて、お使いの基板に乗っている、H8SX/1655 は、USB を内蔵しているようなので、マイコン側の設定プログラムを書いて、パソコン側にデバイスドライバをインストールする必要がありそうです。

そのあたりは、ちゃんとしたデータシートを参照する必要があるのですが、最低限、
http://shop.cqpub.co.jp/hanbai/books/MTR/MTRZ201 …
の記事は一通り理解する必要があると思います。

USB であれば、


第6章 無償ツールGDBでプログラムのデバッグ環境を作る
 無償ツールGDBによるデバッグの原理
 付属基板(MB)とUSB通信するためのUSBドライバをインストール
 EclipseからGDBを制御してデバッグする

第7章 USB経由でパソコンと通信する
 Windows標準のソフトウェアで通信する
 オリジナル・ソフトウェアを作ってバイナリ・データを転送する

に書かれているようですが。

フォトインタラプタなら、デジタル信号として処理できるので、H8SX/1655なら、「インプットキャプチャ」という機能を使えば、入力信号が変化した時点のタイマカウント値を取得することができます。

このあたりも、まずは、データシートを理解する必要があります。
    • good
    • 0
この回答へのお礼

前回の質問に引き続き回答ありがとうございます。
まずはデータシートを読み込んでみたいと思います。
とりあえずは、フォトダイオードでやってみます。
だめだな遥でしたらお勧めのフォトインタラプタを購入しようと思います。

お礼日時:2010/11/27 21:19

フォトインタラプタというのは私は初めて知りましたが、確かにこちらの方がかなり楽に組めそうですね。



まぁそれはさておきますが、本の内容で出来ることは本の中身で完結しているはずです。
つまり、USB-シリアル変換ドライバが添付CDの中にあるはず。
あるいは、記事をよく読めば「ここからダウンロードしてください」という記述があるでしょう。

あとは#2でも言われている通り、各記事を理解することを最優先にしてください。
そこをすっ飛ばしていきなり目的にたどり着こうとしても碌な事になりませんから。
    • good
    • 0

まず、表示系はUARTを使ってUSB経由でシリアルコンソール(TeraTerm等)で受けることが可能になっているかと思います。


H8のUARTサンプルは探せば簡単に見つかるはずですし、ルネサスのアプリケーションノートにもあったような気がします。

で、本体の方ですが、方針的には

・フリーランタイマーを走らせておく
・オペアンプからの入力を一定間隔でA/D変換する
・A/D値が定常状態から動いていたら、「レーザーが遮られた」ということなのでそのタイミングでフリーランタイマーのカウンタを取得する

という感じでしょうか。
通過しきったところでカウンタを取りたいなら、定常状態から動いた瞬間にフラグを立てて定常状態に戻った時にフラグが立っていたらカウンタを取るようにすればいいでしょう。

差分についてはオペアンプごとにカウンタ値を持っておけば簡単に取れます。
差分を取るタイミングはカウンタを取得した瞬間でいいでしょう。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
早速Tera Termをインストールして、サイトの使い方を見て、Tera Termを使おうとしたのですが、Tera Termがマイコンを認識してくれません。
マイコンとPCはUSB経由で通信しているのですがポート先をSerialのポート1にしたのですが認識しませんでした。
何故認識しないのかわかりません。どのようにしたら認証されるのか教えてください。素人質問で申し訳ないです。

お礼日時:2010/11/26 15:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!