Advertisement
Guest User

Untitled

a guest
Sep 11th, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Introducir vector con señal de ECG
  2.  
  3. int senal[98]={128.6, 131.4, 134.2, 137.0, 139.8, 142.6, 145.4, 148.2, 151.1, 153.9, 156.7, 159.5, 162.3, 165.1, 167.9, 170.7, 167.7, 164.7, 161.7, 158.7, 155.7, 152.7, 149.7, 146.6, 143.6, 140.6, 137.6, 134.6, 131.6, 128.6, 128.5, 127.5, 118.3, 109.1, 99.9, 90.8, 107.2, 123.6, 140.0, 156.5, 172.9, 189.3, 205.7, 222.2, 238.6, 255.0, 231.6, 208.1, 184.7, 161.2, 137.8, 114.3, 90.9, 67.4, 44.0, 20.5, 41.9, 63.3, 84.7, 106.1, 127.5, 127.6, 129.6, 129.7, 131.0, 132.4, 133.8, 135.1, 136.5, 137.9, 139.2, 140.6, 142.0, 143.3, 144.7, 146.1, 147.5, 148.8, 150.2, 148.7, 147.3, 145.8, 144.3, 142.9, 141.4, 139.9, 138.5, 137.0, 135.5, 134.1, 132.6, 131.1, 129.7, 129.4, 129.1, 128.9, 128.6, 128.3};
  4.  
  5. const int pinin=A0; //definir pin de entrada analógica
  6.  
  7. const int pinout=5; //definir pin de salida digital (PWM)
  8.  
  9. int periodo = 1000; //PERIODO DE LA SEÑAL en milisegundos
  10.  
  11. int entrada =0; //variable de entrada analógica
  12.  
  13. float salida = 0; //variable de entrada convertida
  14.  
  15. void setup() {
  16.  
  17.     Serial.begin(9600);
  18.  
  19. pinMode(pinout, OUTPUT); //Declarar pinout como salida
  20.  
  21.             pinMode(pinin,INPUT); //Declarar pinin como entrada
  22.  
  23. }
  24.  
  25. //A partir de aquí generamos la frecuencia de la señal de ECG
  26.  
  27. void loop() {
  28.  
  29. entrada = analogRead(pinin);        //lectura analógica (potenciómetro)
  30.  
  31. salida=map(entrada, 0, 1023, 1,100);    //lectura analógica convertida a rango 1 a 100
  32.  
  33. float periodo_ajustado = periodo/salida;    //Se define el periodo que tendrá la señal
  34.  
  35. Serial.println(200);
  36.  
  37. //SI QUEREMOS MÁS FRECUENCIA, MAPEAR SALIDA DE 1 A 1000
  38.  
  39. //INICIO DEL CICLO
  40.  
  41. for(int i=1;i<98;i++){  //Se crea un ciclo for para leer e imprimir cada valor del vector ECG
  42.  
  43.     Serial.println(senal[i]);       //Se lee cada valor del vector
  44.  
  45.     analogWrite(pinout,senal[i]);   //Se obtiene señal analógica en el pin de salida
  46.  
  47. }
  48.  
  49. Serial.println(127);        //Se imprime el “127” analógico durante el periodo de espera analogWrite(pinout,127);  // entre cada ciclo
  50.  
  51. delay(periodo_ajustado);    //Se deja el tiempo de espera calculado anteriormente que               // será modificado con el Potenciómetro
  52.  
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement