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.
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
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
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
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
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