Académique Documents
Professionnel Documents
Culture Documents
Dans ce projet, nous allons utiliser un capteur piézoélectrique afin de faire varier l'intensité
lumineuse d'une LED.Ce projet est simple et permet d'aborder les premiers concept du
système de programmation Arduino.
Première partie
Les capteurs piézoélectriques sont des composants qui créent un courant électrique lorsque
qu'ils sont sollicités par des vibrations ou déformations. Collés sur une surface, ce capteur
peut détecter des vibrations. C'est pourquoi dans cet exemple, la pastille piézoélectrique devra
être nu et non pas encapsulée dans un boîtier plastique. Nous allons donc voir dans cette
première partie, comment connecter un tel capteur à notre carte Arduino et afficher les valeurs
captées.
Schéma de montage
Afin de réaliser ce montage, nous allons connecter la patte négative de notre capteur
piézoélectrique à la masse de notre carte Arduino soit une des pins Gnd. Puis, nous
connecterons l'autre patte sur la pin Analog In 0 de la carte. Branchez ensuite la résistance,
une patte dans une pin Gnd et l'autre dans Analog In 0. et pour finir, scotchez fermement votre
capteur sur votre bouteille plastique.
Programme
Vous pouvez maintenant copier le programme suivant dans la fenêtre du programme Arduino.
void setup()
{
// Établit la connexion sérielle à 9600 bauds
Serial.begin(9600);
}
void loop()
{
// Lit la pin du capteur et l'assigne à la variable valeurPiezo
valeurPiezo = analogRead(capteurPiezo);
// Affiche au moniteur sériel la valeur de valeurPiezo
Serial.println(valeurPiezo);
// Laisse un court délai afin que l'utilisateur puisse lire les valeurs
correctement
delay(100);
}
Une fois le téléversement terminé, vous pouvez faire apparaître la fenêtre du moniteur sériel
en cliquant sur le bouton Serial Monitor. Assurez-vous que la vitesse de transfert des
informations (baudrate) du moniteur sériel est identique à celle spécifiée dans le programme
soit dans notre cas, 9600. Ce paramètre peut être changé en bas à droite de la fenêtre.
Après quelques instants, vous devriez voir défiler des chiffres sur le moniteur sériel. Il s'agit
de la valeur renvoyée par le capteur piézoélectrique. Vous pouvez maintenant prendre la
bouteille dans vos main et la déformer pour faire changer la valeur qui s’affiche dans votre
terminal. La valeur doit changer proportionnellement et simultanément à la déformation de la
bouteille.
Deuxième partie : LED et variation de luminosité
Dans cette partie, nous allons ajouter une LED à notre montage afin d'illustrer les vibrations
enregistrée par le capteur piézoélectrique pour faire varier l'intensité lumineuse d'une LED.
Schéma de montage
Afin de compléter ce montage, il nous suffit de connecter la patte (+) de la LED à la pin 13 et
la patte (-) qui est la plus courte, à la masse de votre Arduino soit une des pins Gnd.
Programme
void setup()
{
// Définit la pin 13 comme une sortie
pinMode(ledPin, OUTPUT);
// Établit la connextion sérielle à 9600 baud
Serial.begin(9600);
}
void loop()
{
// Lit la pin du capteur et l'assigne à la variable valeurPiezo
valeurPiezo = analogRead(capteurPiezo);
// Convertit la valeur du capteur en valeur pour la LED
valeurPiezo = map(valeurPiezo, 0, 1023, 0, 255);
// Affecte la valeur de puissanceLed à la pin 13
analogWrite(ledPin, valeurPiezo);
// Affiche au moniteur sériel la valeur de valeurPiezo
Serial.println(valeurPiezo);
}
map (val origine, val origine min, val origine max, val sortie min, val
sortie max);
Pour convertir une variable dont la plage est de 0 à 1023 en une variable dont la plage est de 0
à 255, cela donne la fonction suivante