Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2012-04-02 14:11:55 télémètre dans une installation

Titus
membre
Date d'inscription: 2011-12-11
Messages: 13

télémètre dans une installation



Bonjour à tous,

Voila j'utilise ce sketch trouvé sur interface Z pour récupérer les données d'un télémètre.
Cela fonctionne, j'obtiens donc dans la console d'affichage les valeurs de ma variable telemetre.
Ce sketch peut donc servir a calculer une distance entre le capteur et un corps physique.

Cependant, j'aimerais m'en servir comme détecteur de mouvement.
Je cherche donc a obtenir un contrôle de la valeur renvoyé par le télémètre, à la valeur précédemment envoyé.
(telemetre à t 0) - (telemetre a t -1) = difference
Ainsi, si la valeur différence est supérieur ou inférieur à 0, il y a captation d'un mouvement, pouvant même être mesuré selon la valeur de l'écart.

Seulement, étant débutant dans Processing en particulier sur la courbe du temps je n'y parviens pas.
Est ce que quelqu'un aurait une idée?

 * Reception des donnees d'un telemetre a ultrasons simple Interface-Z
 * Receiving data from a Midi ultrasound rangefinder
 */
import rwmidi.*;
// RWMidi se trouve chez http://ruinwesen.com/blog?id=95

MidiInput input;

void setup()
{
  // Affichage des peripheriques Midi disponibles sur l'ordinateur
  // Displaying Midi devices existing on the computer  
  println("........Peripheriques Midi In........");
  println(RWMidi.getInputDevices());

  // Choisir le numero du peripherique, ici [1], dans la liste
  // Choose the appropriate Midi device from the list
  input = RWMidi.getInputDevices()[1].createInput(this);
}

int[] valeur = new int[2]; 
int numero;
int telemetre;

// Reception des donnees du capteur.
// Receiving sensor data.
void controllerChangeReceived(Controller ctlchg) {
  numero = ctlchg.getCC();
  if (numero==2) {
    valeur[0] = ctlchg.getValue();
  }
  if (numero==3) {
    valeur[1] = ctlchg.getValue();
    telemetre = valeur[1] + (valeur[0] << 7);
  }
}

void draw()
{
 println(telemetre);
}

Hors ligne

 

#2 2012-04-02 23:08:13 Re : télémètre dans une installation

cgiles
membre
Lieu: Est de la France
Date d'inscription: 2005-05-25
Messages: 329

Re: télémètre dans une installation



tu ajoutes une variable int telemetreP=0; (p pour précédent) après la variable int telemetre;
cette variable servira a stocker la valeur précédente de telemetre
a la fin de ton draw tu ajoutes telemetreP=telemetre;
et dans ton draw tu ajoutes ça :

si ça bouge, tu auras "it's alive" qui apparaitra dans la console

Dernière modification par cgiles (2012-04-02 23:10:18)

Hors ligne

 

#3 2012-04-02 23:49:09 Re : télémètre dans une installation

Titus
membre
Date d'inscription: 2011-12-11
Messages: 13

Re: télémètre dans une installation



Super!

J'ai testé et ça marche super bien.

Merci beaucoup.

Pour paramétrer la captation et tolérer certains mouvements furtifs je penses du coup utiliser quelque chose du genre

if(telemetre > telemetreP +10 || telemetre < telemetreP - 10){
println("it's alive");
}

A moins que vous voyez autre chose?

Merci beaucoup encore big_smilebig_smilebig_smilebig_smilebig_smilebig_smilebig_smile

Hors ligne

 

#4 2012-04-03 06:19:51 Re : télémètre dans une installation

cgiles
membre
Lieu: Est de la France
Date d'inscription: 2005-05-25
Messages: 329

Re: télémètre dans une installation



remplace ton 10 par une variable "tolerance" ainsi tu la changeras plus rapidement^^

Hors ligne

 

#5 2012-04-03 18:40:43 Re : télémètre dans une installation

Titus
membre
Date d'inscription: 2011-12-11
Messages: 13

Re: télémètre dans une installation



Oui,

C'est une méthode que je commence enfin a utiliser et qui me fait vraiment gagner beaucoup de temps!

Hors ligne

 

#6 2012-04-03 19:09:24 Re : télémètre dans une installation

cgiles
membre
Lieu: Est de la France
Date d'inscription: 2005-05-25
Messages: 329

Re: télémètre dans une installation



C'est simple, toute valeur que tu utilises plus d'une fois, tu la remplaces par une variable

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024