新增灰度传感器,更新传感器库

This commit is contained in:
lxbpxylps@126.com 2021-03-05 22:04:23 +08:00
parent 7320b6b163
commit 190f724010
2 changed files with 38 additions and 20 deletions

View File

@ -26,6 +26,9 @@ Sensor::Sensor()
pinMode(GRAY_6_VCC, OUTPUT);
digitalWrite(GRAY_6_VCC, HIGH);
pinMode(GRAY_7_VCC, OUTPUT);
digitalWrite(GRAY_7_VCC, HIGH);
pinMode(BUTTON_1_VCC, OUTPUT);
digitalWrite(BUTTON_1_VCC, HIGH);
@ -44,7 +47,8 @@ void Sensor::FlashGraySensor(uint8_t gray_sensor_num)
case GRAY_3: digitalWrite(GRAY_3_VCC, LOW); break;
case GRAY_4: digitalWrite(GRAY_4_VCC, LOW); break;
case GRAY_5: digitalWrite(GRAY_5_VCC, LOW); break;
case GRAY_6: digitalWrite(GRAY_6_VCC, LOW);
case GRAY_6: digitalWrite(GRAY_6_VCC, LOW); break;
case GRAY_7: digitalWrite(GRAY_7_VCC, LOW);
}
#ifdef SENSOR_DEBUG
@ -56,7 +60,8 @@ void Sensor::FlashGraySensor(uint8_t gray_sensor_num)
case GRAY_3: Serial.println("#SENSOR: FLASH GRAY_3 NOW!"); break;
case GRAY_4: Serial.println("#SENSOR: FLASH GRAY_4 NOW!"); break;
case GRAY_5: Serial.println("#SENSOR: FLASH GRAY_5 NOW!"); break;
case GRAY_6: Serial.println("#SENSOR: FLASH GRAY_6 NOW!");
case GRAY_6: Serial.println("#SENSOR: FLASH GRAY_6 NOW!"); break;
case GRAY_7: Serial.println("#SENSOR: FLASH GRAY_7 NOW!");
}
#endif
@ -66,20 +71,21 @@ void Sensor::FlashGraySensor(uint8_t gray_sensor_num)
}
//灰度传感器判断下方是否为白色
bool Sensor::IsWhite(uint8_t gray_sensor_num)
{
uint8_t gray_out_pin;
int gray_val;
int gray_gate;
switch (gray_sensor_num)
{
case GRAY_1: gray_out_pin = GRAY_1_OUT; break;
case GRAY_2: gray_out_pin = GRAY_2_OUT; break;
case GRAY_3: gray_out_pin = GRAY_3_OUT; break;
case GRAY_4: gray_out_pin = GRAY_4_OUT; break;
case GRAY_5: gray_out_pin = GRAY_5_OUT; break;
case GRAY_6: gray_out_pin = GRAY_6_OUT;
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_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_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_7: gray_out_pin = GRAY_7_OUT; gray_gate = GRAY_7_GATE;
}
gray_val = analogRead(gray_out_pin);
@ -88,18 +94,21 @@ bool Sensor::IsWhite(uint8_t gray_sensor_num)
//调试输出灰度值
switch (gray_sensor_num)
{
case GRAY_1: Serial.print("#SENSOR: GRAY_1: "); break;
case GRAY_2: Serial.print("#SENSOR: GRAY_2: "); break;
case GRAY_3: Serial.print("#SENSOR: GRAY_3: "); break;
case GRAY_4: Serial.print("#SENSOR: GRAY_4: "); break;
case GRAY_5: Serial.print("#SENSOR: GRAY_5: "); break;
case GRAY_6: Serial.print("#SENSOR: GRAY_6: ");
case GRAY_1: Serial.print("#SENSOR: GRAY_1 and gate_val: "); break;
case GRAY_2: Serial.print("#SENSOR: GRAY_2 and gate_val: "); break;
case GRAY_3: Serial.print("#SENSOR: GRAY_3 and gate_val: "); break;
case GRAY_4: Serial.print("#SENSOR: GRAY_4 and gate_val: "); break;
case GRAY_5: Serial.print("#SENSOR: GRAY_5 and gate_val: "); break;
case GRAY_6: Serial.print("#SENSOR: GRAY_6 and gate_val: "); break;
case GRAY_7: Serial.print("#SENSOR: GRAY_7 and gate_val: ");
}
Serial.println(gray_val);
Serial.print(gray_val);
Serial.print(" ");
Serial.println(gray_gate);
#endif
if (gray_val > GRAY_GATE_VAL)
if (gray_val > gray_gate)
return true;
else return false;
}

View File

@ -13,6 +13,7 @@
#define GRAY_4_OUT A3
#define GRAY_5_OUT A4
#define GRAY_6_OUT A5
#define GRAY_7_OUT A6
//灰度传感器 VCC 接口定义
#define GRAY_1_VCC 48
@ -21,9 +22,16 @@
#define GRAY_4_VCC 51
#define GRAY_5_VCC 52
#define GRAY_6_VCC 53
#define GRAY_7_VCC 47
//灰度传感器临界值
#define GRAY_GATE_VAL 700
#define GRAY_1_GATE 740
#define GRAY_2_GATE 740
#define GRAY_3_GATE 740
#define GRAY_4_GATE 740
#define GRAY_5_GATE 740
#define GRAY_6_GATE 740
#define GRAY_7_GATE 790
//灰度传感器闪烁时间
#define GRAY_FLASH_TIME 200
@ -35,14 +43,15 @@
#define GRAY_4 3
#define GRAY_5 4
#define GRAY_6 5
#define GRAY_7 6
//碰撞传感器 OUT 接口定义
#define BUTTON_1_OUT 2
#define BUTTON_2_OUT 3
//碰撞传感器 VCC 接口定义
#define BUTTON_1_VCC 46
#define BUTTON_2_VCC 47
#define BUTTON_1_VCC 45
#define BUTTON_2_VCC 46
//碰撞传感器标识定义
#define BUTTON_1 0