Étape 5: Mettre en place les programmes
Brancher l’Arduino sur votre ordinateur (une connexion même je peux me débrouiller!) et télécharger le code ci-dessous intitulée « ARDUINO ». Ouvrez traitement, puis exécutez le code ci-dessous intitulé « Traitement ».CODE DE L’ARDUINO :
=====================
www.plusea.at
lit les entrées analogiques de cinq entrées de votre carte arduino
et l’envoie par l’intermédiaire de série
/ variables pour les broches d’entrée et
int analogInput0 = 0 ;
int analogInput1 = 1 ;
int analogInput2 = 2 ;
int analogInput3 = 3 ;
int analogInput4 = 4 ;
int analogInput5 = 5 ;
variable pour stocker la valeur
int value0 = 0 ;
valeur1 int = 0 ;
value2 int = 0 ;
value3 int = 0 ;
value4 int = 0 ;
valeur5 int = 0 ;
void setup() {}
Déclaration des modes de broche
pinMode (analogInput0, entrée) ;
pinMode (analogInput1, entrée) ;
pinMode (analogInput2, entrée) ;
pinMode (analogInput3, entrée) ;
pinMode (analogInput4, entrée) ;
pinMode (analogInput5, entrée) ;
commencer à envoyer sur le port série
Serial.Begin(9600) ;
} / / fin d’installation
void loop() {}
lire la valeur sur l’entrée analogique
value0 = analogRead(analogInput0) ;
valeur1 = analogRead(analogInput1) ;
value2 = analogRead(analogInput2) ;
value3 = analogRead(analogInput3) ;
Value4 = analogRead(analogInput4) ;
valeur5 = analogRead(analogInput5) ;
imprimer la valeur sur le port série
Serial.Print (1 octet) ; préfixe
Serial.Print(value0) ;
Serial.Print (10 octets) ; signal de fin
Serial.Print (2 octets) ;
Serial.Print(value1) ;
Serial.Print (10 octets) ;
Serial.Print (3, BYTE) ;
Serial.Print(value2) ;
Serial.Print (10 octets) ;
Serial.Print (4 octets) ;
Serial.Print(value3) ;
Serial.Print (10 octets) ;
Serial.Print (5, BYTE) ;
Serial.Print(Value4) ;
Serial.Print (10 octets) ;
Serial.Print (6, octet) ;
Serial.Print(value5) ;
Serial.Print (10 octets) ;
Attendez un peu pour ne pas surcharger le port
Delay(100) ;
} / / fin de boucle
CODE DE TRAITEMENT :
=====================
/*
* Basé sur le code par Hannah Perner-Wilson, www.plusea.at
* Modifié par Sam Kronick www.newuntitledpage.com
*/
Import processing.serial.* ;
définition de la taille de la fenêtre
vous pouvez modifier la taille de la fenêtre que vous le souhaitez
le thresholdGraph va faire évoluer pour s’adapter
la taille optimale de la thresholdGraph est de 1000 x 400
int xWidth = 800 ;
int yHeight = 600 ;
Valeurs actuelles
int [] values = {0,0,0,0,0,0} ;
Valeurs moyennes temporelles
int [] avgCounter = {0,0,0,0,0,0} ;
int [] AVG = {0,0,0,0,0,0} ;
public static final int intervalle = 5 ;
Nulle force valeurs, modifiées sur l’espace presse
int [] zéros = {0,0,0,0,0,0} ;
variables de connexion série. PortName et baudrate sont spécifiques de l’utilisateur
Serial port1 ;
Définissez votre port série ici (Regardez la liste imprimée lorsque vous exécutez l’application une fois)
String V3 = Serial.list() [0] ;
String portname1 = V3 ;
int baudrate = 9600 ;
préfixe int = 1 ;
Boolean myCatch = true ;
int serialIN = 0 ;
int serialINPUT = 0 ;
Mémoire tampon de chaîne = "" ;
valeur int = 0 ;
void setup() {}
taille du jeu et le framerate
taille (xWidth, yHeight) ;
frameRate(25) ;
Background(255) ;
strokeWeight(5) ;
Stroke(0) ;
Smooth() ;
colorMode(HSB) ;
établir la connexion au port série
PORT1 = nouvelle série (ce, portname1, débit en bauds) ;
println(Serial.List()) ; imprimer la liste série
} //end installation
keyPressed() Sub {}
Si (clé == "") {}
pour (int i = 0; j’ai zéros [i] = GVA [i] ;
}
}
}
dessiner des Ecoutes sur port série, tirage
{} void draw()
Background(255) ;
écouter la série événement serial port et détente
while(PORT1.available() > 0) {}
serialIN = port1.read() ;
serialEvent(serialIN) ;
}
pour (int i = 0; i < 4; i ++) {}
Si (frameCount % intervalle > 0) {}
valeurs de += avgCounter [i] [i] ;
}
else {}
AVG [i] = avgCounter [i] / intervalle ;
avgCounter [i] = 0 ;
}
Si (GVA [i] - zéros [i] < 0)
remplissage (0, 20 *-(GVA [i] - zeros[i]), 250) ;
d’autre
remplissage (100, 20 * (GVA [i] - zeros[i]), 250) ;
Rect (width/2, hauteur/4 * i, 10*(avgs[i]-zeros[i]), hauteur/4) ;
}
}
void serialEvent (int serialINPUT) {}
if(myCatch == true) {}
Si (serialINPUT! = 10) {}
Ajouter un événement à tampon
mémoire tampon += char(serialINPUT) ;
println(serialINPUT) ;
}
else {}
Si série saut de ligne a la valeur à la valeur de la mémoire tampon et effacer la mémoire tampon
valeur = int(buffer) ;
values[(prefix-1)] = value ;
myCatch = false ;
tampon = "" ;
}
}
myCatch est le beginging du envoyé chaque nombre utilisé pour définir le port
myCatch devient true si série est inférieur à 10 en-tête étant 1-9
Si (! myCatch & & serialINPUT < 10) {}
myCatch = true ;
préfixe = int(serialINPUT) ;
}
}