Paso 4:
{} void playTone()
largo elapsed_time = 0;
Si (tone_ > 0) {si (tone_ == 3400 || tone_ == 3038) {}
digitalWrite (2, alto);
digitalWrite (3, bajo);
digitalWrite (4, bajo);
}
else if (tone_ == 2028 || tone_ == 2272) {}
digitalWrite (2, bajo);
digitalWrite (3, alto);
digitalWrite (4, bajo); }
else if (tone_ == 2864 || tone_ == 2550) {digitalWrite (2, bajo);
digitalWrite (3, bajo);
digitalWrite (4, alto); } / / Si esto no es un ritmo de descanso, mientras que el tono tiene
jugado menos tiempo de 'duración', altavoz de pulso alto y bajo
mientras que (elapsed_time < duración) {}
digitalWrite(speakerOut,HIGH);
delayMicroseconds(tone_ / 2);
ABAJO
digitalWrite (speakerOut, bajo);
delayMicroseconds(tone_ / 2);
Hacer un seguimiento de cuánto tiempo hemos pulsado
elapsed_time += (tone_);
}
}
Else {/ / resto vencer; tiempos de loop retrasan
para (int j = 0; j < rest_count; j ++) {/ / ver nota en rest_count
delayMicroseconds(duration);
}
}
}
Aquí podemos ver el uso de los LED como iluminación de decoración para el proyecto, cada vez que se toca una nota, uno de ellos va a ser iluminado, ya que la melodía es corta es aceptable utilizar sólo 3 LED. no olvide añadir:
void setup() {}
pinMode (speakerOut, salida);
pinMode (2, salida);
pinMode (3, salida);
pinMode (4, salida);
}
en orden para el código identificar lo que serían las fuentes de salida para este proyecto.
Finalmente vamos a envolver para arriba con:
void loop() {}
Configurar un contador para tirar de [melodía] y [golpes]
leer el valor de la ldr:
sensorValue = analogRead(sensorPin);
if(sensorValue<500) {}
//
//
para (int i = 0; i < número; i ++) {}
tone_ = la melodía [i];
batir = beats [i];
duración = beat * tempo; Configurar la sincronización
playTone();
Una pausa entre las notas...
delayMicroseconds(pause);
}
esta parte se lee los datos de la LDR y determinar si hay suficiente luz en el medio ambiente, si no entonces la melodía empieza y según luz de LED.