Come posso percepire quando qualcuno dorme con il mio Arduino?


15

Ignora il titolo da stalker.

Sto pensando di creare un progetto con Arduino in grado di percepire le tue abitudini di sonno, quando dormi e quanto dormi. Sarebbe conveniente non doverlo accendere / spegnere di notte; dovrebbe sapere come farlo.

Alcune idee che ho:

  • Sensore di movimento
  • Schemi di respirazione (se un microfono Arduino fosse in grado di individuarlo ... Sarei sorpreso se potesse)
  • Un orologio RTC potrebbe aiutare a decidere che è mezzanotte. Di solito, Steve non dorme in questo momento il venerdì. Probabilmente non sta dormendo ora. Non sarà sempre lì per aiutarti, ma potresti essere in grado di provare a ottenere risultati più precisi in questo modo

Come posso farlo? (Punti extra per una sorta di algoritmo che può dire sonnecchiare da un sonno profondo.)


1
Probabilmente un modo per rilevare lo stato di sonno di qualcuno è misurare gli impulsi cardiaci e rilevare quando gli impulsi scendono al di sotto di una soglia (diversa per ogni individuo ma che potrebbe essere "indovinata" dal sistema dopo alcuni giorni). Con questo, potresti anche vedere se la persona ha avuto degli incubi (aumento delle pulsazioni) :-) Questo è invadente (sensore delle pulsazioni) ma è anche l'unico modo per conoscere il sonno di UNA persona quando 2 sono nella stessa stanza.
jfpoilpret,

1
Il sensore di onde cerebrali EEG Neurosky sembra funzionare bene con Arduino. Misurare la frequenza. Fino a 4Hz -> NREM sleep. Fino a 8-9Hz ---> REM sleep. Sopra 8-9 Hz fino a 16Hz ---> sveglio, ma gli occhi chiusi e rilassati. Sopra quello ---> sveglio.
Damon,

Risposte:


13

In realtà ho fatto qualcosa del genere, usando un sensore di movimento PIR .

Il sensore di movimento è abbastanza buono da rilevare una persona che gira nel sonno e il mio semplice algoritmo conta solo i movimenti al minuto e quando supera una soglia (rilevata da tentativi ed errori), suona l'allarme per svegliarti.

inserisci qui la descrizione dell'immagine

L'immagine sopra rappresenta i movimenti del mio corpo durante la notte. I picchi rappresentano movimenti / minuti elevati.

Qui vediamo che dopo circa 30 minuti il ​​movimento del corpo era minimo. Ciò suggerisce che ero in una fase più profonda del sonno durante quel periodo.

Il picco a 250 minuti (intorno alle 4:30 del mattino) è quando mi sono svegliato solo per rendermi conto che avrei potuto dormire per un paio d'ore in più. Ricordo l'ora 4:38 quando ho guardato il mio orologio e lo stavo già affrontando. Questo significa che mi sono girato per guardare l'orologio, ma in realtà "mi sono svegliato" 8 minuti dopo per vedere l'ora, e poi mi sono girato di nuovo (indicato dal picco più corto a 265).

I dati suggeriscono che non sono riuscito a dormire molto bene (rispetto al periodo di tempo tra 30 e 240 minuti) dopo essermi svegliato una volta e finalmente mi sono alzato a 400 minuti (7:00), quando ho chiuso tutto.

Ecco un paio di post dal mio blog che contengono molte più informazioni.


1
Grazie per i collegamenti sul tuo blog. Una domanda che ho è come decidi che qualcuno non sta leggendo un libro o guardando la TV mentre fa qualcosa mentre è a letto? Sono alcuni buoni dati. Il tuo progetto ha bisogno di essere spento quando sei entrato nel letto?
Pinguino anonimo

La mia è una sveglia, quindi deve solo rilevare i movimenti durante la mezz'ora prima che la sveglia si attivi. Quindi è l'unica volta che conta. Il grafico notturno è solo per raccogliere dati per capire quanti movimenti / pin sono considerati "sonno leggero, facile da svegliare"
sachleen

hai qualche suggerimento su come rilevare se è solo inattivo o se dorme? Potrei dover fare alcuni dei miei dati ...
Anonymous Penguin

Vedrei come il grafico cerca il sonno rispetto alle varie attività. Pesalo con l'ora del giorno (è più probabile che dorma alle 3 del mattino rispetto alla lettura). Difficile dirlo senza raccogliere molti dati.
sachleen,

1
Per aiutarti con il tuo googling, questa tecnica si chiama actigrafia. Wikipedia ha un'introduzione decente. Apparentemente è necessaria una certa elaborazione del segnale, ma nulla di troppo difficile o al di là delle capacità di un arduino. Per classificare le fasi del sonno (incluso il risveglio), guarderei i documenti accademici sull'argomento. Una cosa da decidere è se vuoi mettere i sensori sul tuo letto (facile, bassa precisione) o sul tuo polso (più duro, più preciso e puoi misurare la temperatura corporea, la luce ambientale e la conduttività della pelle).
jjm
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.