int PWMGaMin=44; int PWMGaMax=216; int PWMGaEcart; int PWMDrMin=44; int PWMDrMax=216; int PWMDrEcart; int PWMAvMin=45; int PWMAvMax=210;//193 int PWMAvEcart; int PWMArMin=50;//60 int PWMArMax=212; int PWMArEcart; int PotEcartMilieu = 3; //entre 47% et 53% on con sidère être à 50 % int PotEcartMilieuMin = 50 - PotEcartMilieu; int PotEcartMilieuMax = 50 + PotEcartMilieu; int PotAvMax = 800;//800 int PotAvMin = 510; int PotAvEcart = PotAvMax - PotAvMin; int PotAvMaxLogiciel = 770; int PotDGMax = 730; int PotDGMin = 460; int PotDGEcart = PotDGMax - PotDGMin; int PotDGMaxLogiciel = 720; void setup() { // put your setup code here, to run once: Serial.begin(9600); //Initialisation de la communication avec la console pinMode(7, OUTPUT); pinMode(6, OUTPUT); pinMode(5, OUTPUT); pinMode(4, OUTPUT); PWMGaEcart = PWMGaMax - PWMGaMin; PWMDrEcart = PWMDrMax - PWMDrMin; PWMAvEcart = PWMAvMax - PWMAvMin; PWMArEcart = PWMArMax - PWMArMin; TCCR0B = TCCR0B & 0b11111000 | 0b001; } void loop() { // put your main code here, to run repeatedly: int valueAV = analogRead(A0); if (valueAV > PotAvMaxLogiciel) { valueAV = PotAvMaxLogiciel; } if (valueAV < PotAvMin) { valueAV = PotAvMin; } int valueDG = analogRead(A1); if (valueDG > PotDGMaxLogiciel) { valueDG = PotDGMaxLogiciel; } if (valueDG < PotDGMin) { valueDG = PotDGMin; } int valueAVProp = (valueAV-PotAvMin)*100/PotAvEcart; int valueDGProp = (valueDG-PotDGMin)*100/PotDGEcart; if (valueAVProp >= PotEcartMilieuMin && valueAVProp <= PotEcartMilieuMax) { valueAVProp = 50; } if (valueDGProp >= PotEcartMilieuMin && valueDGProp <= PotEcartMilieuMax) { valueDGProp = 50; } int PWMAvant = (valueAVProp * PWMAvEcart / 100) + PWMAvMin; int PWMAvantCompl = ((100-valueAVProp) * PWMArEcart / 100) + PWMArMin; int PWMDG = (valueDGProp * PWMDrEcart / 100) + PWMDrMin; int PWMDGCompl = ((100-valueDGProp) * PWMGaEcart / 100) + PWMGaMin; /* PWMAvant = 130; //153 PWMAvantCompl = 130; PWMDG = 130; PWMDGCompl = 130;*/ analogWrite(5, PWMAvant); analogWrite(4, PWMAvantCompl); analogWrite(6, PWMDG); analogWrite(7, PWMDGCompl); Serial.print("Valeur lue : "); Serial.print(valueAV); Serial.print(" : "); Serial.print(valueAVProp); Serial.print("% - PWM : "); Serial.print(PWMAvant); Serial.print("/255 - "); Serial.print(PWMAvantCompl); Serial.print("/255 - "); Serial.print(valueDG); Serial.print(" : "); Serial.print(valueDGProp); Serial.print("% - PWM : "); Serial.print(PWMDG); Serial.print("/255 - "); Serial.print(PWMDGCompl); Serial.println("/255 - "); }