Capteur de force FSR02 – Senseur FSR – Arduino

Un capteur de force FSR02 (Force Sensing Resistor) permet de détecter une pression physique.

Le capteur FSR est un capteur qui répond en faisant décroitre sa résistance. Si nous n’effectuons aucune pression sur le capteur, la résistance approchera l’infini. Plus on appuie sur le capteur, plus la résistance va être petite.

Le document constructeur est disponible à cette adresse.

Caractéristiques :
Plage de mesure: 100 g à 2 kg
Applications: détection de présence, d’objets …
Durée de vie: 10 millions de cycles
Épaisseur: 0,46 mm
Dimensions: 56 x Ø19 mm

 

Le code suivant va lire la tension qu’envoie le capteur de force. En fonction de cette tension, nous allons faire varier la tension de la LED.
Donc plus on exerce une pression sur le capteur de force, plus la LED va s’allumer. Il faut faire attention à bien utiliser une sortie PWM pour la LED (interface avec le signe ~).

Dans le code, nous utilisons également la commande map.
En entrée, sur le port A0, nous récupérons une valeur qui varie entre 0 et 5V. Le CAN convertit cette plage avec 0V –> 0 et 5 V –> 1023. Nous ne pouvons pas envoyer sur la LED une valeur comprise entre 0 et 1023. Le PWM permet d’envoyer sur la LED une valeur entre 0 et 255. La commande map effectuera donc un rapport proportionnel à partir des valeurs 0 => 0 et 1023 => 255.

map(variable, ValeurMin, ValeurMax, versValeurMin, versValeurMax);

exemple :

val = map(luminosite_led, 0, 1023, 0, 255);
  int capteur_force = 0; // FSR branché sur pin Analog 0

int led = 3; // connecter LED rouge sur pin 3 (pin PWM)

int lecture_FSR; // Lecture analogique de la tension du pont diviseur du capteur FSR
int luminosite_led;

void setup(void) {
Serial.begin(9600); // Envoi de message de déboggage sur connexion série
pinMode(led, OUTPUT);
}

void loop(void) {
lecture_FSR = analogRead(capteur_force);
Serial.print("Capteur de Force = ");
Serial.println(lecture_FSR);

// Nous devons convertir la valeur analogique lue (0-1023)
// en une valeur utilisable par analogWrite (0-255).
// C'est ce que fait l'instruction map!

luminosite_led = map(lecture_FSR, 0, 1023, 0, 255);
// Ecrire sur la lLED la valeur décimal luminosite_LED (en fonction de la pression)
analogWrite(led, luminosite_led);
delay(100);

}
Capteur de Force - FSR02

 

20 commentaires

  1. bonjour,

    peut on brancher sur une carte Arduino uno en même temps ce type de capteur de force et un gyroscope electronique pour avoir des mesures d’angulation et de force ?

  2. Bonjour,

    En réalisant le même programme que vous ainsi que le même montage, en appuyant sur le capteur la led dimunue puis s’eteint et se rallume au lieu de s’allumer de plus en plus forte et s’éteindre. Pouvez-vous m’aider merci.

  3. Bonjour
    Je me permets si cela est possible de vous posez une question
    Mon projet n est pas d augmenter la luminosité d une led mais avec 4 leds qui s allume successivement lorsque l on remplis une bouteille d eau,est ce possible,?,
    Cordialement

  4. Bonjour Mataucarre,
    Est-il possible pour la carte Arduino Uno de supporter trois capteur fsr et de transmettre les données des appuis en temps réels vers un ordinateur ?

      1. Bonjour svp comment je peux envoyer les données d’un capteur FSR à une plateforme pour le surveillé…. Svp j’ai vraiment besoin de votre aide
        J’ai un SIM900 capteur de force FSR carte arduino méga
        Q’est ce que je dois faire ???

  5. Bonjour je voudrais le programme Arduino complet pour le raccordement d’un servo a un capteur de force FSR je sais manouvre mon servos mais j’aimerais que il soie diriger par le pression sur capteur de force

  6. Bonjour, je voudrais afficher la force de mon capteur FSR402 sur l’écran LCD. Comment faire pour convertir le résultat du capteur analogique sur l’écran LCD en Newton ou kilo? Merci pour vos conseils

  7. Bonjour,
    pour un projet à l’université je fais la conception d’une semelle pour mesurer les pressions (on va intégrer des capteurs fsr, une centrale inertielle et on va faire l’acquisition des données dans un microcontrôleur ) en premier temps je vais tester les capteurs grâce à votre méthode mais par la suite je dois traduire cette variation de résistance en pression.
    pourriez-vous m’aider sur conversion en pression ? et que pourriez vous me dire sur le calibrage pour ce genre d’applications ?
    merci

    1. Bonjour,
      La valeur mesurée par le capteur est enregistré dans la variable lecture_FSR. Elle varie entre 0 et 1023.
      Après la dernière ligne, dans la fonction loop (avant l’accolade) :

      // SI FSR supérieur à x
      if (lecture_FSR > x) {
      // Faire qqchose
      }

      // SI FSR inférieure à x
      if (lecture_FSR < x) { // Faire qqchose }

Rejoignez la conversation

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.