capteur sonore et lampe

bonjour, ça fait quelque années que je n'ai plus fais de programmation, ici mon projet serait d'allumer une diode sur des clap et une autre diode sur les kick d'une musique grace a un capteur sonore (VMA309) ici le soucis c'est que j'ai un conflit avec les seuil, il n'y a que la diode avec le seuil de 555 qui fonctionne . j'aimerais pouvoir allumer la premiere diode en aillant un seuil entre 555 et 570 et pour la deuxieme avec un seuil entre 580 et 600, bien sur si cela est possible.

je n'ai qu'un seul capteur sonore je ne sais pas du tout si il est possible de faire ça en ayant qu'un seul capteur :confused:

merci d'avance

voici le codage:

const int ledpin=3;
const int ledpin2=5;
const int soundpin=A0;
const int threshold=555;
const int threshold2=580;
void setup() {
Serial.begin(9600);
pinMode(ledpin,OUTPUT);
pinMode(soundpin,INPUT);
}
void loop() {
int soundsens=analogRead(soundpin);
if (soundsens>=threshold) {
digitalWrite(ledpin,HIGH);
delay(100);
}
else{
digitalWrite(ledpin,LOW);
}
if (soundsens>=threshold2) {
digitalWrite(ledpin2,HIGH);
delay(200);
}
else{
digitalWrite(ledpin2,LOW);
}
}

en faite je pense qu'il n'y avait pas de conflit ^^ j'avais oublié de definir la deuxieme diode en sortie dans le void setup ^^

j'ai aussi trouvé une autre façon de faire avec une entrée digital pour le clap ainsi le clap allume ou éteint la premiere diode et une entrée analogique pour le kick ainsi la dexieme diode ne s'allume qu'à partir d'un certain seuil et reste allimenté pendant un certain temps grace au delay.

je teste les deux programmation et je vous dis quoi

voici le codage avec les entrée analogique et digital:

const int ledpin=3;
const int ledpin2=5;
const int soundkick=A0;
const int soundclap=0;
const int threshold=590;
bool flag;

void setup() {
Serial.begin(9600);
pinMode(ledpin,OUTPUT);
pinMode(ledpin2,OUTPUT);
pinMode(soundkick,INPUT);
pinMode(soundclap,INPUT);
flag=false;
}

void loop() {
int soundsens=analogRead(soundkick);
if (soundsens>=threshold) {
digitalWrite(ledpin2,HIGH);
delay(75);
}
else{
digitalWrite(ledpin2,LOW);
}
if (digitalRead(soundclap)) {
if (flag) {
flag=false;
digitalWrite(ledpin,0);
}
else{
flag=true;
digitalWrite(ledpin,1);
}
delay(50);
}
}