Qu'est ce qu'un capteur de force ? Comment l'utiliser dans votre projet ? Introduction Le capteur de force permet de mesure une contrainte faite par l’utilisateur ou un objet et le transmet à la carte arduino sous forme de tension. Il est composé d’une cellule de force. La cellule de force est une jauge de contrainte permettant de mesurer un effort. Elle contient une resistance qui décroît en fonction de l’effort fourni. De cette façon l’effort peut-être calculé par rapport à la valeur de référence de la résistance. Le capteur de force peut lire une valeur allant de 0 newton à 10 newtons, ce qui corresponds à 1kg. Vous pourrez retrouver des capteurs allant jusqu’à 2-3 kg sur arduino. Sommaire masquer 1 Qu'est ce qu'un capteur de force ? Comment l'utiliser dans votre projet ? 1.1 Introduction 1.1.1 Les broches du capteur de force 1.2 Afficher valeur sur le moniteur série 1.3 Mesurer la force avec des LEDS Selon ce dont vous avez besoin pour votre projet, il existe des capteurs de force de différentes taille et precision. Voici une petite liste de différents capteurs en fonction de leurs caractéristiques: CapteurPoids supportéTaille capteur Hilitand0g -200g5 mm x 3.4 mmRP-C10-ST20g et 2kg1×2.5 cmRP-S40-ST10kg-20kg4×5.5 cmOumefar0 kg – 30 kg6×3 cm Certain capteurs possèdent en plus un module de conversion pour amplifier le signal et le convertir en une valeur numérique. Ces capteurs ce branches sur une borne digital numérique de la carte Arduino. Voici un kit de different capteur de pression fonctionnant avec un module de conversion : Les broches du capteur de force Vcc : Doit être branche au 5v de votre carte ArduinoGND & Signal : On connecte cette broche à une résistance de 9.1 kilo-ohms, à une borne analogique et la masse Afficher valeur sur le moniteur série On va maintenant voir comment afficher les valeurs de force sur le moniteur série en newton-mètre. #define capteur_force A0 // broche capteur de force void setup() { Serial.begin(9600); // Initialisation du moniteur serie } void loop() { int lecture_valeur = analogRead(capteur_force); // on lit la valeur venant du capteur de force // Affichage de la valeur sur le moniteur serie Serial.print("Valeur du capteur : "); Serial.print(lecture_valeur); Serial.println(" milli Newton metre"); delay(100); // pause pour attendre la valeur suivante } Voici le résultat sur le moniteur série : Mesurer la force avec des LEDS On va maintenant voir comment allumer des leds en fonctions de la force en newton-mètre.Voici les valeurs pour lesquels les leds vont s’allumer: Couleur LedValeur en Newton-mètreLED Blanche200 >LED Bleu450 >LED Verte550 >LED Jaune650 >LED Orange800 >LED Rouge900 > #define capteur_force A0 // broche capteur de force // on definit les leds #define led_blanche 2 #define led_bleu 3 #define led_verte 4 #define led_jaune 5 #define led_orange 6 #define led_rouge 7 void setup() { // on definit les leds en sortie pinMode(led_blanche, OUTPUT); pinMode(led_bleu, OUTPUT); pinMode(led_verte, OUTPUT); pinMode(led_jaune, OUTPUT); pinMode(led_orange, OUTPUT); pinMode(led_rouge, OUTPUT); } void loop() { int lecture_valeur = analogRead(capteur_force); // on lit la valeur venant du capteur de force // si la valeur est supérieur à 2 newton-mètre on allume la led blanche if (lecture_valeur > 200) { digitalWrite(led_blanche, HIGH); } else digitalWrite(led_blanche, LOW); // On éteint la led si ce n'est pas le cas // On allume la led bleu si la valeur est supérieur à 4.5 Newton mètre if (lecture_valeur > 450) { digitalWrite(led_bleu, HIGH); } else digitalWrite(led_bleu, LOW); // on allume la led verte si la valeur est supérieur à 5.5 Newton-mètre if (lecture_valeur > 550) { digitalWrite(led_verte, HIGH); } else digitalWrite(led_verte, LOW); // On allume la led jaune si la valeur est supérieur à 6.5 newton mètre if (lecture_valeur > 650) { digitalWrite(led_jaune, HIGH); } else digitalWrite(led_jaune, LOW); // On allume la led orange si la valeur est supérieur à 8 Newton-mètre if (lecture_valeur > 800) { digitalWrite(led_orange, HIGH); } else digitalWrite(led_orange, LOW); // On allume la led rouge si la valeur est supérieur à 9 Newton-mètre if (lecture_valeur > 900) { digitalWrite(led_rouge, HIGH); } else digitalWrite(led_rouge, LOW); }