From 562a43a6dd486ae824097b5173154cce43aae2a8 Mon Sep 17 00:00:00 2001 From: = <=> Date: Wed, 27 Jan 2021 14:34:44 +0100 Subject: [PATCH] =?UTF-8?q?Fonctionnalit=C3=A9=20de=20rep=C3=A9rage=20auto?= =?UTF-8?q?.=20lors=20du=20d=C3=A9marrage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ZenDrive Simulator/ZenDrive Simulator.ino | 228 ++++++++++++---------- 1 file changed, 125 insertions(+), 103 deletions(-) diff --git a/ZenDrive Simulator/ZenDrive Simulator.ino b/ZenDrive Simulator/ZenDrive Simulator.ino index 5490eba..7863646 100644 --- a/ZenDrive Simulator/ZenDrive Simulator.ino +++ b/ZenDrive Simulator/ZenDrive Simulator.ino @@ -25,6 +25,11 @@ const int ROAD_LIGHTS_PIN = 16; const int HEAD_LIGHTS_PIN = 14; const int FOG_LIGHTS_PIN = 15; +// Enabling modules +const bool USE_GEARSHIFT = true; +const bool USE_PEDALS = true; +const bool USE_WHEEL = true; + const int INTERVAL = 15; void setup() { @@ -53,59 +58,63 @@ void setup() { // Send current states /* Gearshift */ - int value = analogRead(SPEEDS_PIN); - if(value < 200) ZenDrive.switchSpeed1(); - else if(value < 326) ZenDrive.switchSpeed2(); - else if(value < 421) ZenDrive.switchSpeed3(); - else if(value < 493) ZenDrive.switchSpeed4(); - else if(value < 551) ZenDrive.switchSpeed5(); - else if(value < 596) ZenDrive.switchSpeed6(); - else if(value < 634) ZenDrive.switchSpeedR(); - else ZenDrive.switchNeutral(); - //Read handbrake - ZenDrive.setHandbrake(map(analogRead(HANDBRAKE_PIN), 0, 1023, 0, 255)); - ZenDrive.sendGearshiftStates(); - + if(USE_GEARSHIFT){ + int value = analogRead(SPEEDS_PIN); + if(value < 200) ZenDrive.switchSpeed1(); + else if(value < 326) ZenDrive.switchSpeed2(); + else if(value < 421) ZenDrive.switchSpeed3(); + else if(value < 493) ZenDrive.switchSpeed4(); + else if(value < 551) ZenDrive.switchSpeed5(); + else if(value < 596) ZenDrive.switchSpeed6(); + else if(value < 634) ZenDrive.switchSpeedR(); + else ZenDrive.switchNeutral(); + //Read handbrake + ZenDrive.setHandbrake(map(analogRead(HANDBRAKE_PIN), 0, 1023, 0, 255)); + ZenDrive.sendGearshiftStates(); + } /* Pedals module */ - // Read clutch - ZenDrive.setClutch(map(analogRead(CLUTCH_PIN), 0, 1023, 0, 255)); - // Read brake - ZenDrive.setBrake(map(analogRead(BRAKE_PIN), 0, 1023, 0, 255)); - // Read accelerator - ZenDrive.setAccelerator(map(analogRead(ACCELERATOR_PIN), 0, 1023, 0, 255)); - ZenDrive.sendPedalsStates(); - + if(USE_PEDALS){ + // Read clutch + ZenDrive.setClutch(map(analogRead(CLUTCH_PIN), 0, 1023, 0, 255)); + // Read brake + ZenDrive.setBrake(map(analogRead(BRAKE_PIN), 0, 1023, 0, 255)); + // Read accelerator + ZenDrive.setAccelerator(map(analogRead(ACCELERATOR_PIN), 0, 1023, 0, 255)); + ZenDrive.sendPedalsStates(); + } /* Steering wheel module */ - // Left blinker - if(digitalRead(LEFT_BLINKER_PIN)){ - ZenDrive.setBlinkerLeft(true); - ZenDrive.setBlinkerRight(false); - } - else if(digitalRead(RIGHT_BLINKER_PIN)){ - ZenDrive.setBlinkerLeft(false); - ZenDrive.setBlinkerRight(true); - } - else{ - ZenDrive.setBlinkerLeft(false); - ZenDrive.setBlinkerRight(false); - } - // Right blinker - ZenDrive.setBlinkerRight(digitalRead(RIGHT_BLINKER_PIN)); - // Warning - ZenDrive.setWarning(digitalRead(WARNING_PIN)); - // Lights - if (!digitalRead(LIGHTS_ON_PIN)) ZenDrive.switchLightsOn(); - else if(!digitalRead(ROAD_LIGHTS_PIN)) ZenDrive.switchRoadLights(); - else ZenDrive.switchLightsOff(); - // Head lights - ZenDrive.setHeadLights(digitalRead(HEAD_LIGHTS_PIN)); - // Fog lights - ZenDrive.setFogLights(digitalRead(FOG_LIGHTS_PIN)); - // Starter - ZenDrive.setStarter(digitalRead(STARTER_PIN)); - // Read direction - ZenDrive.setDirection(map(analogRead(DIRECTION_PIN), 0, 1023, -127, 127)); - ZenDrive.sendWheelStates(); + if(USE_WHEEL){ + // Blinkers + if(digitalRead(LEFT_BLINKER_PIN)){ + ZenDrive.setBlinkerLeft(true); + ZenDrive.setBlinkerRight(false); + } + else if(digitalRead(RIGHT_BLINKER_PIN)){ + ZenDrive.setBlinkerLeft(false); + ZenDrive.setBlinkerRight(true); + } + else{ + ZenDrive.setBlinkerLeft(false); + ZenDrive.setBlinkerRight(false); + } + // Right blinker + ZenDrive.setBlinkerRight(digitalRead(RIGHT_BLINKER_PIN)); + // Warning + ZenDrive.setWarning(digitalRead(WARNING_PIN)); + // Lights + if (!digitalRead(LIGHTS_ON_PIN)) ZenDrive.switchLightsOn(); + else if(!digitalRead(ROAD_LIGHTS_PIN)) ZenDrive.switchRoadLights(); + else ZenDrive.switchLightsOff(); + // Head lights + ZenDrive.setHeadLights(digitalRead(HEAD_LIGHTS_PIN)); + // Fog lights + ZenDrive.setFogLights(digitalRead(FOG_LIGHTS_PIN)); + // Starter + ZenDrive.setStarter(digitalRead(STARTER_PIN)); + // Read direction + ZenDrive.setDirection(map(analogRead(DIRECTION_PIN), 0, 1023, -127, 127)); + ZenDrive.sendWheelStates(); + } } void loop() { @@ -115,59 +124,72 @@ void loop() { ZenDrive.wheelNeedRefresh = false; /* Gearshift module */ - //Read speed states on the analog shared pin - int value = analogRead(SPEEDS_PIN); - if(value < 200) ZenDrive.switchSpeed1(); - else if(value < 326) ZenDrive.switchSpeed2(); - else if(value < 421) ZenDrive.switchSpeed3(); - else if(value < 493) ZenDrive.switchSpeed4(); - else if(value < 551) ZenDrive.switchSpeed5(); - else if(value < 596) ZenDrive.switchSpeed6(); - else if(value < 634) ZenDrive.switchSpeedR(); - else ZenDrive.switchNeutral(); - //Read handbrake - ZenDrive.setHandbrake(map(analogRead(HANDBRAKE_PIN), 0, 1023, 0, 255)); - // Send gearshift states if there are changes - if(ZenDrive.gearshiftNeedRefresh) ZenDrive.sendGearshiftStates(); - + if(USE_GEARSHIFT){ + //Read speed states on the analog shared pin + int value = analogRead(SPEEDS_PIN); + if(value < 200) ZenDrive.switchSpeed1(); + else if(value < 326) ZenDrive.switchSpeed2(); + else if(value < 421) ZenDrive.switchSpeed3(); + else if(value < 493) ZenDrive.switchSpeed4(); + else if(value < 551) ZenDrive.switchSpeed5(); + else if(value < 596) ZenDrive.switchSpeed6(); + else if(value < 634) ZenDrive.switchSpeedR(); + else ZenDrive.switchNeutral(); + //Read handbrake + ZenDrive.setHandbrake(map(analogRead(HANDBRAKE_PIN), 0, 1023, 0, 255)); + // Send gearshift states if there are changes + if(ZenDrive.gearshiftNeedRefresh) ZenDrive.sendGearshiftStates(); + } /* Pedals module */ - // Read clutch - ZenDrive.setClutch(map(analogRead(CLUTCH_PIN), 0, 1023, 0, 255)); - // Read brake - ZenDrive.setBrake(map(analogRead(BRAKE_PIN), 0, 1023, 0, 255)); - // Read accelerator - ZenDrive.setAccelerator(map(analogRead(ACCELERATOR_PIN), 0, 1023, 0, 255)); - // Send pedals states if they are changes - if(ZenDrive.pedalsNeedRefresh) ZenDrive.sendPedalsStates(); - + if(USE_PEDALS){ + // Read clutch + ZenDrive.setClutch(map(analogRead(CLUTCH_PIN), 0, 1023, 0, 255)); + // Read brake + ZenDrive.setBrake(map(analogRead(BRAKE_PIN), 0, 1023, 0, 255)); + // Read accelerator + ZenDrive.setAccelerator(map(analogRead(ACCELERATOR_PIN), 0, 1023, 0, 255)); + // Send pedals states if they are changes + if(ZenDrive.pedalsNeedRefresh) ZenDrive.sendPedalsStates(); + } /* Steering wheel module */ - // Left blinker - ZenDrive.setBlinkerLeft(digitalRead(LEFT_BLINKER_PIN)); - // Right blinker - ZenDrive.setBlinkerRight(digitalRead(RIGHT_BLINKER_PIN)); - // Warning - ZenDrive.setWarning(digitalRead(WARNING_PIN)); - // Lights - if (!digitalRead(LIGHTS_ON_PIN)) ZenDrive.switchLightsOn(); - else if(!digitalRead(ROAD_LIGHTS_PIN)) ZenDrive.switchRoadLights(); - else ZenDrive.switchLightsOff(); - // Head lights - ZenDrive.setHeadLights(digitalRead(HEAD_LIGHTS_PIN)); - // Fog lights - ZenDrive.setFogLights(digitalRead(FOG_LIGHTS_PIN)); - // Starter - ZenDrive.setStarter(digitalRead(STARTER_PIN)); - // Horn - ZenDrive.setHorn(!digitalRead(HORN_PIN)); - // Cruise on - if(!digitalRead(CRUISE_PIN)) ZenDrive.activeCruise(); - // Cruise up - if(!digitalRead(CRUISE_UP_PIN)) ZenDrive.increaseCruise(); - // Cruise down - if(!digitalRead(CRUISE_DOWN_PIN)) ZenDrive.decreaseCruise(); - // Read direction - ZenDrive.setDirection(map(analogRead(DIRECTION_PIN), 0, 1023, -127, 127)); - // Send steering wheel states if they are changes - if(ZenDrive.wheelNeedRefresh) ZenDrive.sendWheelStates(); + if(USE_WHEEL){ + // Blinkers + if(digitalRead(LEFT_BLINKER_PIN)){ + ZenDrive.setBlinkerLeft(true); + ZenDrive.setBlinkerRight(false); + } + else if(digitalRead(RIGHT_BLINKER_PIN)){ + ZenDrive.setBlinkerLeft(false); + ZenDrive.setBlinkerRight(true); + } + else{ + ZenDrive.setBlinkerLeft(false); + ZenDrive.setBlinkerRight(false); + } + // Warning + ZenDrive.setWarning(digitalRead(WARNING_PIN)); + // Lights + if (!digitalRead(LIGHTS_ON_PIN)) ZenDrive.switchLightsOn(); + else if(!digitalRead(ROAD_LIGHTS_PIN)) ZenDrive.switchRoadLights(); + else ZenDrive.switchLightsOff(); + // Head lights + ZenDrive.setHeadLights(digitalRead(HEAD_LIGHTS_PIN)); + // Fog lights + ZenDrive.setFogLights(digitalRead(FOG_LIGHTS_PIN)); + // Starter + ZenDrive.setStarter(digitalRead(STARTER_PIN)); + // Horn + ZenDrive.setHorn(!digitalRead(HORN_PIN)); + // Cruise on + if(!digitalRead(CRUISE_PIN)) ZenDrive.activeCruise(); + // Cruise up + if(!digitalRead(CRUISE_UP_PIN)) ZenDrive.increaseCruise(); + // Cruise down + if(!digitalRead(CRUISE_DOWN_PIN)) ZenDrive.decreaseCruise(); + // Read direction + ZenDrive.setDirection(map(analogRead(DIRECTION_PIN), 0, 1023, -127, 127)); + // Send steering wheel states if they are changes + if(ZenDrive.wheelNeedRefresh) ZenDrive.sendWheelStates(); + } delay(50); }