消費中の電流と起電力の電圧を表示するために表示部を追加しようとしている
まずはブレッドボードで確認(左が5Ω負荷,右が0.5Ω負荷)
電流と電圧以外にボタンを押して覚えさせ表示されておく初期電圧と充電池用に元切りやブザーを鳴らす終了電圧を設定表示も行いたいと考えている
今回,電圧換算で詳細な電圧を得るため電圧に合わせてレンジ切換えしてみようと考えて,A1~A3を以下のように接続してみた
P1-------------------------+ -> A1
R1=45kΩ | 5.00V
P2----------------+-> | -> A2
R2=15kΩ | 12.50V |
P3-------+-> | | -> A3
R3=15kΩ | 25.00V | |
Grd------+--------+--------+ -> Grd
プログラムは,
//電圧読込:電圧によりレンジ切換え
// A1:電圧(0~5V)
// A2:電圧(0~12.5V)
// A3:電圧(0~25V)
//
static int readVolt() {
int e, val = (-1);
if((e = analogRead(PIN_VOLTM05)) < 1023) {
val = map(e, 0, 1023, 0, 4999);
} else if((e = analogRead(PIN_VOLTM13)) < 1023) {
val = map(e, 0, 1023, 0, 12499);
} else if((e = analogRead(PIN_VOLTM25)) < 1023) {
val = map(e, 0, 1023, 0, 24999);
}
return(val);
}
だが,上記のようなことはできないようで,例えばA1がオーバーフロー状態だとA2,A3に影響する
具体的にはA1がオーバーフロー状態だと全体の抵抗値に影響を与えA2,P3が期待通りの分圧された電圧にならない
アナログポートをOFFできれば可能な感じだが調査はまたにすることにしてA1,A2を外しA3でのみ取得にした(またMax.20Vに変更)