Utiliser un micro

On peut récupérer un volume sonor assez facilement sur arduino, pour déclencher des événement au son. Ici un code permettant de travailler avec un micro et sa petite électronique embarquée, avec du code arduino pour "booster" électroniquement le signal reçu.

Ce code permet de lire les informations provenant du micro et les booste un peu avant de les offrir au reste du code.

Le micro est dans cet exemple sur la pin analogique 0, et une led se trouve sur la pin digitale 13.

Voici le code :

// code créant la fonction digitalPullup
inline void digitalPullup(byte pin, boolean b) {  pinMode(pin, INPUT);  digitalWrite(pin, b?HIGH:LOW); }
#if defined(__AVR_ATmega1280__)
inline void analogPullup(byte pin, boolean b) { digitalPullup(pin+54,b); }
#else
inline void analogPullup(byte pin, boolean b) { digitalPullup(pin+14,b); }
#endif

void setup() {
Serial.begin(9600);
// on utilise la pin 13 pour contrôle
pinMode(13, OUTPUT);
analogPullup(0, true); // enable the 20kOhm pull-up on analog pin 0
}

void loop() {
// stocker ce qui vient du micro
int analogValue = analogRead(0);

// on peut éventuellement sortir le signal sur le port série pour contrôle
//Serial.println(analogValue);

// wait 10 milliseconds for the analog-to-digital converter
delay(10);
// le signal reçu est généralement au dessus de 500
if(analogValue > 530){
 
 digitalWrite(13,HIGH);
 delay(500);
} else {
 digitalWrite(13,LOW);
}
// on peut mettre ici un delay entre chaque lecture
// surtout utile pour lire les données envoyée par le port série
}

Liens utiles

La page d’origine du code, sur le site de Sarah Soriana :

Le lien vers la fiche du micro sur sparkfun.
(il peut être commandé en Europe à différents endroits)