Montage N°1 : Détection de chocs ou de mouvements.
Dans le chapitre précédent, nous avons appris comment interfacer un capteur. Ici, nous allons donc coupler un capteur piézoélectrique détectant les chocs et vibrations avec un buzzer. Plus le choc infligé à la table sur laquelle est posé le capteur sera fort, ou plus le capteur subira une accélération forte, plus le buzzer sonnera de façon aiguë. La progression par rapport au précédent montage consiste à asservir un indicateur (ici sonore) en fonction de l'information délivrée par un capteur. Les utilisations de ce simple montage sont nombreuses et faciles à trouver, je vous fais confiance pour être inventifs !
[Présentation des composants]
Les composants utilisés sont :
- Arduino Uno (x1)
- Breadboard (x1)
- Capteur de vibrations (x1)
- Buzzer (x1)
- Résistance de 10 MOhms (x1)
- Résistance de 150 Ohms (x1)
Allez, maintenant que nous avons toutes les billes, ne perdons pas de temps, assemblons les !
[Le Montage]
Voici comment relier les composants entre eux. Le logiciel utilisé ici est Fritzing, il permet de donner une vue claire à vos montages, à mi-chemin entre la photo et le schéma électronique, et nous, à Snootlab, on aime ça !
Donc, notre montage se présente ainsi :
Les couleurs ont été choisies de cette manière :
- Les fils rouges représentent le Vcc(+5V)
- Les fils noirs représentent le GND(0V)
[Explications sur le montage]
Wikipedia a écrit:"La piézoélectricité (du grec "piézein" : presser, appuyer) est la propriété que possèdent certains corps de se polariser électriquement sous l’action d’une contrainte mécanique et réciproquement de se déformer lorsqu’on leur applique un champ électrique."
La première propriété est utilisée dans le cas de notre capteur de chocs, la deuxième est utilisée dans les buzzers. Il est nécessaire cependant de bien lire la datasheet du capteur pour choisir la résistance à mettre en parallèle, ici 10 MOhms.
Dès que la lame du capteur subira une déformation liée à une accélération ou à un choc, le capteur générera une tension, proportionnelle aux g reçus (le g étant une unité de mesure d'accélération, 1 g = 9.81m/s²). Cette tension générée, que l'on récupère aux bornes de la résistance, est appliquée aux bornes d'une entrée analogique.
La valeur numérique correspondante sera utilisée par la fonction tone(), pour déterminer la fréquence du signal à émettre.
Vous remarquerez que le capteur n'a pas été interfacé avec un circuit d'adaptation d'impédance, comme décrit dans le premier chapitre. Essayez avec, essayez sans et découvrez par vous-mêmes ce qui change dans ce cas, expérimentez !
[Go for Code]
- Code: Tout sélectionner
/*
Application BASIC pour le STK Snootlab : N°2
Logiciel servant à détecter un choc ou une accélération sur une surface, grâce au capteur piézo à lame,
et émettre un son avec le buzzer, en fonction de l'intensité du choc détecté.
Le convertisseur Analogique/Numérique de l'Arduino à une résolution de 2^10 bits = 1024 valeurs.
*/
#define seuil_declenchement 15
// Déclaration des variables relatives au capteur piézo
unsigned int P_value = 0;
unsigned int periode_us = 0;
unsigned int half_period = 0;
unsigned int ref_temps = 0;
// Déclaration des pins analogiques reliées aux bornes du capteur et du buzzer
char P_pin = 0;
char Buz_pin = 2;
// Configuration
void setup(void)
{
pinMode(Buz_pin, OUTPUT);
Serial.begin(9600); // Mise en place de la communication série, via l'USB, à 9600bps
analogReference(DEFAULT); // Positionner la référence du convertisseur pour : 5v=1023
}
// MAIN
void loop(void)
{
while(P_value <= seuil_declenchement) // Tant que le choc ressenti ne dépasse pas une certaine intensité, ne rien faire
{
P_value = analogRead(P_pin); // Récupérer la valeur convertie de la tension aux bornes du flex
Serial.write(P_value); // Envoyer cette valeur sur la liaison série
}
P_value*=7; // Multiplication de P_value pour que la fréquence sonore
// soit comprise entre 110 Hz et 7 kHz
tone(Buz_pin, P_value); // Génération d'un son à cette fréquence, d'une durée de 500ms
P_value = 0;
delay(500);
noTone(Buz_pin);
}
[Conclusion]
Et voici, c'est terminé pour aujourd'hui !
Désormais, vous êtes capable de réaliser une chaîne comprenant un capteur, et un élément de signalisation dépendant de ce même capteur.
Interfacez ceci avec une table traçante pour ainsi réaliser un mini détecteur sismique, ou au contraire, faites sonner le buzzer s'il n'y a pas de vibrations détectées, au cas où vous soyez endormis devant votre ordinateur !
Imaginez ! Explorez ! Nous vous donnons les briques et les explications, à vous de faire votre maison ! Surtout, faites partager vos expériences à notre communauté, posez des questions, échangez vos travaux, vivez open-hardware !