Il manque le else ! Et vous pouvez ne conserver qu’un seul appel à text() une fois la valeur de la String définie
(et ça serait bien de donner une valeur initiale à valeurInString - même si par défaut c’est 0, ça fait plus propre)
vous pourriez bien sûr définir afficheEtat dans serialEvent() et vous passer de valeurInString (en donnant une valeur initiale à afficheEtat) ou alors appeler text() avec le texte complet directement dans le if et dans le elseCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 import processing.serial.*; Serial myPort; int valeurInString=0; String afficheEtat="OFF" ; void setup () { size(400, 300); myPort = new Serial(this, Serial.list()[0], 115200); myPort.bufferUntil ('\n'); textFont(createFont("Grenoble SF", 24)); } void draw() { background(0); if (valeurInString == 1) { afficheEtat = "ON" ; } else { afficheEtat = "OFF" ; } text("Etat led = " + afficheEtat, 50, 100); // Affiche la valeur de valeurInString } void serialEvent (Serial myPort) { String inString = myPort.readStringUntil ('\n'); if (inString != null) {. inString = trim (inString); // Supprime les caractères d'espace (blanc, tab, CR, LF,...) du début et de la fin de la chaîne valeurInString = (int (inString)) ; } }