Como posso sentir quando alguém está dormindo com meu Arduino?

15

Ignore o título parecido com um perseguidor.

Estou pensando em criar um projeto com o Arduino que possa detectar seus hábitos de sono, quando estiver dormindo e o quanto você dorme. Seria conveniente não ter que ligar / desligar à noite; deve saber como fazer isso.

Algumas idéias que tenho:

  • Sensor de movimento
  • Padrões de respiração (se um microfone Arduino pudesse escolher isso ... eu ficaria surpreso se pudesse)
  • Um relógio RTC pode ajudar a decidir que é meia-noite. Normalmente, Steve não está dormindo no momento às sextas-feiras. Ele provavelmente não está dormindo agora. Nem sempre existe para ajudá-lo, mas você pode tentar obter resultados mais precisos dessa maneira

Como posso fazer isso? (Pontos extras para algum tipo de algoritmo que pode dizer cochilar após um sono profundo.)

Pinguim anônimo
fonte
11
Provavelmente, uma maneira de detectar o estado de sono de alguém é medir os pulsos cardíacos e detectar quando os pulsos ficam abaixo de um limite (diferente para cada indivíduo, mas que pode ser "adivinhado" pelo sistema após alguns dias). Com isso, você pode até ver se a pessoa teve alguns pesadelos (aumento de pulso) :-) Isso é intrusivo (sensor de pulso), mas também é a única maneira de saber sobre o sono de UMA pessoa quando duas estão na mesma sala.
jfpoilpret
11
O sensor de ondas cerebrais EEG da Neurosky aparentemente funciona bem com o Arduino. Meça a frequência. Até 4Hz -> sono NREM. Até 8-9Hz ---> sono REM. Acima de 8-9 Hz até 16Hz ---> acordado, mas com os olhos fechados e relaxados. Acima disso ---> acordado.
Damon

Respostas:

13

Na verdade, fiz algo parecido com isso, usando um sensor de movimento PIR .

O sensor de movimento é bom o suficiente para detectar uma pessoa que dorme durante o sono, e meu algoritmo simples conta apenas os movimentos por minuto e quando está acima de um limite (encontrado por tentativa e erro), soa o alarme para acordá-lo.

insira a descrição da imagem aqui

A imagem acima representa os movimentos do meu corpo durante uma noite. Os picos representam altos movimentos / minuto.

Aqui vemos que após cerca de 30 minutos o movimento do corpo era mínimo. Isso sugere que eu estava em um estágio mais profundo do sono durante esse período.

O pico aos 250 minutos (por volta das 4h30) é quando acordei e percebi que poderia dormir por mais algumas horas. Lembro-me das 4h38 em que olhei para o meu relógio e já estava de frente para ele. Isso significa que me virei para encarar o relógio, mas na verdade "acordei" 8 minutos depois para ver a hora e depois voltei (indicado pelo pico mais curto em 265).

Os dados sugerem que eu não consegui dormir muito bem (comparado ao período entre 30 e 240 minutos) depois de acordar uma vez e finalmente me levantar aos 400 minutos (7:00 da manhã), quando eu desligava tudo.

Aqui estão algumas postagens do meu blog que contêm muito mais informações.

sachleen
fonte
11
Obrigado pelos links do seu blog. Uma pergunta que tenho é como você decide que alguém não está lendo um livro ou assistindo TV enquanto faz algo enquanto está na cama? São alguns bons dados. Você projetou que precisava ser desligado quando se deitou?
Anonymous Penguin
O meu é um despertador, portanto, ele só precisa detectar movimentos durante meia hora antes do alarme disparar. Então essa é a única vez que importa. O gráfico de noite é apenas para dados coletamos para descobrir como muitos movimentos / pino é considerado "sono leve, fácil de acordar"
sachleen
você tem alguma sugestão sobre como detectar se está ocioso ou se está dormindo? Eu poderia ter de fazer alguns dos meus próprios dados ...
Anônimo Pinguim
Eu veria como o gráfico procura dormir versus várias atividades. Pese isso com a hora do dia (é mais provável que você durma às três da manhã do que lendo). Difícil dizer sem coletar muitos dados.
sachleen
11
Para ajudá-lo no seu Google, essa técnica é chamada actigrafia. A Wikipedia tem uma introdução decente. Aparentemente, é necessário algum processamento de sinal, mas nada muito difícil ou além das capacidades de um arduino. Para classificar os estágios do sono (inclusive os acordados), eu examinaria os trabalhos acadêmicos sobre o assunto. Uma coisa a decidir é se você deseja colocar os sensores em sua cama (fácil, com baixa precisão) ou no pulso (mais forte, mais preciso, e você pode medir a temperatura do corpo, a luz ambiente e a condutividade da pele).
jjm