- ベストアンサー
H8マイコン(3052)でCdS
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
入力電圧の確認は,アナログ入力ポートとGNDの間をテスタで測ってみるのが確実です。 入力電圧が正しいとすると,考えられそうな原因は, 1.A/D変換が行われていない or とってきた値が不正 2.途中の計算が間違っている 3.表示が正しくない ぐらいでしょうか。 > LCDに電圧を表示 『4.995V』から変化なし なんとなく,電源投入時に1度だけA/D変換→表示が走っているような気もします。 ちゃんと周期的に処理されてますか? 途中でメインループから抜けて,プログラムが終了したりしてませんか?
その他の回答 (1)
「CdSをH8マイコンで使用した参考プログラム」は,なかなか見つからないと思います。 H8 で AD 変換器を使うサンプルなら色々見つかります。 問題を分割しましょう。 AD変換器の入力電圧は期待通り,明るさによって変化しているか? ここがダメなら,プログラムではどうにもなりません。 また,決め打ちの数値なら LCD に表示できているのか?
補足
早速のご返答ありがとうございます。 >>AD変換器の入力電圧は期待通り,明るさによって変化しているか? >>また,決め打ちの数値なら LCD に表示できているのか? CdSが取り付けてあるマイコンの電源を入れ、希望通りには 動いていないプログラム(LCDに電圧を表示 『4.995V』から変化なし) を走らせてながら確認用のLEDをCdSの足とマイコンのGND に取り付けてCdSの上に手をかざすとLEDの光が弱くなります。 配線に関してもテスター等で確認し問題なしです。 ・・・・正直、これで返答になっているのか、または 検討違いの事を言っているかもわかりません・・・・ いちからA/D変換について勉強しなおそうかと思います・・・。
関連するQ&A
- H8/3048マイコンAD/DA変換について
初めて投稿させていただきます。 AKI-H8/3048キットでAD/DA変換をC言語で行いたいの ですがうまくいきません。 C言語ではどうやって記述すればいいのでしょうか? ご助言お待ちしています。 参考までに作成したAD/DA変換ソースコードを記します。 ちなみに入力端子AN0は可変抵抗器、出力端子DA1はLCDに 接続しています。 (可変抵抗器からの電圧増減に従ってLCDの表示を変化 させたい) #include <3048f.h> #include <stdio.h> main(){ int a; while(1){ AD.CSR.BYTE = 0x28; while(AD.CSR.BIT.ADF == 0){} a = AD.DRA; AD.CSR.BIT.ADF = 0; DA.DR1 = (unsigned char)((a >> 8)&0x00ff); } }
- ベストアンサー
- C・C++・C#
- H8マイコンに関して
H8マイコンは、1つのプログラムで複数の周辺機器を同時に使うことができますか? 例えば、LCDとSCI(シリアル通信)を同時に動かしたい。または、AD変換とLCD・SCIを同時に走らす。 とかです。 変数の設定次第で、どうにかなると噂で聞きました。(例えば、グローバル変数を設定するとか?) ご回答をお願いします。
- ベストアンサー
- その他([技術者向] コンピューター)
- CDSセルについて教えて下さい。
CDSセルは光を受けると抵抗値が下がって暗くなると抵抗値があがりますけど 逆の働きをするような物ってあるんですか? 暗くなると抵抗値ゼロで部屋の明かり程度の照明で抵抗値50%くらいにしたいんですけど どんな部品を使えばいいでしょうか? と言うかそもそも照明のレベルとかってどうやって計ればいいんでしょうか? 一般家庭の照明って平均値みたいな物があるんですか? 「これが一般的なCDSセル」とかってありますか? ちなみに作りたい物は 部屋の照明ONでLEDの明るさMAX、照明OFFでLEDの明るさ50%の物を一つと 全く逆の物を一つ作りたいです。 前者はCDSセルで作れるとして後者は何を使えばいいでしょうか? 電源電圧5VでLED電圧2.5V電流0.02A、抵抗を125Ω 上記に当てはめるとどんなパーツを使えばいいでしょうか?
- ベストアンサー
- その他(趣味・娯楽・エンターテイメント)
- デジタル回路 PICでAD変換、CdSセルを分圧する理由
PICにCdSセルを使って明暗によるAD変換を やろうと思っているのですが 最初のイメージとしてはPICのポートに 直接CdSセルを接続するんだと思ってたんですが ネットで検索したらCdSセルを直接つなぐのではなく 下図のように接続されていました。 PICのポート-----------------┐ VCC(A)------抵抗(R1)-----(B)┴---CdSセル(R2)------(C)GND で、調べたら「分圧」ということを行っておりCdSセルの 抵抗値を変化させることでA-B間の電圧を変化させ それをPICで読み取っているのだとわかりました。 ただ、どうしてこんなことをしているのかがわかりません。 CdSセルの抵抗値が変化すればPICのポートに入力される電圧も変化しますよね? なぜ直接CdSセルを接続せずわざわざ分圧するんですか?
- ベストアンサー
- その他(趣味・娯楽・エンターテイメント)
- H8マイコンのプログラミングについて
C言語でプログラムを組もうと思います。 今手元にはH8/3052Fがあります。 ネットなどには、H8/3048Fのプログラムがたくさんあるので参考にしてプログラムを組もうと思うのですが、どのようなことに気をつけたらいいのでしょうか? 例えば #include<3048f.h> と書かれていたら #include<3052f.h> に直せばいいのでしょうか?
- ベストアンサー
- C・C++・C#
- H8マイコンについて教えてください。
僕はPICをやっていますが最近H8マイコンの高機能さに魅力を感じ はじめてみたいと思うようになりました。 そこで以下のことについて教えてほしいです。 質問1 PICは石単体で買ってきてそれにプログラムを書き込み 水晶やらその他の部品を取り付けて作っていくのでH8も 石単体で買ってくるものだと思ってました。 でも調べてみると秋月のマイコンボードみたいに 基盤に水晶やら抵抗やら色々半田付けされてて それにプログラムを書き込んで作るようなのが沢山ありました。 H8は石単体で買ってくる物ではないんですか? (もしくは足のピッチを2.54に変換したもの) 画像検索で調べるとDIPタイプのH8もあるようですが・・・ 質問2 H8へのプログラムの書き込みですがPICでは "PIC ライター"とかで検索するとライターの作り方とか 自作ライターのページが沢山出てきますがH8に関しては ぜんぜんヒットしません。 僕のイメージとしてはゼロプレッシャーのついたライターを作って それにH8をセットしプログラムを書き込むものだとばかり 思ってたんですがH8はどうやってプログラムを書き込むんですか? 質問3 部品の配置やブレップボードで自由度が高いので できれば表面実装ではなくDIPやPLCCみたいな石で ライターに刺して作れるといいんですが・・・ 表面実装以外はあまり一般的ではないんでしょうか? 質問4 使用する言語についてですがPICではアセンブラでは アセンブラを使っています。 でもH8はC言語も結構やってる人が多いみたいでC言語自体も 興味があるのでそっちでやろうかと思っています。 でも部分的にアセンブラ(インラインアセンブラ?) が必要なってくる部分があると思うんですが やっぱり全部アセンブラのほうがやりやすいんでしょうか? 以上、よろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- 大きな電気信号をマイコンに取り込むには?
ある電気信号をマイコンに取り込んで、LCDに表示したいと思います。その信号の電圧を計測したら、20Vありました。マイコンが取り込める電圧は5V程度だと思います。取り込むには、信号を5Vに落とす必要があります。 どういうやり方があるのでしょうか? 何がしたいのかというと、ソーラーパネルの出力電圧(MAX:22V)をスキャンして、LCDに表示させたい。ということです。
- ベストアンサー
- 科学
- sourceforge.jpでH8マイコンでLCDを表示やっているようなプロジェクトはない?
今、H8マイコンのためのプログラミングを勉強したいと思っているのですが、sourceforge.jpなどで、H8マイコンへのプログラムなどを扱っているプロジェクトなどはありませんでしょうか。 また、LCDをコントロールするためのプログラムなども勉強してみたいのですが、そのようなプロジェクトご存じではないでしょうか?
- ベストアンサー
- その他(プログラミング・開発)
- H8/3052マイコンについて
H8/3052マイコンを使って時間差を読み取ることはできないでしょうか? たとえば、どこかのポートに時間t=0secのとき外部から入力をして、t=1msecでまた外部から入力をしΔt=1msecを使用してマイコンに掛け算なり割り算なり計算をさせるようなことは可能でしょうか? マイコンにはC言語を使用しています。サンプルプログラムなども載せてもらうとありがたいです! よろしくお願いします!
- 締切済み
- C・C++・C#
お礼
ご返答が遅くなり申し訳ございません。 一度H8のマニュアルのA/D変換機の欄を読み直し 確認したところご指摘通り、メインループに次のA/D変換 を行う際に必要な処理が施されていませんでした。 かなり初歩的なミスでした・・・・ ご返答本当にありがとうございました。