Aide pour resoudre un problème de communication TCP

Bon, ca marche, je récupère bien mon mot envoyé, le déchiffre bien et communique bien avec le logiciel du fabriquant.

J'ai un autre problème maintenant...

Je récupère une série de valeurs variant de 0 à 1023 en provenance d'un MSEGQ7 qui est un analyseur de spectre pour sortie des valeurs correspondante à des bandes de fréquences spécifiques 63 Hz, 160 Hz, 400 Hz, 1 kHz, 2.5 kHz, 6.25 kHz and 16 kHz. je les récupères sous la forme

  SpectrumValue[i] = analogRead(MSEGQ7AnalogPin);

et j'obtiens

Valeurs du Spectre: 224 / 264 / 563 / 655 / 419 / 320 / 221 /

Ensuite je récupère la valeur analogique d'une broche de l’Arduino qui est le signal d'entrée pour ensuite le filtrer via un filtre RC ainsi qu'un bit correspondant au Beat de la musique via le code suivant:

void DetectBeat()
{
  if (InputValue > NewHigh) {
    NewHigh = InputValue * CoefficientCalculBeat;
    Counter = 0;
    Serial.println("Beat ON");
    digitalWrite(LedPin1, HIGH);
    DetectionBeat = 1;
    } 
    else 
    {
    Serial.println("Beat Off");
    digitalWrite(LedPin1, LOW);
    DetectionBeat = 0;
  }

Ensuite, j'ai également une broche d'entrée analogique relié à un potentiomètre afin d'ajuster la sensibilité du système.

Je voudrais trouver une formule afin de détecter la variation (fixée par une valeur) de la Bande 1 du MSGEQ7 Correspondante aux basses afin de les détecter.

Cette valeur correspond a la bande 1 du spectre
Valeurs du Spectre: 224 dans l'exemple

l'idée est d'envoyer soit un BEAT à chaque battement déterminé ou d'envoyer une valeur correspondante aux BPM dans le logiciel du fabriquant...

Le problème est que la bande 1 du spectre varie de 0 à 1024 en fonction de l'intensité musicale envoyée au MSGEQ7. Elle devrait être compensée par la valeur filtrée de la broche d'entrée analogique...

Pouvez vous une fois encore m'aider ???

Un grand merci d'avance