Comment puis-je sentir quand quelqu'un dort avec mon Arduino?

15

Ignorez le titre de type harceleur.

Je pense à créer un projet avec Arduino qui puisse détecter vos habitudes de sommeil, quand vous dormez et combien vous dormez. Il serait pratique de ne pas avoir à l’allumer / éteindre la nuit; il devrait savoir comment procéder.

Quelques idées que j'ai:

  • Capteur de mouvement
  • Modèles de respiration (si un microphone Arduino pouvait même le détecter ... je serais surpris s'il le pouvait)
  • Une horloge RTC pourrait aider à décider qu'il est minuit. Habituellement, Steve ne dort pas en ce moment le vendredi. Il ne dort probablement pas maintenant. Il ne sera pas toujours là pour vous aider, mais vous pourrez peut-être essayer d'obtenir des résultats plus précis de cette façon

Comment puis-je accomplir cela? (Points supplémentaires pour une sorte d'algorithme qui peut distinguer la somnolence d'un sommeil profond.)

Pingouin anonyme
la source
1
Une façon de détecter l'état de sommeil d'une personne est probablement de mesurer les pulsations cardiaques et de détecter quand les pulsations descendent en dessous d'un seuil (différent pour chaque individu mais qui pourrait être "deviné" par le système après quelques jours de fonctionnement). Avec cela, vous pouvez même voir si la personne a eu des cauchemars (augmentation du pouls) :-) C'est intrusif (capteur de pouls) mais c'est aussi le seul moyen de connaître le sommeil d'une personne lorsque 2 sont dans la même pièce.
jfpoilpret
1
Le capteur d'ondes cérébrales Neurosky EEG fonctionne apparemment bien avec Arduino. Mesurer la fréquence. Jusqu'à 4 Hz -> veille NREM. Jusqu'à 8-9 Hz ---> veille REM. Au-dessus de 8-9 Hz jusqu'à 16 Hz ---> éveillé, mais les yeux fermés et détendus. Au-dessus de ça ---> éveillé.
Damon

Réponses:

13

En fait, j'ai fait quelque chose comme ça, en utilisant un capteur de mouvement PIR .

Le capteur de mouvement est assez bon pour détecter une personne qui s'endort, et mon algorithme simple ne compte que les mouvements par minute et lorsqu'il dépasse un seuil (trouvé par essais et erreurs), il déclenche l'alarme pour vous réveiller.

entrez la description de l'image ici

L'image ci-dessus représente les mouvements de mon corps pendant une nuit. Les pointes représentent un mouvement élevé / minute.

Ici, nous voyons qu'après environ 30 minutes, le mouvement du corps était minime. Cela suggère que j'étais dans une phase de sommeil plus profonde pendant cette période.

Le pic à 250 minutes (vers 4h30 du matin), c'est quand je me suis réveillé seulement pour réaliser que je pouvais dormir quelques heures de plus. Je me souviens qu'il était 4h38 quand j'ai regardé mon horloge et j'étais déjà face à elle. Cela signifie que je me suis retourné pour faire face à l'horloge mais que je me suis "réveillé" 8 minutes plus tard pour voir l'heure, puis je me suis retourné (indiqué par le pic plus court à 265).

Les données suggèrent que je n'ai pas pu dormir très bien (par rapport à la période comprise entre 30 et 240 minutes) après m'être réveillé une fois et me suis finalement levé à 400 minutes (7h00), lorsque j'ai tout arrêté.

Voici quelques articles de mon blog qui contiennent beaucoup plus d'informations.

sachleen
la source
1
Merci pour les liens sur votre blog. Une question que j'ai est de savoir comment décidez-vous que quelqu'un ne lit pas un livre ou ne regarde pas la télévision en faisant quelque chose sur un lit? Ce sont de bonnes données. Votre projet devait-il être désactivé lorsque vous vous êtes mis au lit?
Anonymous Penguin
Le mien est un réveil, il n'a donc qu'à détecter les mouvements pendant la demi-heure avant que l'alarme ne se déclenche. C'est donc la seule fois qui compte. Le graphique du jour au lendemain consiste simplement à collecter des données pour déterminer combien de mouvements / broches sont considérés comme "un sommeil léger, facile à réveiller"
sachleen
avez-vous des suggestions sur la façon de détecter si c'est juste inactif ou si c'est le sommeil? Je devrais peut-être faire certaines de mes propres données ...
Pingouin anonyme
Je verrais à quoi ressemble le graphique pour le sommeil par rapport à diverses activités. Pesez cela avec l'heure de la journée (plus susceptible de dormir à 3 heures du matin que de lire). Difficile à dire sans collecter beaucoup de données.
sachleen
1
Pour vous aider dans votre recherche sur Google, cette technique est appelée actigraphie. Wikipedia a une introduction décente. Un traitement du signal est apparemment nécessaire, mais rien de trop difficile ou de dépassant les capacités d'un arduino. Pour classer les étapes du sommeil (y compris l'éveil), je regarderais des articles académiques sur le sujet. Une chose à décider est de savoir si vous souhaitez placer les capteurs sur votre lit (facile, faible précision) ou sur votre poignet (plus dur, plus précis, et vous pouvez mesurer la température corporelle, la lumière ambiante et la conductivité cutanée).
jjm