私が読んでいる赤外線シャープ距離センサ:読み取りと安定赤外線距離センサ出力値
http://www.robofun.ro/senzori/infrarosu/senzor_sharp_%20GP2D120XJ00F
私は壁、かなりシンプルなマップに沿ってロボットを指示し、書くためにサーボを指揮していますコード。
私が抱えている問題は、センサの読みがオフで、リニアにはならないということです。他の人がこれらのセンサをうまく使用していることを知っています。
私の質問は、どのようにサーボに送信された振動を排除することができますか?私はロボットが壁から一定の距離にまだ立っている状態で1〜3度の振動を得ています。あなたは私のコードを持っている以下
:
#include <Servo.h>
Servo myservo;
int val;
int val1;
int IRpin = A7;
// analog pin for reading the IR sensor
void setup() {
myservo.attach(3);
Serial.begin(9600); // start the serial port
}
void loop() {
float volts = analogRead(IRpin);
delay(100);
val1 = map(volts, 230,500, 0 ,100);
val = map(val1, 0, 100, 100, 80);
myservo.write(val);
Serial.println(val);
}
それ以外のバリエーションがはるかに悪いだろう、ので、二重のマッピングが必要であることに注意してください。
これに答えると私を助けるために時間がかかります誰のおかげで...
LE:私はすでにヒステリシス考えられてきましたが、私は不必要な測定値と計算との時間を失うことはありません何かをしたいです。
私はArduino Playgroundでこれを見つけました。それは私にこれまでに得た最高の結果をもたらしました。より多くのArduinoユーザーはこれについて知っておくべきです。 http://arduino.cc/playground/Main/Smooth – Eugen
シャープな赤外線センサーが線形応答を持たないと指摘しておきましょう。 –