Annonce

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


#1 2014-06-07 04:07:29 remplissage tableaux

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

remplissage tableaux



Bonjour.

Est il possible ,sous processing de mettre des valeurs dans un tableau ,en utilisant les touches du clavier ?.
Dans le programme suivant je voudrais mettre des valeurs de temps dans un tableau.Ce qui correspondrais sous d'autres langages à la fonction"INPUT".J'ai vu qu'il existait la fonction keyPressed mais je ne sais pas comment l'utiliser pour ce faire.
Merci.

Code (P5) :

Hors ligne

 

#2 2014-06-07 11:51:09 Re : remplissage tableaux

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

Re: remplissage tableaux



Voilà ma proposition pour rester en mode console :

int[] tableau = new int[10]; 
int valeur;
int compteur;
boolean etat, saisie;

void setup() {  
  size(200, 200); 
  saisie = true;
  etat = false;
  compteur = 0;
  print("> ");
}  

void draw() {  
  if (saisie) {
    if (compteur != 10) {
      if (etat) {
        tableau[compteur] = valeur;
        valeur = 0;
        etat = false;
        compteur++;
        println();
        if (compteur != 10) {
          print("> ");
        }
      }
    } else {
      saisie = false;
    }
  } else {
    for (int i = 0; i < 10; i++) {  
      println(tableau[i]);  
      delay(tableau[i]);
    }
  }
}  

void keyPressed() {
  int c = keyCode;
  if ((c >= 48) && (c <= 57)) {
    print(c - 48);
    valeur = valeur * 10 + c - 48;
  }
  if (c == 10) {
    etat = true;
  }
}

Hors ligne

 

#3 2014-06-07 13:28:10 Re : remplissage tableaux

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

Re: remplissage tableaux



Bonjour.

Je te remercie pour ton programme,et,pour tes réponses;car dans le programme je voulais entrer du temps de fonctionnement moteur a la main .mais en réfléchissant j'ai trouvé une autre solution qui remplis les tableaux avec du temps.

Merci.

Code (P5) :

import processing.serial.*;      
import cc.arduino.*;     
Arduino arduino;  

int sens_moteur=2;
int vitesse=3;
int val_vitesse=70;
int[]tab_temps=new int[10];
int[]tab_temps_ar=new int[10];
int temps,temps_stop,temps_total;

void setup() {
  size(500,200);
  println(Arduino.list());
    arduino = new Arduino(this, Arduino.list()[0], 57600);
        arduino.pinMode(sens_moteur, Arduino.OUTPUT);
  for(int i=0;i<10;i++){
  temps=millis();
 tab_temps[i]=int(random(1000,5000));
 tab_temps_ar[i]=int(random(1000,5000));
  temps_stop=millis();
  temps_total=temps_stop-temps;
 }
}
void draw(){
   vitesse(); 
  sens_moteur();
  noLoop();
}

void vitesse(){
arduino.analogWrite(vitesse,val_vitesse);
}

void sens_moteur(){
   for(int i=0;i<10;i++){
    arduino.digitalWrite(sens_moteur,Arduino.HIGH);
    delay(tab_temps[i]);
    arduino.digitalWrite(sens_moteur,Arduino.LOW);
   delay(tab_temps_ar[i]);
   }
   arduino.analogWrite(vitesse,0);
}

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2025