Qu'est-ce qu'un capteur d'inclinaison ? Comment l'adapter dans votre projet ? Un capteur d’inclinaion permet de mesurer l’inclinaison de votre circuit ou système embarqué. Ce capteur peut être très utile dans un robot ou un avion par exemple. Le capteur d’inclinaison fonctionne sur tous les axes. En effet, il suffit d’incliner le capteur dans l’axe que vous souhaitez et si le capteur sort de l’axe, il vous previendra. Sommaire masquer 1 Qu'est-ce qu'un capteur d'inclinaison ? Comment l'adapter dans votre projet ? 1.1 Comment fonctionne un capteur d'inclinaison ? 1.2 Les broches du capteur ! 1.3 Afficher la valeur sur le moniteur série 1.4 Allumer une Led avec l'inclinaison 1.5 Servomoteur et l'inclinaison Le capteur d’inclinaison peut aussi détecter les vibrations. En effet, celle-ci peuvent faire bouger la bille et donc se faire détecter par le capteur. Comment fonctionne un capteur d'inclinaison ? Le capteur d’inclinaison est une petite boite qui contient une bille. La bille est libre de tout mouvement. Quand la bille est en bas de la boite, le capteur est donc à la verticale et indique 0. Quand la bille se situe de l’autre côté de la boite, cela veut dire que le capteur est penché et donc indique 1. Le capteur d’inclinaison n’est pas très précis, il permet juste de dire si votre circuit est penché. Il ne vous indiquera pas de combien de degré il est penché par exemple.Si vous souhaitez un capteur qui vous donne plus de précision, on vous conseille un gyroscope par exemple. Les broches du capteur ! Signal : permet d’obtenir la mesure du capteurVcc : branche au 3V ou 5V de la carte ArduinoGND : A brancher à la masse de la carte Arduino Afficher la valeur sur le moniteur série On va voir comment afficher les valeurs du capteur d’inclinaison sur le moniteur série. Si la valeur vaut 1, alors c’est que le capteur est incliné, sinon cela vaut 0. int inclinaison_cap = 3;// Broche du capteur void setup(){ pinMode(inclinaison_cap, INPUT); // On initialise le capteur en entré Serial.begin(9600); // On initialise le moniteur série } void loop(){ int valeur_cap = digitalRead(3);// On récupère la valeur du capteur Serial.print("Valeur du capteur d'inclinaison :"); Serial.println(valeur_cap); delay(100); // On attends 100 millisecondes entre deux valeurs } Voici ce que l’on obtient sur le moniteur série : Allumer une Led avec l'inclinaison On va maintenant voir comment allumer une LED en fonction de l’inclinaison du capteur. La LED s’allume si le capteur est incliné, sinon elle est éteinte. const int inclinaison_cap = 2;// le capteur d'inclinaison const int led = 13;// La broche de la led int Etat_bouton = 0;// variable pour lire l'état du capteur void setup() { pinMode(led, OUTPUT);// On initialise la led en sortie pinMode(inclinaison_cap, INPUT); // On initialise le capteur comme une entrée } void loop() { Etat_bouton = digitalRead(inclinaison_cap);// On lit la valeur du capteur if (Etat_bouton == HIGH) { // si la surface est incliné digitalWrite(led, HIGH); // On allume la led } else { digitalWrite(led, LOW); // on éteint la led } } Servomoteur et l'inclinaison On va maintenant voir comment adapter la position du servomoteur en fonction du capteur d’inclinaison.La position du servomoteur si le capteur d’inclinaison est pas incliné est de 0°, sinon celui-ci est positionné à 180°. #include <Servo.h> // Librairie du servomoteur int inclinaison_cap = 2; // Broche du capteur Servo Servomoteur; // Le servomoteur void setup(){ pinMode(inclinaison_cap, INPUT); // On initialise le capteur en entrée Servomoteur.attach(13); // On initalise le servomoteur sur la borne 13. } void loop() { int lecture_valeur = digitalRead(inclinaison_cap);// On lit la valeur du capteur if(lecture_valeur) { //Si le capteur est pas incliné Servomoteur.write(0); // On positionne le servomoteur a 0° }else{ // si il est incliné Servomoteur.write(180);//On positionne le servomoteur a 180° } }