Projet: robot qui s'oriente vers un son

qu'est-ce qui ne marche pas dans le principe de la tension seuil? j'ai fait un code et à vrai dire ça marche pas si mal que ça, le pb est au niveau des micros: je dois me défoncer les mains pour produire un clap assez puissant pour être reçu, est-ce en raison de l'absence d'amplification?
Au niveau des temps obtenus c'est bof pour l'instant mais pas non plus terrible.
regardez:

// Test du micro , retourne l'instant de détection
float d=0.5;
int v=340;
int long dt=0;
const int microg=8; 
const int microd =7;
long tg;
long td;
void setup()
{
Serial.begin(9600);
}
void loop() 
{
  if (digitalRead(microg)== LOW)
  {
    tg=micros();
    Serial.print("tg=");
    Serial.println(tg);
    while (digitalRead(microd)== HIGH)
    {
      dt=micros()-tg;
      }
      
    Serial.print("dt=");
    Serial.println(dt);
    
   
      }
 
   if (digitalRead(microd)== LOW)
  {
    td=micros();
    Serial.print("td=");
    Serial.println(td);
    while (digitalRead(microg)== HIGH)
    {
      dt=td-micros();
      } 
    Serial.print("dt=");
    Serial.println(dt);
    }
   
      }