Lámpara corazón facetado de detección pulso (5 / 9 paso)

Paso 5: programación

Si usted puede proporcionar críticas y soluciones alternativas con respecto a mi código, por favor hágalo! La programación es un poco más comprensible que electrónica general para mí, pero me siento perdida más a menudo que no.

Los comentarios están en el código - he añadido en un cuadro de texto y como un archivo adjunto .ino, la biblioteca puede encontrarse aquí. Si tiene problemas de ajuste el código de detección capacitiva y conexiones, cheque este video, me salvó. Biblioteca de fader de LED se puede encontrar aquí. Bosquejo de hacer la revista proceso fue utilizado para la visualización, se puede encontrar aquí.

Antes de escribir el código tuve que entender algunas cosas básicas implicadas en el funcionamiento del corazón y el circuito que hice para la medición del pulso que brevemente explicaré aquí.

El sensor hice utiliza una LDR como sensor parte. Una LDR tiene un rango de resistencia en la que la resistencia depende de la cantidad de luz que la alcanza. La luz allí es - cuanto menor es la resistencia y viceversa. En este caso lo que sentimos como un pulso es lo que sucede después de la válvula aórtica se abre y la sangre fluye a través de nuestro sistema circulatorio. Por lo tanto, en el momento del pulso de la cantidad de sangre en dedo es diferente que le da el cambio en la lectura. Si la sangre fue empujada a través del cuerpo por el corazón, significa que el corazón se vacía en el momento del golpe, por eso he escrito un código que se oscurece el corazón a 0 cuando pega y poco después inicia regulación a un valor mayor que representa el corazón llena de sangre. Como se puede ver en el Diagrama de Wiggers - el volumen principal del corazón es no poco a poco llenando de sangre hasta el siguiente golpe, pero hay una afluencia rápida donde la mayor parte del corazón se llena y luego algunas más durante la diastasis, hasta que comienza la fase de sístole auricular. Cada una de estas tres fases parecen tomar alrededor de un tercio del tiempo entre latidos, pero otro diagrama de un ciclo cardiaco proporciona aquí se dividió entre un eje de tiempo. Así que escribí el código de acuerdo con él: una pausa de aproximadamente 100 ms después de la fusión beat, luego rápida en 90% durante la próxima 150ms y un restante más lento se descoloran durante 200ms siguiente. Esto nos deja más de medio segundo hasta que el próximo beat para una tasa normal 60BPM, un completo fundido en hasta el siguiente bate hasta 130BPM y aún la mayor parte de aparece hasta 230BPM que es apenas físicamente posible en un ser humano, tal vez podría ser un problema si usted decidió medir el pulso de algunos animales más pequeños , pero no creo que tu Yorkshire Terrier sería demasiado bien con un pulso que sea. Lo importante es que esto soluciona el problema de tener promedio y predecir el tiempo entre latidos en código para cambiar los periodos de transición.

Código v1.1 para la lámpara del corazón facetado por Raitis. Visita http://snipegift.com para mis otros proyectos.
Completo tutorial para la lámpara en instructables:
#include
#include
#define LED_PIN 3
#define DIR_UP 1
#define DIR_DOWN -1
LEDFader conducido;
Dirección int = DIR_UP;

int flt = 5; luz del dedo
Lampon de CapacitiveSensor = CapacitiveSensor(4,2); interruptor principal
CapacitiveSensor hrson = CapacitiveSensor(4,6); interruptor de hrs
int h = 0; sensor de ritmo cardíaco

void setup() {}
pinMode (capitán, salida);
LED = LEDFader(LED_PIN);
LED.Fade(0,1);
}

