¿Cómo puedo sentir cuando alguien está durmiendo con mi Arduino?


15

Ignora el título de acosador.

Estoy pensando en crear un proyecto con Arduino que pueda detectar tus hábitos de sueño, cuándo estás dormido y cuánto duermes. Sería conveniente no tener que encenderlo / apagarlo por la noche; debería saber cómo hacer esto.

Algunas ideas que tengo:

  • Sensor de movimiento
  • Patrones de respiración (si un micrófono Arduino pudiera identificarlo ... me sorprendería si pudiera)
  • Un reloj RTC podría ayudar a decidir que es medianoche. Usualmente, Steve no está dormido en este momento los viernes. Probablemente no esté durmiendo ahora. No siempre estará allí para ayudarlo, pero puede intentar obtener resultados más precisos de esta manera

¿Cómo puedo lograr esto? (Puntos adicionales para algún tipo de algoritmo que puede distinguir la posibilidad de quedarse dormido de un sueño profundo).


1
Probablemente, una forma de detectar el estado de sueño de alguien es medir los pulsos cardíacos y detectar cuándo los pulsos están por debajo de un umbral (diferente para cada individuo, pero eso podría ser "adivinado" por el sistema después de unos días de funcionamiento). Con esto, incluso podría ver si la persona tuvo algunas pesadillas (aumento del pulso) :-) Eso es intrusivo (sensor de pulso) pero también es la única forma de saber sobre el sueño de UNA persona cuando 2 están en la misma habitación.
jfpoilpret

1
El sensor de ondas cerebrales EEG de Neurosky aparentemente funciona bien con Arduino. Medir frecuencia. Hasta 4Hz -> suspensión NREM. Hasta 8-9Hz ---> sueño REM. Por encima de 8-9 Hz hasta 16Hz ---> despierto, pero con los ojos cerrados y relajados. Por encima de eso ---> despierto.
Damon

Respuestas:


13

Realmente hice algo como esto, usando un sensor de movimiento PIR .

El sensor de movimiento es lo suficientemente bueno como para detectar a una persona girando mientras duerme, y mi algoritmo simple solo cuenta los movimientos por minuto y cuando está por encima de un umbral (encontrado por prueba y error), suena la alarma para despertarlo.

ingrese la descripción de la imagen aquí

La imagen de arriba representa los movimientos de mi cuerpo durante una noche. Los picos representan un alto movimiento / minuto.

Aquí vemos que después de unos 30 minutos, el movimiento corporal fue mínimo. Esto sugiere que estaba en una etapa más profunda del sueño durante ese tiempo.

El pico a los 250 minutos (alrededor de las 4:30 a.m.) es cuando me desperté solo para darme cuenta de que podía dormir un par de horas más. Recuerdo que eran las 4:38 cuando miré mi reloj y ya estaba frente a él. Esto significa que me di la vuelta para mirar el reloj, pero en realidad "me desperté" 8 minutos después para ver la hora, y luego me di la vuelta (indicado por el pico más corto en 265).

Los datos sugieren que no pude dormir muy bien (en comparación con el período de tiempo entre 30 y 240 minutos) después de despertarme una vez y finalmente me levanté a los 400 minutos (7:00 a.m.), cuando cerré todo.

Aquí hay un par de publicaciones de mi blog que tienen mucha más información.


1
Gracias por los enlaces en tu blog. Una pregunta que tengo es cómo decide que alguien no está leyendo un libro o viendo televisión mientras hace algo mientras está en la cama. Es un buen dato. ¿Tu proyecto necesitaba ser apagado cuando te metiste en la cama?
Anonymous Penguin

El mío es un reloj despertador, por lo que solo necesita detectar movimientos durante la media hora antes de que suene la alarma. Entonces esa es la única vez que importa. El gráfico de la noche a la mañana es solo para recopilar datos para determinar cuántos movimientos / pin se considera "sueño ligero, fácil de despertar"
sachleen

¿Tiene alguna sugerencia sobre cómo detectar si está inactivo o si está inactivo? Puede que tenga que hacer algunos de mis propios datos ...
Anonymous Penguin

Vería cómo se ve el gráfico para dormir frente a diversas actividades. Pese eso con la hora del día (es más probable que esté durmiendo a las 3 a.m. que leyendo). Difícil de decir sin recopilar muchos datos.
sachleen

1
Para ayudarlo a buscar en Google, esta técnica se llama actigrafía. Wikipedia tiene una introducción decente. Aparentemente es necesario cierto procesamiento de señal, pero nada demasiado difícil o más allá de las capacidades de un arduino. Para clasificar las etapas del sueño (incluido el estado de vigilia), miraría los documentos académicos sobre el tema. Una cosa que debe decidir es si desea colocar los sensores en su cama (fácil, de baja precisión) o en su muñeca (más duro, más preciso, y puede medir la temperatura corporal, la luz ambiental y la conductividad de la piel).
jjm
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.