Bonjour,
Je tente, sans succès, de récupérer les données d'un capteur de battements cardiaques branché à Arduino, dans Processing, pour ultimement les enregistrer dans un fichier.
Le code Arduino:
// TRUE PULSE | POLARTOUCH
const int polarTouch_Pin = 2;
int polarTouch = 0;
// TEST LED
const int led_Pin = 13;
// OUTPUT | LIGHT
const int LED_Array = 5;
int brightness_high = 255;
void setup(){
Serial.begin(9600);
pinMode(polarTouch_Pin, INPUT);
pinMode(led_Pin, OUTPUT);
pinMode(LED_Array, OUTPUT);
analogWrite(LED_Array, brightness_high);
}
void loop(){
//digitalWrite(LED_Array, HIGH);
polarTouch = digitalRead(polarTouch_Pin);
Serial.println(polarTouch);
if(polarTouch>0){
digitalWrite(led_Pin, HIGH);
}
else{
digitalWrite(led_Pin, LOW);
}
}
Le senseur: Polar Contact Heart Rate System
Tout est ok pour la détection et je peux avoir un aperçu des valeurs dans le moniteur Arduino, mais j'aimerais que ces données soient envoyées dans un fichier qui les sauvegarde.
Une idée?
Merci
Hors ligne
isalyette a écrit:
Bonjour,
Je tente, sans succès, de récupérer les données d'un capteur de battements cardiaques branché à Arduino, dans Processing, pour ultimement les enregistrer dans un fichier.
si tu veux enregistrer tes données avec processing y a les méthodes createWriter()[1] et saveStrings()[2] par exemple..
[1] http://processing.org/reference/createWriter_.html
[2] http://processing.org/reference/saveStrings_.html
ciao
y
Hors ligne
En fait, c'est la communication entre Arduino et Processing qui me pose problème. J'ai tenté avec ce code:
import processing.serial.*;
Serial mySerial;
PrintWriter output;
void setup() {
mySerial = new Serial( this, Serial.list()[0], 9600 );
output = createWriter( "data.txt" );
}
void draw() {
if (mySerial.available() > 0 ) {
String value = mySerial.readString();
if ( value != null ) {
output.println( value );
}
}
}
Mais rien ne s'affiche. (je suis plutôt débutante avec Processing)
Merci!
Hors ligne
En fait, je crois que mon problème vient peut-être d'ici: Lorsque je roule le code Processing, je reçois ce message d'erreur: RXTX Version mismatch
Je suis sous Ubuntu 11.10, j'utilise Processing 1.5.1
Hors ligne
Salut,
es tu sur que ton arduino est en position 0 dans la liste : mySerial = new Serial( this, Serial.list()[0], 9600 );
Sinon tu as cette solution :
http://www.tonyivanov.se/posts/118
Merci google
Si tu veux te simplifier la vie, tu peux avoir recours a firmata, un sketch arduino qui donne le controle de l'arduino via processing, tu charges firmata, puis tu ajoutes les ports via arduino
Dernière modification par cgiles (2012-05-09 07:55:44)
Hors ligne
int potar = A0;
int val_potar = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
val_potar= analogRead(potar);
char tension ='0'+map(val_potar,0,1023,0,5);
Serial.print(tension);
delay(100);
}
ceci est un exemple de logiciel pour envoyer des donnees vers processing
import processing.serial.*;
Serial myPort; // Create object from Serial class
char val=' '; // Data received from the serial port
void setup()
{
size(200, 200);
String portName = Serial.list()[0];
myPort = new Serial(this, portName, 9600);
}
void draw()
{
if ( myPort.available() != 0) { // If data is available,
val =char(myPort.read());
}
background(255);
fill(0);
text("val tension="+val,50,30);
int tension=int(val-'0');
if(tension==1)
{
fill(255,0,0);
}
if(tension==2)
{
fill(0,255,0);
}
if(tension==3)
{
fill(0,0,255);
}
if(tension==4)
{
fill(0,255,255);
}
if(tension==5)
{
fill(255,255,0);
}
rect(40,40,100,100);
}
celui ci est à mettre dans processing
Hors ligne
Pages: 1