Ceci est une ancienne révision du document !
Daphné Chamot-Rooke (contact : daphne.chamot-rooke@etu.upmc.fr)
Objectif : créer un clavier virtuel qui fait de la musique sans touches
Matériel :
Code provisoire :
#define trigPin 10
#define echoPin 8
const byte PIN_BUZZER = 13;
long duration, distance;
int frequence = 0;
void setup() {
Serial.begin(9600);
pinMode(LED_BUILTIN, OUTPUT);
pinMode(13, OUTPUT); //on prépare le pin 13 en mode sortie
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(12, OUTPUT);
Serial.println("== Debut du programme ==");
}
void loop() {
// Envoie de l'onde
digitalWrite(trigPin, LOW);
delayMicroseconds(200);
digitalWrite(trigPin, HIGH);
delayMicroseconds(200);
digitalWrite(trigPin, LOW);
// Réception de l'écho
duration = pulseIn(echoPin, HIGH);
// Calcul de la distance
distance = (duration / 2) / 29.1;
if (distance >= 80 || distance <= 0) {
digitalWrite(9, LOW); // turn the LED off by making the voltage LOW
Serial.println("Hors plage");
}
else
{
digitalWrite(9, HIGH); // turn the LED on (HIGH is the voltage level)
Serial.print("distance = ");
Serial.print(distance);
Serial.println(" cm");
tone (13, 200 + (2^12)*distance); //on joue la note
delay(400);
noTone(13);//on arrete la note
}
delay(100);
// délai entre deux mesures
}