ARDX-Montages-CIRC13

De MCHobby - Wiki
Aller à : navigation, rechercher

MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

Ce que nous faisons

.: Détecter la pression :.

.: Une résistance sensible à la pression :.

Un FSR (Force Sensitive Resistor – résistance sensible à la force) est un senseur génial et facile à mettre en œuvre. Il est très similaire à un potentiomètre (CIRC-08), excepté que la résistance ne varie pas en fonction de la position d'un axe mais qu'elle varie en fonction de la force appliquée.

La résistance est élevée (infinie) quand il n'y a pas de pression et basse quand il y a une forte pression (environ 250 Ohm pour une force de ~10 kg).

Sur base de cette information, la mise en oeuvre est vraiment simple.

ARDX-Montages-CIRC13-FSR-resistance.png

Si vous voulez en savoir un peu plus, les détails sont disponibles en ligne.

.: Pour un tutoriel avec tous les détails techniques :.

.: ardx.org/FSRT (anglais) :.

.: ou pour les informations techniques, une datasheet est disponible ici :.

.: ardx.org/FSRD:.

Le montage

Le matériel nécessaire

ARDX-circ-sheet.png

Fiche de montage CIRC-13
x1

ARDX-FSR.png

Résistance sensible à la force
x1


ARDX-pin-header.png

2 Pin header
x4

ARDX-fils.png
ARDX-R560.png

Résistance de 560 Ohms (vert-bleu-brun)
x1

ARDX-R10K.png

Résistance de 10 KOhms (brun-noir-orange)
x1

ARDX-LED-verte.png

LED (ou DEL)
x1

 

Tous ces éléments sont disponibles dans le Kit Ardx proposé sur shop.mchobby.be.

Schéma

Circ13-schema.png

Montage

Cir13-montage.png

Le code

Pas besoin de taper tout le code, vous pouvez le télécharger depuis

ardx.org/CODE13A

puis le copier/coller dans un croquis/sketch Arduino.

/*
 * Code de test du capteur de force/pression
 *
 * L'intensité de la LED varie en fonction de la pression sur le senseur
 *
 */

int sensePin = 2; // Pin sur laquelle le senseur FSR est branché
int ledPin = 9;   // Pin sur laquelle la LED est branchée (utilise une sortie PWM)

void setup() {
  Serial.begin(9600);
  pinMode(ledPin, OUTPUT); // déclarer ledPin comme sortie (OUTPUT )
}

void loop() {
   // Lire la tension sur la broche puis la divisé par 4 pour ramener
   // l'échelle des valeurs 10 bits (0-1024) à 8 bits (0-255)
   int value = analogRead(sensePin)/4; 
  
   // Fixer l'intensité de la LED en proportion de la pression
   // sur le senseur
   analogWrite(ledPin, value);

   Serial.println(value); // Afficher la valeur dans le moniteur de débogage
}

Cela ne fonctionne pas?

Voici 3 choses à essayer.

La LED ne s'allume pas!

Les LEDs ne fonctionnent que dans un seul sens.

Essayez de l'enlever, de la pivoter de 180° et de la rebrancher (pas de soucis, la monter à l'envers ne provoque pas de dégât permanent).

S'éteint trop vite/lentement

Cela est causé par le fait que la réponse du senseur FSR à la pression n'est pas tout à fait linéaire.

Mais pas d'inquiétude, cela peut être corrigé avec un peu de code (voir section « faire encore mieux » ci-dessous)

Envie de plus ?

(brancher sans se retenir) Si vous voulez en faire un peu plus, pourquoi ne pas allez jeter un œil sur les petits plus et extra disponibles sur shop.MCHobby.be.

Vous trouverez par exemple un "Flex Sensor" qui fonctionne sur le même principe.

Faire encore mieux

Calibration du senseur

Bien que la lumière s'éteigne en réponse au changement de pression, la réponse n'est pas vraiment parfaite.

Nous devons ajouter une ligne de code supplémentaire pour ajuster la réponse.

  • map(value, fromLow, fromHigh, toLow, toHigh )

Pour plus de détails sur le fonctionnement de la fonction MAP, visitez ardx.org/MAP ou celui d'Arduino.cc (anglais)

Nous pouvons utiliser la fenêtre de débogage (comme dans CIRC-11) pour calibrer notre senseur.

Ouvrez la fenêtre de monitoring et remplacez ensuite la valeur fromLow avec la valeur affichée lorsque le senseur est pressé « à fond ».

Remplacez ensuite la valeur fromHigh avec la valeur lue lorsque le senseur n'est pas pressé.

Pour finir, remplacez la valeur toLow par 0 et toHigh par 255 .

Le résultat devrait ressembler à quelque-chose comme ceci:

int value = analogRead(sensePin);
map(value, 125, 854, 0, 255);
analogWrite(ledPin, value);

Les applications

Le vrai plaisir avec les senseurs,commence lorsqu'on les utilise de façon ingénieuse ou de manière inattendue.

Alors pensez à « où » et « comment » les senseurs sensibles à la force peuvent améliorer votre vie.

Plus, plus et encore plus

Plus d'information, où poser vos autres questions:

ardx.org/CIRC13 (anglais)

Internet

.:téléchargement:.

LA fiche de montage est disponible sur ardx.org/BBLS13A

.: Vidéo :.

La vidéo du montage est disponible sur ardx.org/VIDE13 (anglais)


Tutoriel/Manuel traduit par Meurisse D. pour MCHobby.be licence Creative Commons BY-SA.

Crédit de traduction
Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : « Traduction par MCHobby (shop.MCHobby.be) - Vente de kit et composants » et ce quelque soit le média utilisé.

Utilisation commerciale
L'utilisation commercial de cette traduction (y compris sur site produisant des revenus par l'intermédiaire de publicité), même partielle, est soumise à redevance (license fee).


Le présent manuel a été traduit et autorisé à la vente avec l'aimable autorisation conjointe de Oomlout (www.oomlout.com) et d'AdaFruit (www.adafruit.com).

Produit sous licence Creative Commons BY-SA License and available for download: ardx.org/src/