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