Mesurer la courbure avec un senseur flexible

Dans la vie il est important d'être flexible. Mais qu'allez-vous faire si vous voulez mesurer la courbure d'un objet? Vous utilisez un senseur flexible. Un tel senseur utilise du carbone sur une bande de plastique pour se comporter comme une résistance variable ou un potentiomètre (voir exercice 8), mais au lieu de changer la résistance en tournant une poignée vous la changez par flexion (courbure). On utilise un diviseur de voltage encore comme dans l'exercice 8 et l'exercice 9 pour détecter ce changement de résistance. le senseur se courbe dans une direction et plus il se plie, plus haute est la résistance - il a un intervalle d'environ 10K ohms à 35K ohms. Dans ce circuit on utilise la valeur de la courbure du senseur flexible pour contrôler la position d'un servo.

(NdT: S'il n'y a pas de senseur flexible dans votre kit, vous pouvez le commander sur Sparkfun ou tout autre fournisseur. Cherchez à "flex sensor", cela coûte entre 5 et 8 euros.)

SCHEMA DU CIRCUIT

Schéma du circuit

MONTAGE DU CIRCUIT

Diagramme d'assemblage

CODE

Vous pouvez trouver ce code dans CIRC-13-code-flexsensor.js

var five = require("johnny-five");

five.Board().on("ready", function(){
  var flexSensor = new five.Sensor("A0");
  var myServo = new five.Servo(9);

  flexSensor.on("read", function(err, value){
    var servoAngle = five.Fn.map(value, 50, 300, 0, 179);
    myServo.move(servoAngle);
  });
});

DEPANNAGE

Le servo ne bouge pas?

Même avec des fils colorés il est scandaleusement facile d'insérer un servo à l'envers. Cela pourrait être le cas.

Le servo ne bouge pas comme il devrait

Le senseur est conçu pour fonctionner seulement dans une direction. Essayez de le plier dans l'autre sens (avec le codé rayé faisant face à la courbe convexe).

Le servo ne bouge qu'une seule fois

Vous pouvez avoir besoin de modifier l'intervalle des valeurs à l'appel de la fonction map.

ETENDRE LE CODE

Calibrer l'intervalle

Bien que votre servo bouge maintenant, il y a des chances que son intervalle ne soit pas parfait. Pour ajuster l'intervalle il nous faut changer les valeurs de la fonction map:

five.Fn.map(value, fromLow, fromHigh, toLow, toHigh)

Pour calibrer notre senseur nous pouvons utiliser la console pour afficher les valeurs quand le senseur est plié, puis prendre note de l'intervalle de ces valeurs. Remplacer la valeur fromLow (par défaut 50) avec la valeur affichée quand le senseur n'est pas plié. Puis remplacez la valeur de fromHigh (par défaut 300) avec la valeur quand il est entièrement plié.

Applications

Avec les senseurs le plaisir réel est procuré en l'utilisant de façon élégante et inattendue, voici quelques unes ne nos applications favorites:

Un gant de joueur pierre-papier-ciseaux

Un gant qui vous fait jouer à ce jeu avec vous-même.

Support de plante électronique

Contrôlez si votre plante se courbe vers la lumière et corrigez la. (Lien brisé, NdT).


Licence Common Creative. Traduction par Scriptol.fr du tutoriel en anglais d'Anna Gerber, sous la même licence. Copie et modification autorisées sous réserve de conserver cette notice y compris le lien sur la page originale.