Bagaimana saya bisa merasakan ketika seseorang tidur dengan Arduino saya?

15

Abaikan judul seperti penguntit.

Saya sedang berpikir tentang membuat proyek dengan Arduino yang dapat merasakan kebiasaan tidur Anda, ketika Anda tidur, dan seberapa banyak Anda tidur. Akan lebih mudah untuk tidak menyalakan / mematikannya di malam hari; harus tahu bagaimana melakukan ini.

Beberapa ide yang saya miliki:

  • Sensor gerak
  • Pola pernapasan (jika mikrofon Arduino bahkan dapat memilihnya ... saya akan terkejut jika itu bisa)
  • Jam RTC dapat membantu memutuskan tengah malam. Biasanya, Steve tidak tidur saat ini pada hari Jumat. Dia mungkin tidak tidur sekarang. Ini tidak selalu ada untuk membantu Anda, tetapi Anda mungkin dapat mencoba untuk mendapatkan hasil yang lebih akurat dengan cara ini

Bagaimana saya bisa mencapai ini? (Poin ekstra untuk beberapa jenis algoritma yang dapat membedakan dari tidur nyenyak.)

Penguin Anonim
sumber
1
Mungkin salah satu cara untuk mendeteksi keadaan tidur seseorang adalah dengan mengukur denyut jantung, dan mendeteksi kapan denyut nadi di bawah ambang batas (berbeda untuk setiap individu tetapi itu bisa "ditebak" oleh sistem setelah beberapa hari berjalan). Dengan ini, Anda bahkan dapat melihat apakah orang tersebut memiliki mimpi buruk (peningkatan denyut nadi) :-) Itu mengganggu (sensor pulsa) tetapi juga satu-satunya cara untuk mengetahui tentang tidur SATU orang ketika 2 berada di ruangan yang sama.
jfpoilpret
1
Sensor gelombang otak EEG Neurosky tampaknya bekerja dengan baik dengan Arduino. Mengukur frekuensi. Hingga 4Hz -> tidur NREM. Hingga 8-9Hz ---> REM sleep. Di atas 8-9 Hz hingga 16Hz ---> terjaga, tetapi mata tertutup dan santai. Di atas itu ---> bangun.
Damon

Jawaban:

13

Saya sebenarnya melakukan sesuatu seperti ini, menggunakan sensor PIR Motion .

Sensor geraknya cukup baik untuk mendeteksi seseorang yang sedang tidur, dan algoritma sederhana saya hanya menghitung gerakan per menit dan ketika itu melebihi ambang batas (ditemukan melalui percobaan dan kesalahan), itu membunyikan alarm untuk membangunkan Anda.

masukkan deskripsi gambar di sini

Gambar di atas mewakili gerakan tubuh saya pada malam hari. Paku mewakili gerakan tinggi / menit.

Di sini kita lihat setelah sekitar 30 menit gerakan tubuh sangat minim. Ini menunjukkan bahwa saya berada dalam tahap tidur yang lebih dalam selama waktu itu.

Lonjakan pada 250 menit (sekitar 4:30 pagi) adalah ketika saya bangun hanya untuk menyadari bahwa saya bisa tidur selama beberapa jam lebih lama. Saya ingat waktu 4:38 ketika saya melihat jam saya dan saya sudah menghadapinya. Ini berarti saya berbalik menghadap jam tetapi sebenarnya "bangun" 8 menit kemudian untuk melihat waktu, dan kemudian berbalik (ditunjukkan oleh lonjakan yang lebih pendek di 265).

Data menunjukkan saya tidak bisa tidur nyenyak (dibandingkan dengan periode waktu antara 30 dan 240 menit) setelah bangun sekali dan akhirnya bangun pada 400 menit (7:00 pagi), ketika saya menutup semuanya.

Berikut adalah beberapa posting dari blog saya yang memiliki lebih banyak informasi.

sachleen
sumber
1
Terima kasih atas tautannya di blog Anda. Satu pertanyaan yang saya miliki adalah bagaimana Anda memutuskan bahwa seseorang tidak membaca buku atau menonton TV sambil melakukan sesuatu saat di tempat tidur? Ini adalah beberapa data yang bagus. Apakah Anda memproyeksikan perlu dimatikan ketika Anda naik ke tempat tidur?
Anonymous Penguin
Milik saya adalah jam alarm sehingga hanya perlu mendeteksi gerakan selama setengah jam sebelum alarm berbunyi. Jadi hanya itu yang penting. Grafik semalam hanya untuk mengumpulkan data untuk mencari tahu berapa banyak gerakan / pin dianggap "tidur nyenyak, mudah dibangunkan"
sachleen
apakah Anda punya saran tentang cara mendeteksi apakah itu hanya menganggur atau tidur? Saya mungkin harus melakukan beberapa data saya sendiri ...
Anonymous Penguin
Saya akan melihat bagaimana grafik terlihat untuk tidur vs berbagai aktivitas. Timbang bahwa dengan waktu (lebih cenderung tidur 3:00 daripada membaca). Sulit dikatakan tanpa mengumpulkan banyak data.
sachleen
1
Untuk membantu Anda menggunakan googling, teknik ini disebut actigraphy. Wikipedia memiliki intro yang layak. Beberapa pemrosesan sinyal tampaknya diperlukan, tetapi tidak ada yang terlalu sulit atau di luar kemampuan arduino. Untuk mengklasifikasikan tahap tidur (termasuk bangun), saya akan melihat makalah akademis tentang masalah ini. Satu hal yang perlu diputuskan adalah apakah Anda ingin meletakkan sensor di tempat tidur Anda (mudah, akurasi rendah), atau di pergelangan tangan Anda (lebih keras, lebih akurat, dan Anda dapat mengukur suhu tubuh, cahaya sekitar, dan konduktivitas kulit).
jjm