Bonjour.
J'aimerais mètre un peu de graphisme dans le programme suivant.Des rectangles avec à l'intérieures le nombres de pas ,le sens de rotations, le moteur,mais rien n’apparaît à l’écran,les éléments n'apparaissent q'en fin de programme et pas avant ;par contre avec la fonction print() je vois se qui se passe ;mais si je remplace print()par text()pour faire apparaître les éléments dans la fenêtre plus rien ne fonctionne ,je ne comprends par pourquoi.
merci.
Code (P5) :
- import processing.serial.*;
- import cc.arduino.*;
- Arduino arduino;
- int nb_trous=11;
- int[]tab_x={10,10,10,10,20,10,20,10,20,10,-130};
- int IN1=8;
- int IN2=10;
- int IN3=9;
- int IN4=11;
- int vitesse=2;
- int pas_moteur=4;
-
-
-
- void setup() {
- size(500,200);
- println(Arduino.list());
- arduino = new Arduino(this, Arduino.list()[0], 57600);
- arduino.pinMode(IN1,Arduino.OUTPUT);
- arduino. pinMode(IN2,Arduino.OUTPUT);
- arduino. pinMode(IN3,Arduino.OUTPUT);
- arduino. pinMode(IN4,Arduino.OUTPUT);
-
-
- }
- void draw(){
-
-
- moteurX();
-
- }
-
-
- void moteurX(){
- for(int i=0;i<nb_trous;i++){
- int a=tab_x[i];
-
- if(a>=0){
- marche_avant(tab_x[i]);
- }
- else{
- marche_arriere(tab_x[i]);
- }
- }
-
- noLoop();
-
- }
- void marche_avant(int x){
- float pas=x*pas_moteur;
- println();
- print ("avant");
- for(int i=0;i<pas;i++){
- print(i);
- arduino.digitalWrite(IN1,Arduino.LOW);
- arduino. digitalWrite(IN2,Arduino.HIGH);
- arduino. digitalWrite(IN3,Arduino.HIGH);
- arduino. digitalWrite(IN4,Arduino.LOW);
- delay(vitesse);
- arduino. digitalWrite(IN1,Arduino.LOW);
- arduino. digitalWrite(IN2,Arduino.HIGH);
- arduino. digitalWrite(IN3,Arduino.LOW);
- arduino. digitalWrite(IN4,Arduino.HIGH);
- delay(vitesse);
- arduino. digitalWrite(IN1,Arduino.HIGH);
- arduino. digitalWrite(IN2,Arduino.LOW);
- arduino. digitalWrite(IN3,Arduino.LOW);
- arduino. digitalWrite(IN4,Arduino.HIGH);
- delay(vitesse);
- arduino.digitalWrite(IN1,Arduino.HIGH);
- arduino.digitalWrite(IN2,Arduino.LOW);
- arduino. digitalWrite(IN3,Arduino.HIGH);
- arduino. digitalWrite(IN4,Arduino.LOW);
- delay(vitesse);
- }
- delay(1000);
- }
-
-
- void marche_arriere(int x){
- float pas=(x*pas_moteur)*-1;
- println();
- print("arriere");
- for(int i=0;i<pas;i++){
- print(i," ");
- arduino.digitalWrite(IN1,Arduino.HIGH);
- arduino.digitalWrite(IN2,Arduino.LOW);
- arduino.digitalWrite(IN3,Arduino.HIGH);
- arduino.digitalWrite(IN4,Arduino.LOW);
- delay(vitesse);
- arduino.digitalWrite(IN1,Arduino.HIGH);
- arduino.digitalWrite(IN2,Arduino.LOW);
- arduino.digitalWrite(IN3,Arduino.LOW);
- arduino.digitalWrite(IN4,Arduino.HIGH);
- delay(vitesse);
- arduino.digitalWrite(IN1,Arduino.LOW);
- arduino.digitalWrite(IN2,Arduino.HIGH);
- arduino.digitalWrite(IN3,Arduino.LOW);
- arduino.digitalWrite(IN4,Arduino.HIGH);
- delay(vitesse);
- arduino.digitalWrite(IN1,Arduino.LOW);
- arduino.digitalWrite(IN2,Arduino.HIGH);
- arduino.digitalWrite(IN3,Arduino.HIGH);
- arduino.digitalWrite(IN4,Arduino.LOW);
- delay(vitesse);
- }
- delay(1000);
- }
import processing.serial.*;
import cc.arduino.*;
Arduino arduino;
int nb_trous=11;//entrer nombre de trous;
int[]tab_x={10,10,10,10,20,10,20,10,20,10,-130};
int IN1=8;
int IN2=10;
int IN3=9;
int IN4=11;
int vitesse=2;
int pas_moteur=4;
void setup() {
size(500,200);
println(Arduino.list());
arduino = new Arduino(this, Arduino.list()[0], 57600);
arduino.pinMode(IN1,Arduino.OUTPUT);
arduino. pinMode(IN2,Arduino.OUTPUT);
arduino. pinMode(IN3,Arduino.OUTPUT);
arduino. pinMode(IN4,Arduino.OUTPUT);
}
void draw(){
moteurX();
}
void moteurX(){
for(int i=0;i<nb_trous;i++){
int a=tab_x[i];
if(a>=0){
marche_avant(tab_x[i]);
}
else{
marche_arriere(tab_x[i]);
}
}
noLoop();
}
void marche_avant(int x){
float pas=x*pas_moteur;
println();
print ("avant");
for(int i=0;i<pas;i++){
print(i);
arduino.digitalWrite(IN1,Arduino.LOW);
arduino. digitalWrite(IN2,Arduino.HIGH);
arduino. digitalWrite(IN3,Arduino.HIGH);
arduino. digitalWrite(IN4,Arduino.LOW);
delay(vitesse);
arduino. digitalWrite(IN1,Arduino.LOW);
arduino. digitalWrite(IN2,Arduino.HIGH);
arduino. digitalWrite(IN3,Arduino.LOW);
arduino. digitalWrite(IN4,Arduino.HIGH);
delay(vitesse);
arduino. digitalWrite(IN1,Arduino.HIGH);
arduino. digitalWrite(IN2,Arduino.LOW);
arduino. digitalWrite(IN3,Arduino.LOW);
arduino. digitalWrite(IN4,Arduino.HIGH);
delay(vitesse);
arduino.digitalWrite(IN1,Arduino.HIGH);
arduino.digitalWrite(IN2,Arduino.LOW);
arduino. digitalWrite(IN3,Arduino.HIGH);
arduino. digitalWrite(IN4,Arduino.LOW);
delay(vitesse);
}
delay(1000);
}
void marche_arriere(int x){
float pas=(x*pas_moteur)*-1;
println();
print("arriere");
for(int i=0;i<pas;i++){
print(i," ");
arduino.digitalWrite(IN1,Arduino.HIGH);
arduino.digitalWrite(IN2,Arduino.LOW);
arduino.digitalWrite(IN3,Arduino.HIGH);
arduino.digitalWrite(IN4,Arduino.LOW);
delay(vitesse);
arduino.digitalWrite(IN1,Arduino.HIGH);
arduino.digitalWrite(IN2,Arduino.LOW);
arduino.digitalWrite(IN3,Arduino.LOW);
arduino.digitalWrite(IN4,Arduino.HIGH);
delay(vitesse);
arduino.digitalWrite(IN1,Arduino.LOW);
arduino.digitalWrite(IN2,Arduino.HIGH);
arduino.digitalWrite(IN3,Arduino.LOW);
arduino.digitalWrite(IN4,Arduino.HIGH);
delay(vitesse);
arduino.digitalWrite(IN1,Arduino.LOW);
arduino.digitalWrite(IN2,Arduino.HIGH);
arduino.digitalWrite(IN3,Arduino.HIGH);
arduino.digitalWrite(IN4,Arduino.LOW);
delay(vitesse);
}
delay(1000);
}