Bonjour,
Je suis nouveau dans la communauté Arduino, donc j'espère poster au bon endroit.
J'ai, il y a quelques temps, fais l'acquisition d'un kit de démarrage (Starter Kit). Dedans une carte Uno, des composants et un livre avec différents projets. Et l'un d'eux me pose problème.
Il s'agit d'utiliser la carte Arduino reliée à un potentiomètre pour manipuler la couleur de fond d'une fenêtre créée avec Processing. Sur la conception pas de problème. Et avec l'IDE Arduino je récupère sans problème la valeur du potentiomètre.
J'utilise Serial.write() pour envoyer cette valeur afin que Processing puisse la récupérer, mais quand je lance le programme écrit en Processing, j'ai des valeurs qui tournent en boucle et qui n'ont rien à voir : 10, 53, 255 (alors que dans l'IDE Arduino j'ai de bonnes valeurs). Auriez-vous une piste ?
De plus ils disent d'utiliser la fonction background dans Processing pour changer de fond, mais quelque soit la valeur de la teinte, le fond reste transparent... Si quelqu'un a une idée pour ça aussi.
Un grand merci ![]()
Code Arduino :
int potPin = A0;
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println(analogRead(potPin) / 4);
Serial.write(analogRead(potPin) / 4);
delay(1);
}
Code Processing :
import processing.serial.*;
Serial myPort;
PImage img;
int bgColor = 0;
void setup() {
size(1,1);
surface.setResizable(true);
colorMode(HSB, 255);
img = loadImage("https://www.liblogo.com/img-logo/ar185ae78-arduino-logo-arduino-logo-free-icon-of-vector-logo.png");
surface.setSize(img.width, img.height);
println("Ports en série disponibles :");
println(Serial.list());
print("Utilisation du port : ");
println(Serial.list()[3]);
myPort = new Serial(this, Serial.list()[3], 9600);
}
void draw() {
if(myPort.available() > 0) {
bgColor = myPort.read();
println(bgColor); // Affiche en boucle 10, 53, 255
}
background(126, 255, 255); // Qu'importe la première valeur, ça reste transparent
image(img, 0, 0);
}