ROBOSTEP_5期 / Mbed 2 deprecated George_Master_BOTHMOVE

Dependencies:   mbed robot

Committer:
shimizuta
Date:
Fri May 03 02:21:47 2019 +0000
Revision:
21:14133581387b
Child:
22:0ed9de464f40
filter weight change

Who changed what in which revision?

UserRevisionLine numberNew contents of line
shimizuta 21:14133581387b 1 #include "sensors.h"
shimizuta 21:14133581387b 2 //filter [0]:forward, [1]: back
shimizuta 21:14133581387b 3 const float kOldWeight = 0.5;
shimizuta 21:14133581387b 4 const float kOutVal = 500; //<0.1が返ってきたときに返す値
shimizuta 21:14133581387b 5 LowPassFilter lowpassfilter[2] = {LowPassFilter(kOldWeight),LowPassFilter(kOldWeight),};
shimizuta 21:14133581387b 6
shimizuta 21:14133581387b 7 HCSR04 sensor_forward(p11,p12);
shimizuta 21:14133581387b 8 HCSR04 sensor_back(p17, p18);
shimizuta 21:14133581387b 9
shimizuta 21:14133581387b 10 float GetFilteredDist_cm(HCSR04 & sensor, LowPassFilter & filter)
shimizuta 21:14133581387b 11 {
shimizuta 21:14133581387b 12 sensor.start();
shimizuta 21:14133581387b 13 float raw_data = sensor.get_dist_cm();
shimizuta 21:14133581387b 14 if(raw_data < 0.1)//0.1以下なら前回の値を返す
shimizuta 21:14133581387b 15 return kOutVal;
shimizuta 21:14133581387b 16 filter.SetData(raw_data);
shimizuta 21:14133581387b 17 float dist = filter.GetData();
shimizuta 21:14133581387b 18 // DEBUG("raw %.3f, filter %.3f\r\n", raw_data,dist);
shimizuta 21:14133581387b 19 return dist;
shimizuta 21:14133581387b 20 }
shimizuta 21:14133581387b 21
shimizuta 21:14133581387b 22 double get_dist_forward()
shimizuta 21:14133581387b 23 {
shimizuta 21:14133581387b 24 return GetFilteredDist_cm(sensor_forward,lowpassfilter[0]);
shimizuta 21:14133581387b 25 }
shimizuta 21:14133581387b 26 double get_dist_back()
shimizuta 21:14133581387b 27 {
shimizuta 21:14133581387b 28 return GetFilteredDist_cm(sensor_back,lowpassfilter[1]);
shimizuta 21:14133581387b 29 }