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