Étape 4: Code
const int analogPin0 = A0 ;
const int analogPin1 = A1 ;
const int analogPin2 = A2 ;
const int haut-parleur = 8 ;
const int seuil = 100 ;
const int Seuil2 = 1 ;
#include « pitches.h »
void setup() {}
pinMode (haut-parleur, sortie) ;
Serial.Begin(9600) ;
}
void loop() {}
int analogValue0 = analogRead(analogPin0) ;
int analogValue1 = analogRead(analogPin1) ;
int analogValue2 = analogRead(analogPin2) ;
Si (analogValue0 < Seuil2) {}
pour (int thisNote = 0; thisNote < 8; thisNote ++) {}
Tone(8,NOTE_C4,8) ;
noTone(8) ;
}
}
else {}
digitalWrite(speaker,LOW) ;
}
Si (analogValue1 < seuil) {}
pour (int thisNote = 0; thisNote < 8; thisNote ++) {}
Tone(8,NOTE_C6,8) ;
noTone(8) ;
}
}
Si (analogValue2 < Seuil2) {}
pour (int thisNote = 0; thisNote < 8; thisNote ++) {}
Tone(8,NOTE_C5,8) ;
noTone(8) ;
}
}
Serial.println(analogValue0) ;
}
Ce code nécessite la pitches.h handel que vous pouvez trouver sur le site Web de l’Arduino.
Il y a deux seuils pour compenser les différences entre les intensités du zéro et pics de diffraction du premier ordre. Le seuil bas est pour les capteurs qui détectent les pics de diffraction premiers ordre ayant une intensité beaucoup plus faible.
Si vous voulez modifier le code afin que le haut-parleur émet la note lorsque vous brillez la lumière laser sur le phototransistor, tout ce que vous avez à faire est simplement changer les inégalités dans le cas des déclarations afin que les valeurs analogiques sont supérieures aux seuils.