Paso 5: Probar el tablero de Sensor de pulso...
Esto es muy fácil, incluso para los principiantes en Arduino. En este paso será visualizar el medidor HR (ritmo cardiaco) salido utilizando un programa informático, realizado en el proceso. Esto nos ayudará a modificar el código para contar la frecuencia cardiaca. Siga estos pasos:
- Subir el sketch de "AnalogReadSerial" a la placa Arduino. Lo encontrarás en archivo > ejemplos > conceptos básicos.
- Abra la aplicación de procesamiento. Copie el código de abajo y pegarlo en la ventana de procesamiento.
- Conecte la Junta del sensor de HR para el Arduino: clavijas + 5v y 0y la salida de datos a A0 de Arduino de la energía.
- Ejecute el programa de procesamiento haciendo clic en el botón 'play' en la parte superior izquierda.
Obtendrá un gráfico de los valores de serie procedente de Arduino. En la gráfica, eje de X es el tiempo, el eje Y es el valor de la serie. Valor máximo del eje Y es de 1023 (en la parte superior del gráfico), y mínimo es 0 (en la parte inferior). Cuando no hay dedo se coloca obtendrá valores bastante arbitrarios, sino ubicarlo está dedo sin mover que crear un "Heart Beat" limpio en el gráfico, como se muestra en la foto de arriba.
Si sólo desea visualizar los latidos del corazón, puede detener aquí. Sin embargo para ir más lejos, usted necesita averiguar un cierto valor de umbral', que, si cruza, Arduino reconocerá como un golpe. Diferentes sensores de HR pueden necesitar valores de umbral diferentes.
Para mí, he puesto el valor de 200.
Ver este video de demostración de la visualización de los latidos del corazón...
Aquí está el código para el programa de procesamiento de ...
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;
void setup () { // set the window size: size(600, 400);
// List all the available serial ports println(Serial.list()); // Check the listed serial ports in your machine // and use the correct index number in Serial.list()[].
myPort = new Serial(this, Serial.list()[6], 9600); //
// A serialEvent() is generated when a newline character is received : myPort.bufferUntil('\n'); background(0); // set inital background: } void draw () { // everything happens in the serialEvent() }
void serialEvent (Serial myPort) { // get the ASCII string: String inString = myPort.readStringUntil('\n'); if (inString != null) { inString = trim(inString); // trim off whitespaces. float inByte = float(inString); // convert to a number. inByte = map(inByte, 0, 1023, 0, height); //map to the screen height.
//Drawing a line from Last inByte to the new one. stroke(255,255,255); //stroke color strokeWeight(1); //stroke wider line(lastxPos, lastheight, xPos, height - inByte); lastxPos= xPos; lastheight= int(height-inByte);
// at the edge of the window, go back to the beginning: if (xPos >= width) { xPos = 0; lastxPos= 0; background(0,123,255); //Clear the screen. } else { // increment the horizontal position: xPos++; } } }