void loop() {}
digitalWrite(flt,LOW);
LED.Update();
largo total1 = lampon.capacitiveSensor(30);
total2 largo = hrson.capacitiveSensor(30);
Si (total1 > 1600 & & led.get_value() > 0 & & led.is_fading() == false) {//turns lámpara off, el valor de capsense es diferente mientras que en USB y fuera de él, así que prueba tuyo
LED.Fade(0,1000);
Dirección = DIR_DOWN;
}
Si (total1 > 1600 & & led.get_value() == 0 & & led.is_fading() == false) {//turns lámpara en el descoloramiento == false condición evita apagar otra vez de un solo toque
LED.Fade(179,1000);
Dirección = DIR_UP;
}
mientras (total2 > 700) {//a bucle activo cuando el dedo se coloca en la placa de acero en el hoyo del dedo
LED.Update();
largo total1 = lampon.capacitiveSensor(30);
total2 largo = hrson.capacitiveSensor(30);
horas = analogRead(0); comienza leyendo el sensor de
digitalWrite (flt, HIGH); enciende la luz del dedo
Delay(1); para evitar el nerviosismo
Si (horas > 150) {//when la lectura de horas es superior a 150 es probablemente del pulso, no de ruido en mi caso. Depende en el transistor utilizado supongo.
LED.Fade(0,10); atenuación según cómo funciona el corazón
Dirección = DIR_DOWN;
LED.Fade(0,100);
Dirección = DIR_DOWN;
LED.Fade (225, 150);
Dirección = DIR_UP;
LED.Fade (255, 200);
Dirección = DIR_UP;
Delay(260); para evitar el nerviosismo hasta que se descolora a 225
}
¿Si (total2 < 150) {//why hago necesidad este si al mismo tiempo debe salir por debajo de 700 de todos modos?
LED.Fade (179, 1000); se desvanece hacia brillo estándar de 70% cuando la placa de acero no se toca ya
Dirección = DIR_DOWN;
rotura;
}
}
}

Como veis, no utilizo ningún suavizado para la entrada analógica. Hice prueba una versión con él sin embargo y descubrió que cuando se utiliza un medio de ejecución para un bajo número de lecturas, como 10, no es ninguna ventaja real de tenerlo. Promedio un mayor número de lecturas suaviza las cosas bastante bien, pero entonces hay un problema enorme retraso. Tengo una idea de una solución para ese retraso que probablemente eliminaría el nerviosismo al colocar el dedo (ver gif) probarlo y añadir alternativa código aquí si funciona, pero como ahora, este código estoy usando funciona y no tendría ningún problema de dejarlo como está.

Actualización: Probé una alternativa código con suavizado que reacciona a un cambio de tendencia en las lecturas promedio para identificar ritmo, pero al mismo tiempo el concepto funciona bien solo, solo no funciona como supone al intentar desaparecer. Reacciona al ritmo, pero inquietudes todo el tiempo cuando no. Si alguien realmente está haciendo esto y quiere darle una oportunidad, te puedo enviar un bosquejo del código alternativo. No subir aquí para evitar confusiones.

Artículos Relacionados

Lámpara de pie-movimiento y detección de tinieblas el amor

Lámpara de pie-movimiento y detección de tinieblas el amor

Coloque cerca de tu lugar favorito abrazo (funciona bien en el cuarto de baño, mesita de noche o en cualquier lugar que se puede utilizar algunos iluminación suave) para luz suave instantánea. Imaginar lo que un ser querido (o previsto querido) a su
Latido del corazón para el sensor de pulso + ESP8266

Latido del corazón para el sensor de pulso + ESP8266

Como parte de un deseo de aprender sobre ESP8266 independientePensé en un proyecto para conectar sensor de pulso y transmitir el BPM al ordenador mediante conexión TCP.Durante la construcción, me encontré con algunos problemas.Los problemas por mi op
Chaqueta de NeoPixel corazón LED Sensor

Chaqueta de NeoPixel corazón LED Sensor

Empezar tratando de buscar como Iron Man, terminan pensando un poco en su humanidad, tienen un montón de diversión en el proceso. Este proyecto está destinado a producir y efecto interesante e inesperado de una fuente que tomamos para concedido, nues
Lámpara RGB de detección de sonido usando Arduino

Lámpara RGB de detección de sonido usando Arduino

