forked from StopPointTeam/TaiChi
重构灰度传感器相关代码,现在传感器临界值可以在运行中设置
This commit is contained in:
parent
2994c59329
commit
d88f02273e
@ -6,8 +6,8 @@
|
|||||||
|
|
||||||
Sensor::Sensor()
|
Sensor::Sensor()
|
||||||
{
|
{
|
||||||
pinMode(BUTTON_1_OUT, INPUT);
|
pinMode(BUTTON_1_OUT, INPUT_PULLUP);
|
||||||
pinMode(BUTTON_2_OUT, INPUT);
|
pinMode(BUTTON_2_OUT, INPUT_PULLUP);
|
||||||
|
|
||||||
pinMode(GRAY_1_VCC, OUTPUT);
|
pinMode(GRAY_1_VCC, OUTPUT);
|
||||||
digitalWrite(GRAY_1_VCC, HIGH);
|
digitalWrite(GRAY_1_VCC, HIGH);
|
||||||
@ -35,6 +35,31 @@ Sensor::Sensor()
|
|||||||
|
|
||||||
pinMode(BUTTON_2_VCC, OUTPUT);
|
pinMode(BUTTON_2_VCC, OUTPUT);
|
||||||
digitalWrite(BUTTON_2_VCC, HIGH);
|
digitalWrite(BUTTON_2_VCC, HIGH);
|
||||||
|
|
||||||
|
//设置灰度值为默认值
|
||||||
|
SetGrayGate(GRAY_1, DEFAULT_GRAY_1_GATE);
|
||||||
|
SetGrayGate(GRAY_2, DEFAULT_GRAY_2_GATE);
|
||||||
|
SetGrayGate(GRAY_3, DEFAULT_GRAY_3_GATE);
|
||||||
|
SetGrayGate(GRAY_4, DEFAULT_GRAY_4_GATE);
|
||||||
|
SetGrayGate(GRAY_5, DEFAULT_GRAY_5_GATE);
|
||||||
|
SetGrayGate(GRAY_6, DEFAULT_GRAY_6_GATE);
|
||||||
|
SetGrayGate(GRAY_7, DEFAULT_GRAY_7_GATE);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//设置灰度传感器临界值
|
||||||
|
void Sensor::SetGrayGate(uint8_t gray_sensor_num, int gate)
|
||||||
|
{
|
||||||
|
switch (gray_sensor_num)
|
||||||
|
{
|
||||||
|
case GRAY_1: gray_1_gate = gate; break;
|
||||||
|
case GRAY_2: gray_2_gate = gate; break;
|
||||||
|
case GRAY_3: gray_3_gate = gate; break;
|
||||||
|
case GRAY_4: gray_4_gate = gate; break;
|
||||||
|
case GRAY_5: gray_5_gate = gate; break;
|
||||||
|
case GRAY_6: gray_6_gate = gate; break;
|
||||||
|
case GRAY_7: gray_7_gate = gate;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -80,13 +105,13 @@ bool Sensor::IsWhite(uint8_t gray_sensor_num)
|
|||||||
|
|
||||||
switch (gray_sensor_num)
|
switch (gray_sensor_num)
|
||||||
{
|
{
|
||||||
case GRAY_1: gray_out_pin = GRAY_1_OUT; gray_gate = GRAY_1_GATE; break;
|
case GRAY_1: gray_out_pin = GRAY_1_OUT; gray_gate = gray_1_gate; break;
|
||||||
case GRAY_2: gray_out_pin = GRAY_2_OUT; gray_gate = GRAY_2_GATE; break;
|
case GRAY_2: gray_out_pin = GRAY_2_OUT; gray_gate = gray_2_gate; break;
|
||||||
case GRAY_3: gray_out_pin = GRAY_3_OUT; gray_gate = GRAY_3_GATE; break;
|
case GRAY_3: gray_out_pin = GRAY_3_OUT; gray_gate = gray_3_gate; break;
|
||||||
case GRAY_4: gray_out_pin = GRAY_4_OUT; gray_gate = GRAY_4_GATE; break;
|
case GRAY_4: gray_out_pin = GRAY_4_OUT; gray_gate = gray_4_gate; break;
|
||||||
case GRAY_5: gray_out_pin = GRAY_5_OUT; gray_gate = GRAY_5_GATE; break;
|
case GRAY_5: gray_out_pin = GRAY_5_OUT; gray_gate = gray_5_gate; break;
|
||||||
case GRAY_6: gray_out_pin = GRAY_6_OUT; gray_gate = GRAY_6_GATE; break;
|
case GRAY_6: gray_out_pin = GRAY_6_OUT; gray_gate = gray_6_gate; break;
|
||||||
case GRAY_7: gray_out_pin = GRAY_7_OUT; gray_gate = GRAY_7_GATE;
|
case GRAY_7: gray_out_pin = GRAY_7_OUT; gray_gate = gray_7_gate;
|
||||||
}
|
}
|
||||||
|
|
||||||
gray_val = analogRead(gray_out_pin);
|
gray_val = analogRead(gray_out_pin);
|
||||||
@ -125,13 +150,13 @@ float Sensor::GrayDeviationRate(uint8_t gray_sensor_num)
|
|||||||
|
|
||||||
switch (gray_sensor_num)
|
switch (gray_sensor_num)
|
||||||
{
|
{
|
||||||
case GRAY_1: gray_out_pin = GRAY_1_OUT; gray_gate = GRAY_1_GATE; break;
|
case GRAY_1: gray_out_pin = GRAY_1_OUT; gray_gate = gray_1_gate; break;
|
||||||
case GRAY_2: gray_out_pin = GRAY_2_OUT; gray_gate = GRAY_2_GATE; break;
|
case GRAY_2: gray_out_pin = GRAY_2_OUT; gray_gate = gray_2_gate; break;
|
||||||
case GRAY_3: gray_out_pin = GRAY_3_OUT; gray_gate = GRAY_3_GATE; break;
|
case GRAY_3: gray_out_pin = GRAY_3_OUT; gray_gate = gray_3_gate; break;
|
||||||
case GRAY_4: gray_out_pin = GRAY_4_OUT; gray_gate = GRAY_4_GATE; break;
|
case GRAY_4: gray_out_pin = GRAY_4_OUT; gray_gate = gray_4_gate; break;
|
||||||
case GRAY_5: gray_out_pin = GRAY_5_OUT; gray_gate = GRAY_5_GATE; break;
|
case GRAY_5: gray_out_pin = GRAY_5_OUT; gray_gate = gray_5_gate; break;
|
||||||
case GRAY_6: gray_out_pin = GRAY_6_OUT; gray_gate = GRAY_6_GATE; break;
|
case GRAY_6: gray_out_pin = GRAY_6_OUT; gray_gate = gray_6_gate; break;
|
||||||
case GRAY_7: gray_out_pin = GRAY_7_OUT; gray_gate = GRAY_7_GATE;
|
case GRAY_7: gray_out_pin = GRAY_7_OUT; gray_gate = gray_7_gate;
|
||||||
}
|
}
|
||||||
|
|
||||||
gray_val = analogRead(gray_out_pin);
|
gray_val = analogRead(gray_out_pin);
|
||||||
@ -154,7 +179,6 @@ float Sensor::GrayDeviationRate(uint8_t gray_sensor_num)
|
|||||||
Serial.print(gray_gate);
|
Serial.print(gray_gate);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//deviarion_rate = (float)(gray_gate - gray_val) / gray_gate;
|
|
||||||
deviarion_rate = (float)gray_val / gray_gate;
|
deviarion_rate = (float)gray_val / gray_gate;
|
||||||
|
|
||||||
#ifdef SENSOR_DEBUG
|
#ifdef SENSOR_DEBUG
|
||||||
|
|||||||
@ -25,13 +25,13 @@
|
|||||||
#define GRAY_7_VCC 47
|
#define GRAY_7_VCC 47
|
||||||
|
|
||||||
//灰度传感器临界值
|
//灰度传感器临界值
|
||||||
#define GRAY_1_GATE 900
|
#define DEFAULT_GRAY_1_GATE 900
|
||||||
#define GRAY_2_GATE 900
|
#define DEFAULT_GRAY_2_GATE 900
|
||||||
#define GRAY_3_GATE 850
|
#define DEFAULT_GRAY_3_GATE 850
|
||||||
#define GRAY_4_GATE 850
|
#define DEFAULT_GRAY_4_GATE 850
|
||||||
#define GRAY_5_GATE 900
|
#define DEFAULT_GRAY_5_GATE 900
|
||||||
#define GRAY_6_GATE 880
|
#define DEFAULT_GRAY_6_GATE 880
|
||||||
#define GRAY_7_GATE 690
|
#define DEFAULT_GRAY_7_GATE 690
|
||||||
|
|
||||||
//灰度传感器闪烁时间
|
//灰度传感器闪烁时间
|
||||||
#define GRAY_FLASH_TIME 200
|
#define GRAY_FLASH_TIME 200
|
||||||
@ -66,6 +66,9 @@ class Sensor
|
|||||||
public:
|
public:
|
||||||
Sensor();
|
Sensor();
|
||||||
|
|
||||||
|
//设置灰度传感器临界值
|
||||||
|
void SetGrayGate(uint8_t gray_sensor_num, int gate);
|
||||||
|
|
||||||
//使灰度传感器闪烁
|
//使灰度传感器闪烁
|
||||||
void FlashGraySensor(uint8_t gray_sensor_num);
|
void FlashGraySensor(uint8_t gray_sensor_num);
|
||||||
|
|
||||||
@ -83,6 +86,16 @@ public:
|
|||||||
|
|
||||||
//返回朝向角
|
//返回朝向角
|
||||||
float GetAngle(void);
|
float GetAngle(void);
|
||||||
|
|
||||||
|
private:
|
||||||
|
//灰度传感器临界值
|
||||||
|
int gray_1_gate;
|
||||||
|
int gray_2_gate;
|
||||||
|
int gray_3_gate;
|
||||||
|
int gray_4_gate;
|
||||||
|
int gray_5_gate;
|
||||||
|
int gray_6_gate;
|
||||||
|
int gray_7_gate;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user