Catégories
Liens
Ceci est une ancienne révision du document !
Synthé qui marche avec la lumiere : Plusieurs pistes sont possible, notamment en changeant les frequences des pwm avec library tone…
Guide pas à pas et conseil pour la réalisation du projet.
#include <Tone.h> Tone freq1; Tone freq2; void setup() { freq1.begin(9); freq2.begin(10); } void loop() { freq1.play(10, 300); freq2.play(100, 30); }
Patch puredata :
String inputString = ""; // chaine de caractères pour contenir les données
boolean stringComplete = false; // pour savoir si la chaine est complète
String fct ="";
String arg="";
int index;
#include <Tone.h>
Tone freq1;
Tone freq2;
void setup() {
Serial.begin(9600); // port série
freq1.begin(9);
freq2.begin(10);
}
void loop() {
if (stringComplete) {
//Serial.println(inputString);
index = inputString.indexOf(' '); // on récupère la position du séparateur (l'espace " ")
fct = inputString.substring(0,index); // on coupe la chaine en deux : la fonction et l'argument
arg = inputString.substring(index,inputString.length());
if (fct == "LED10") {
freq2.play(arg.toInt(),300);
}
else if (fct == "LED9") {
freq1.play(arg.toInt(),300);
}
inputString = ""; // vide la chaine
stringComplete = false;
}
}
/*
SerialEvent est déclenché quand de nouvelles données sont reçues.
Cett routine tourne entre chaque loop(), donc utiliser un delay la fait aussi attendre
*/
void serialEvent() {
while (Serial.available()) {
char inChar = (char)Serial.read(); // Récupérer le prochain octet (byte ou char)
inputString += inChar; // concaténation des octets
if (inChar == '\n') { // caractère de fin pour notre chaine
stringComplete = true;
}
}
}
Liste de matériel et outils nécessaires.
Code pour afficher les images du projet :
{{gallery>?&crop&lightbox}}