Hola,Para comenzar con este proyecto no está terminado todavía!En este proyecto estoy haciendo una lámpara con múltiples colores con leds RGB. Mi idea es intentar dejar la lámpara cambia de color si detecta un sonido en la zona. Si te molesta de los
Corazón de San Valentín - lámpara decorativa conocida como tierra de corazones

Corazón de San Valentín - lámpara decorativa conocida como tierra de corazones

amor inspira!!!! ¿no es? Eso es exactamente lo que sucedió cuando pensé en hacer algo para mi amada para día de San Valentín. Llamo a este centro porque tiene tantos corazones (espejos de arte en forma de corazón) y que representa (según por lo menos
Lámpara de detección de movimiento

Lámpara de detección de movimiento

estoy usando unidad de microcontrolador PIC12F683 (MCU) y Sensor de infrarrojos pasivo (PIR Sensor) como componentes principales en este proyecto.PIR detecta el movimiento de un cuerpo caliente. Se analizó el patrón de entorno para determinar si hay
Azulejo de lámpara colgante - marrón con corazón Rosa de cristal

Azulejo de lámpara colgante - marrón con corazón Rosa de cristal

este azulejo marrón con un colgante de corazón de color rosa se hace de un azulejo de vidrio alterado de la tienda de mejoras para el hogar. El azulejo está pintado de marrón y adornado con un corazón Rosa y naranja levantado. El corazón es la espuma
Auto lámpara de detección oscuro

Auto lámpara de detección oscuro

Hola, para la primera "instructable" quiero construir una lámpara o linterna que se enciende en algunos momentos de oscuridad.Esta es la lista de lo que necesitas!1 - algunos sonrían. :-)2 - Transistors(x2) BC5473 - 1N40001 o 1N40007 Diod (x1)4
Lámpara de entrada con Base de corcho y malla sombra de la esfera

Lámpara de entrada con Base de corcho y malla sombra de la esfera

Para mi primer instructivo, quiero compartir un proyecto rápido y sencillo que hice recientemente como parte de un regalo de cumpleaños para mi esposa. Es fácil de construir y puede realizarse en pocas horas.En nuestra casa, hemos estado hablando ace
OiO - una lámpara de escritorio que tiene un alma

OiO - una lámpara de escritorio que tiene un alma

Su nombre es "oiO", él es un robot de la lámpara de escritorio, pero piensa que tiene un alma. Honestamente, no puedo negar...La idea de construir oiO, vino de mi respeto a simple objeto que se pone alrededor, que juega un grande, y generalmente
USB lámpara de camaleón (replicación de Color)

USB lámpara de camaleón (replicación de Color)

Otra forma impresionante con su propio Sensor de Color es un "Color y lámpara de replicación" o simplemente una lámpara camaleón. La lámpara camaleón es un proyecto super easy para construir que puede ser utilizado como una luz de noche o simple
Lámpara - hormigón esto fue un fracaso

Lámpara - hormigón esto fue un fracaso

Hace unas semanas mi esposa vino de IKEA y se me hizo esta lámpara NITTIO . Bastante tiempo que no sabía dónde utilizarlo hasta que vi algunos videos en Youtube de personas que utilizan el concreto para la base de la lámpara. Quería probar esto.VIDEO
Cómo hacer madera, USB accionado, lámpara de LED de porte angular

Cómo hacer madera, USB accionado, lámpara de LED de porte angular

¡Hola! En este instructable, te voy a mostrar cómo hacer tu propia lámpara de porte angular LED con USB de madera. Usted podría upcycle algunos rasgada hacia abajo la plataforma de madera para añadir carácter o simplemente uso tiras de pino como lo h
Bombilla LED de corazón para el día de San Valentín

Bombilla LED de corazón para el día de San Valentín

Para el día de San Valentín de este año he creado un corazón llevó una lámpara de bombilla de luz.Paso 1: Vea el video!Por favor Suscríbete a mi canal de YouTube!http://www.techydiy.org http://Facebook.com/techydiyhttp://Twitter.com/techydiyPaso 2: P