bonjours a tous,
je suis novice en processing et en arduino.
j ai un projet en cours qui est le pilotage d une imprimante à 2 axes faite maison par arduino et dont l impression se ferait en temps reel ( en meme temps que l on trace notre figure dans un programme processing) et j ai donc besoin de transferer les coordonnes (x,y) des points en continu vers arduino mais egalement dans l autre sens pour utiliser un ecran tactile sur arduino.
1: ecran tactile (arduino) ---envoi x,y---> vers processing.
et en parrallele avec (1:) arduino anime les moteurs pour tracer la figure.
2: processing trace l image dans une fenetre.
je me suis deja ateler a ma programation des etapes separees
et en voicis les codes:
ARDUINO
int y1 = A0;
int x2 = A3;
int y2 = A1;
int x1 = A2;
void setup() {
Serial.begin(9600);
}
int readX(){
pinMode(y1, INPUT);
pinMode(x2, OUTPUT);
pinMode(y2, INPUT);
pinMode(x1, OUTPUT);
digitalWrite(x2, LOW);
digitalWrite(x1, HIGH);
delay(5); //pause pour metre en tension
return analogRead(y1);
}
int readY(){
pinMode(y1, OUTPUT);
pinMode(x2, INPUT);
pinMode(y2, OUTPUT);
pinMode(x1, INPUT);
digitalWrite(y1, LOW);
digitalWrite(y2, HIGH);
delay(5);
int Y= analogRead(x2);
return Y;
}
void loop()
{
int x = readX(); //coord en x
int y = readY(); //coord en y
if (x == 0 & y == 0){
Serial.print(x-10000);//impression coord en x
Serial.print(" ");
Serial.println(y-10000);//impression coord en y
}
else {
if(x < 1000 & y < 1000){
if(x > 100 & y > 100){
Serial.print(x-100);//impression coord en x
Serial.print(" ");
Serial.println(y-100);//impression coord en y
}
else{
Serial.print(x-10000);//impression coord en x
Serial.print(" ");
Serial.println(y-10000);//impression coord en y
}
}
}
//calibrage pour ne pas avoir de coordonnes negatives
delay(0);
}
Processing
?/*
* Mouse Press.
*
* Move the mouse to position the shape.
* Press the mouse button to invert the color.
*/
// modifier par carmelo pirrera.
// programme de base de procesing qui tace des croix suivant le curseur de la sourie
import processing.serial.*; //import information from the arduino
int delayValue=0; //variable for delayValue
int min_value=0; //variable for the lowest level of light
int max_value=0; //varaible for the highest level of light
Serial myPort; //Chose the prot for communication with arduino
void setup() {
size(800, 600);//taille de la fenetre
noSmooth();
fill(0);
background(255);
}
void draw() {
/*
if (mousePressed) {
stroke(255);
} else {
stroke(0);
}
line(mouseX-10, mouseY, mouseX+10, mouseY);
line(mouseX, mouseY-10, mouseX, mouseY+10);
*/
//base permetant de tracer des lignes
if (mousePressed){
stroke(0);//ligne en noir
line(mouseX, mouseY, pmouseX, pmouseY);//trace une ligne entre nouvelle coordonnes et ancienne
}
// noStroke();// enleve le contour du cercle
// fill(0,0,0);//cercle en noir
// ellipse(mouseX, mouseY, 10, 10);//on trace un point noir suivant les coordonnees
}
la question est comment transferer en continu mes couples (x,y)
de processing vers arduino et d arduino vers processing
(pouvez vous si possible me fournir un exemple de code qui me permetterait cela )
je vous le demande car j ai lontemps chercher sur le net et tout ce que j ai trouver a echouer
merci d avance.