Sensore ad ultrasuoni + buzz + Led

Secondo voi ha senso lo il mio sketch ? faccio danni se lo carico ? è il mio primo sketch con il mio primo Arduino 2009

int dist; //distanza in cm
int valueSensor = 0;
void setup()
{
  Serial.begin(9600);
  pinMode(3, INPUT); //echo
  pinMode(4, OUTPUT); //trig
  pinMode(2, OUTPUT); //buzz
  pinMode(1, OUTPUT); //RED Led
  pinMode(5, OUTPUT); //GREEN Led
}
void loop()
{
  //Invia ultasuono
  digitalWrite(4, HIGH);
  delayMicroseconds(10);
  digitalWrite(4, LOW);
  //Ricezione dell'echo e conversione in cm
  valueSensor= pulseIn(3, HIGH);
  dist= valueSensor/58;
  //Stampa la  distanza in cm
  Serial.println(dist);
  //Accende il led verde E SPEGNE IL ROSSO
  digitalWrite(5, HIGH);
  digitalWrite(1, LOW);
  if (dist < 10) {
    //Segnale acustico
   buzz(2, 4186, 100); //Frequenza di DO8 4186Hz
    //Accende il led Rosso e SPEGNE IL VERDE
   digitalWrite(1, HIGH);
  digitalWrite(5, LOW);
  }
}
void buzz(int targetPin, long frequency, long length) {
long delayValue = 1000000/frequency/2;
long numCycles = frequency * length/ 1000;
for (long i=0; i < numCycles; i++)
{
digitalWrite(targetPin,HIGH);
delayMicroseconds(500);
digitalWrite(targetPin,LOW);
delayMicroseconds(500);
 }
}

non usare il pin 1, quello serve per la seriale che é attacata tramite USB al PC.

valueSensor= pulseIn(3, HIGH);
puoi mettere un valore massimo di timeaout di attesa a seconda della distanza massima che puoi rilevare. Se non metti nessun timeout
Ti aspetta pulseIn fino a 1 secondo.

void buzz()
non puoi scegliere la frequenza; quella é fissa su ca 1kHz.

Ciao Uwe

Grazie mille per la risposta!