0% found this document useful (0 votes)
7 views

Codigo de Arduino

The Arduino code reads the temperature sensor value and sends it through the serial port. The Processing code receives the data through the serial port, maps it to a graph coordinate and draws a continuous line graph. It also logs the temperature data to a CSV file with timestamps.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

Codigo de Arduino

The Arduino code reads the temperature sensor value and sends it through the serial port. The Processing code receives the data through the serial port, maps it to a graph coordinate and draws a continuous line graph. It also logs the temperature data to a CSV file with timestamps.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Codigo de arduino:

void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
}
 
int valpwm;
float valtemp;
 
// the loop routine runs over and over again forever:
void loop() {
  int sensorValue = analogRead(A1);
 
  valtemp = (sensorValue*2500.00)/1023.00;
  delay(1);
  Serial.println(valtemp);
  delay(1000);
   
}

Codigo de Processing

import processing.serial.*;

Serial myPort;        // The serial port


int xPos = 1;         // horizontal position of the graph 

//Variables to draw a continuous line.


int lastxPos=1;
int lastheight=0;

boolean nuevoDato = false;

Float dato = 0.0;


Float ultimoDato = 0.0;

Float umbral = 100.0; // Umbral para que cambies.


  
PrintWriter log;

void setup () {
  
  // set the window size:
  size(1800, 400);     
  
  log = createWriter("log.csv"); //Logger
  // List all the available serial ports
  
  // Check the listed serial ports in your machine
  // and use the correct index number in Serial.list()[].

  myPort = new Serial(this, "COM5", 9600);  // Aca poner la COM de tu arduino

  // A serialEvent() is generated when a newline character is received :


  myPort.bufferUntil('\n');
  background(0);      // set inital background:
}
void draw () {
   
  if (nuevoDato)
  {
    
    
    nuevoDato = false;
    stroke(127,34,255);     //stroke color
    strokeWeight(1);        //stroke wider
    line(lastxPos, lastheight, xPos, height - dato); 
    lastxPos= xPos;
    lastheight= int(height-dato);

    // at the edge of the window, go back to the beginning:


    if (xPos >= width) {
      xPos = 0;
      lastxPos= 0;
      background(0);  //Clear the screen.
    } 
    else {
      // increment the horizontal position:
      xPos++;
    }
  }
}

void serialEvent (Serial myPort) {


 
  String inString = myPort.readStringUntil('\n');
  //System.out.println(inString);
  if (inString != null) {
    inString = trim(inString);                // trim off whitespaces.
    dato = float(inString);           // convert to a number.
    
    
    //log.println(millis()+","+dato);
      log.println(hour()+":"+minute()+":"+second() +" , "+dato);
    
    
    if (dato > (ultimoDato + umbral) || dato < (ultimoDato - umbral))
    {
      dato = map(dato, 0, 1023, 0, height); //map to the screen height.
      ultimoDato = dato;
      nuevoDato = true;
      
    }
    
  }
}

void exit() {
  
 
  log.flush(); // Writes the remaining data to the file
  log.close(); // Finishes the file
  
  println("CErrado");
  super.exit();
}

Conexión de arduino

You might also like