Made calibration simple
This commit is contained in:
@@ -15,10 +15,14 @@ Joystick_ Joystick(0x03, JOYSTICK_TYPE_GAMEPAD);
|
||||
#define LEFT_PIN 11
|
||||
#define RIGHT_PIN 10
|
||||
|
||||
#define MULTIPLEXER 0x70
|
||||
|
||||
// negative offset of the tof sensors measure
|
||||
#define OFFSET_TOP 17
|
||||
#define OFFSET_MID 15
|
||||
#define OFFSET_BOTTOM 0
|
||||
#define LASER_FLOOR 5 //increase to increate the minimum distance
|
||||
|
||||
#define MULTIPLEXER 0x70
|
||||
|
||||
#define ABS(val) (val > 0 ? val : -val)
|
||||
|
||||
//on sépare les instances de la librarie car je ne lui fais pas confiance pour opérer plusieurs lasers à la fois
|
||||
@@ -126,14 +130,14 @@ void loop() {
|
||||
|
||||
|
||||
selectI2C(0);
|
||||
bool newState = lasers[0].readRange() < LASER_FLOOR;
|
||||
bool newState = lasers[0].readRange() - OFFSET_BOTTOM < LASER_FLOOR;
|
||||
if(newState != laser1State) {
|
||||
Joystick.setButton(1, newState);
|
||||
laser1State = newState;
|
||||
}
|
||||
|
||||
selectI2C(1);
|
||||
newState = lasers[1].readRange() - 15 < LASER_FLOOR;
|
||||
newState = lasers[1].readRange() - OFFSET_MID < LASER_FLOOR;
|
||||
if(newState != laser2State) {
|
||||
//2 & 4 car 2 est censé être le bouton X mais est cable sur 4
|
||||
Joystick.setButton(2, newState);
|
||||
@@ -142,7 +146,7 @@ void loop() {
|
||||
}
|
||||
|
||||
selectI2C(2);
|
||||
newState = lasers[2].readRange() - 17 < LASER_FLOOR;
|
||||
newState = lasers[2].readRange() - OFFSET_TOP < LASER_FLOOR;
|
||||
if(newState != laser3State) {
|
||||
Joystick.setButton(3, newState);
|
||||
laser3State = newState;
|
||||
@@ -165,11 +169,11 @@ void loop() {
|
||||
selectI2C(1);
|
||||
Serial.println("Laser Mid");
|
||||
Serial.println(lasers[1].readRange());
|
||||
Serial.println(lasers[1].readRange() - 15 < LASER_FLOOR);
|
||||
Serial.println(lasers[1].readRange() < LASER_FLOOR);
|
||||
selectI2C(2);
|
||||
Serial.println("Laser Haut");
|
||||
Serial.println(lasers[2].readRange());
|
||||
Serial.println(lasers[2].readRange() - 17 < LASER_FLOOR);
|
||||
Serial.println(lasers[2].readRange() < LASER_FLOOR);
|
||||
delay(1000);
|
||||
#endif
|
||||
}
|
||||
|
||||
+12
-7
@@ -16,9 +16,14 @@
|
||||
#define LEFT_PIN 11
|
||||
#define RIGHT_PIN 10
|
||||
|
||||
// negative offset of the tof sensors measure
|
||||
#define OFFSET_TOP 17
|
||||
#define OFFSET_MID 15
|
||||
#define OFFSET_BOTTOM 0
|
||||
#define LASER_FLOOR 5 //increase to increate the minimum distance
|
||||
|
||||
#define MULTIPLEXER 0x70
|
||||
|
||||
#define LASER_FLOOR 5 //increase to increate the minimum distance
|
||||
|
||||
#define ABS(val) (val > 0 ? val : -val)
|
||||
|
||||
@@ -128,21 +133,21 @@ void loop() {
|
||||
|
||||
|
||||
selectI2C(0);
|
||||
bool newState = lasers[0].readRange() < LASER_FLOOR;
|
||||
bool newState = lasers[0].readRange() - OFFSET_BOTTOM < LASER_FLOOR;
|
||||
if(newState != laser1State) {
|
||||
XInput.setButton(BUTTON_B, newState);
|
||||
laser1State = newState;
|
||||
}
|
||||
|
||||
selectI2C(1);
|
||||
newState = lasers[1].readRange() - 15 < LASER_FLOOR;
|
||||
newState = lasers[1].readRange() - OFFSET_MID < LASER_FLOOR;
|
||||
if(newState != laser2State) {
|
||||
XInput.setButton(BUTTON_Y, newState);
|
||||
laser2State = newState;
|
||||
}
|
||||
|
||||
selectI2C(2);
|
||||
newState = lasers[2].readRange() - 17 < LASER_FLOOR;
|
||||
newState = lasers[2].readRange() - OFFSET_TOP < LASER_FLOOR;
|
||||
if(newState != laser3State) {
|
||||
XInput.setButton(BUTTON_X, newState);
|
||||
laser3State = newState;
|
||||
@@ -156,7 +161,7 @@ void loop() {
|
||||
Serial.println(button);
|
||||
|
||||
// o- 13 20 30
|
||||
// c- 0 15 16
|
||||
// c- 0 15 17
|
||||
|
||||
selectI2C(0);
|
||||
Serial.println("Laser Bas");
|
||||
@@ -165,11 +170,11 @@ void loop() {
|
||||
selectI2C(1);
|
||||
Serial.println("Laser Mid");
|
||||
Serial.println(lasers[1].readRange());
|
||||
Serial.println(lasers[1].readRange() - 15 < LASER_FLOOR);
|
||||
Serial.println(lasers[1].readRange() < LASER_FLOOR);
|
||||
selectI2C(2);
|
||||
Serial.println("Laser Haut");
|
||||
Serial.println(lasers[2].readRange());
|
||||
Serial.println(lasers[2].readRange() - 17 < LASER_FLOOR);
|
||||
Serial.println(lasers[2].readRange() < LASER_FLOOR);
|
||||
delay(1000);
|
||||
#endif
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user