スイッチの位置に基づいてマップされた値を調整する必要があるプロジェクトに取り組んでいますが、書き込み時に新しいアナログ データをランプしたいと考えています。
例として、ボタンに異なる電圧を出力させたいとします (シリアル ロボット コントローラー)。私の知る限りでは、次のようになります。
if( adjenpos == 1) {
boostbtnout = map(boostbtnin, 0, 1023, 0, 51);
}
else if( adjenpos == 2) {
boostbtnout = map(boostbtnin, 0, 1023, 0, 102);
}
else if( adjenpos == 3) {
boostbtnout = map(boostbtnin, 0, 1023, 0, 153);
}
else if( adjenpos == 4) {
boostbtnout = map(boostbtnin, 0, 1023, 0, 204);
}
else if( adjenpos == 5) {
boostbtnout = map(boostbtnin, 0, 1023, 0, 255);
}
オプション 3 では、オン/オフの値が 0 または 153 のボタンを使用して、オンまたはオフだけでなく、値を 0 から 153 まで所定のレートで増加させたいと考えています。
私の仮定は、ループ内でこれに似た何かをすることです:
boostramp = 1
boostbtnvalue = analogRead(boostbtnout)
analogWrite(boostbtn, boostbtnvalue);
if ( boostpwr <= boostbtnout){
boostpwr = boostpwr + boostramp;
これが正しくないことはわかっていますが、新しいマップされた値をランプ型の関数に挿入するにはどうすればよいですか?
ありがとう!