Annonce

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


#1 2014-06-13 13:18:26 comptage temps:

fabrice54
membre
Date d'inscription: 2012-06-07
Messages: 242

comptage temps:



Bonjour.

Ce programme permet de compter le temps du poussoir enfoncé;
j'aimerais placer juste la dernière valeur dans un tableau ou dans une variable.

Merci.


Code (P5) :

import processing.serial.*;      
import cc.arduino.*;     
Arduino arduino;   
int []tab=new int[5];
int poussoir=8;
int temps,temps_stop,temps_total;
int val_poussoir;

void setup() {
  size(500,200);
   println(Arduino.list());
    arduino = new Arduino(this, Arduino.list()[0], 57600);
        arduino.pinMode(poussoir, Arduino.INPUT);
} 

  void draw(){  
  val_poussoir=arduino.digitalRead(poussoir);
  if(val_poussoir==1){
    temps=millis();
  }
  val_poussoir=arduino.digitalRead(poussoir);  
 if(val_poussoir==0){
   temps_stop=millis();
 }
  temps_total=temps_stop-temps;
  delay(50);
  print(temps_total," ");
delay(500);

 }

Hors ligne

 

#2 2014-06-13 23:13:57 Re : comptage temps:

Mushussu
membre
Lieu: Orléans
Date d'inscription: 2012-05-24
Messages: 802

Re: comptage temps:



Bonsoir,

Je ne pense pas que le programme compte correctement le temps. Il faut tenir compte de l'état précédent pour savoir si la touche vient d'être appuyée ou bien si elle était déjà appuyée.
Voici ma proposition :

IntList tableau;
int temps, tempsPrec;
boolean etat, etatPrec, etatEspace;

void setup() {
  size(400, 400);
  tableau = new IntList();
  temps = millis();
  tempsPrec = temps;
  etat = false;
  etatPrec = etat;
  etatEspace = false;
}

void draw() {
  etat = etatEspace;
  if (etat && !etatPrec) {
    tempsPrec = millis();
    etatPrec = true;
  }
  if (!etat && etatPrec) {
    temps = millis() - tempsPrec;
    tableau.append(temps);
    etatPrec = false;
    println(temps);
  }
}

void keyPressed() {
  if (key == ' ') {
    etatEspace = true;
  }
  if (key == 'r') {
    println(tableau);
  }
}

void keyReleased() {
  if (key == ' ') {
    etatEspace = false;
  }
}

Hors ligne

 

#3 2014-06-14 05:49:45 Re : comptage temps:

fabrice54
membre
Date d'inscription: 2012-06-07
Messages: 242

Re: comptage temps:



Bonjour.
Je te remercie pour ton programme,il fonctionne très bien;et la fonction intList est très intéressante,je vais essayer d'adapter ton programme pour mon poussoir.
Merci.

Hors ligne

 

#4 2014-06-14 10:54:32 Re : comptage temps:

Mushussu
membre
Lieu: Orléans
Date d'inscription: 2012-05-24
Messages: 802

Re: comptage temps:



IntList n'est pas une fonction, mais une classe. C'est une ArrayList spécifiquement calibrée pour les entiers :
http://processing.org/reference/IntList.html

Hors ligne

 

#5 2014-06-17 11:36:57 Re : comptage temps:

fabrice54
membre
Date d'inscription: 2012-06-07
Messages: 242

Re: comptage temps:



Merci pour l'info,c'est très intéressant à utiliser,et de plus on peut avoir n'importe quels valeurs de la liste.Je suis entrain d'essayer de faire une class Moteur.Mais je ne sais pas exactement quoi mettre dedans.SI tu as des conseils ils seront les bienvenus.
Remerciements.
dans"class Moteur{
"int moteur=pinMode(2,OUPUT);
int vitesse=pinMOde(3,OUTPUT)
moteur(){
marcheAV=arduino.digitalWrite(moteur,Arduino.HIGHT);
marcheAR=arduino,digitalWrite(moteur,Arduino.LOW);
vitesse=arduino.analogWrite(val,3);
}

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024