#include // Incluimos la librería de Adafruit #include #ifdef __AVR__ #include // Required for 16 MHz Adafruit Trinket #endif #define NUMPIXELS 12 // ¿Cuántos neopixels? Cada pixel tiene 20mA #define PIN 2 // Definir PIN de salida del microcontrolador int tonePin = 4; // Buzzer Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); // Colocamos datos el KHZ800 es mas frecuente PulseSensorPlayground pulseSensor; int PulseSensorPurplePin = 28; // variable, espacio en la memoria de arduino, numeros enteros int Signal; // datos sin procesar de 0-1024 int Threshold = 514; // determina que señal cuenta como latido void setup() { pixels.begin(); // INITIALIZE NeoPixel (REQUIRED) pixels.show(); // Muestra los datos pixels.setBrightness(150); // Máximo 255, fija el brillo Serial.begin(9600); // Comunicación serial } void loop() { pixels.clear(); Signal = analogRead(PulseSensorPurplePin); // Leer el valor // asignar a signal Serial.println(Signal); // Envía el valor de la señal a Serial Plotter. if(Signal > Threshold){ // Condición, si mi señal esta arriba de "9600", realiza la siguiente acción pixels.rainbow (0,1,150,100); // primer led, primer pixel, división de la tira, saturación del color máximo 255, intensidad del color pixels.show(); // Actualiza y muestra el color tone(tonePin, 923, 30.0); delay(33.3333333333); delay(329.166666667); tone(tonePin, 791, 142.5); delay(158.333333333); delay(8.33333333333); tone(tonePin, 749, 37.5); delay(41.6666666667); delay(158.333333333); delay(445.833333333); } else { pixels.clear(); pixels.rainbow (0,0,0,0); // primer led, primer pixel, división de la tira, saturación del color máximo 255, intensidad del color pixels.show(); // Else, the sigal must be below "9600", so "turn-off" this LED. } delay(10); }