Pull to refresh

Моя версия «прибора для осознанных сновидений» – краткая история и описание первой версии

Reading time8 min
Views44K
Примечание: статья написана исключительно в ознакомительных целях, и не является призывом к повторению подобных экспериментов дома ввиду потенциального риска причинения вреда физическому здоровью (в случае использования в приборах Li-ion аккумуляторов и фоторезисторов).

Доброго времени суток, уважаемые хаброюзеры и хаброчтители) Это – моя первая серьезная статья на Хабре, посему СУДИТЕ МАКСИМАЛЬНО СТРОГО, обещаю работать над стилем и содержанием.

Коротко о себе. По образованию – приборостроенец, магистр. Род деятельности: предприниматель, являюсь сооснователем сети детских кружков робототехники Робокор. Во время учёбы в ВУЗе занимался разного рода изысканиями в области медицинской измерительной техники.

Давненько собирался рассказать об этих своих разработках, да всё руки не доходили…
Предыстория. С детства я часто видел очень яркие и сюжетные сны. Настолько сюжетные и яркие, что не ленился лет с семи с завидным упорством вести дневник сновидений. И вот, как-то раз, в далёком 2014 году, попала ко мне в руки любопытная книга, называвшаяся «Хакеры сновидений». Надо ли говорить, как сильно меня заинтересовало явление, вокруг которого выстраивалось повествование? Особенно при учёте дневника, перевалившего в объёме за 2 тетрадки по 96 листов каждая, а с 2012 – ведущегося на компьютере.

Беглая гуглёжка, после значительной антиэзотерической фильтрации, вывела меня на научные наработки по сабжу. Как оказалось, начало изучению ОС ещё в первой половине XX века положил некий голландский психолог, Фредерик Ван Эден. Его статья, “A Study of Dreams” (Proceedings of the Society for Psychical Research, том 26, стр. 431), имевшая целью классифицировать сновидения, содержала в себе термин «lucid dreams», что дословно переводится как «ясные сны». Насколько мне известно, это было первое упоминание данного феномена в научных кругах.

Минули годы, но лишь в 1975 году учёным Кетом Херном (Keith Hearne, Hull (England) University’s sleep-laboratory) был проведён опыт, научно доказавший существование ОС. В результате эксперимента подопытный Алан Уорли показал осознанные и спланированные заранее движения глазами, когда по всем показаниям приборов он находился в состоянии сна. Этот эксперимент через некоторое время был проведен повторно ученым Стивеном Лабержем из университета в Стэнфорде.

О результатах опыта стало широко известно, так как Лаберж внес огромный вклад в популяризацию данной тематики. Также этот учёный предложил концепцию устройства, названного «индуктором осознанных сновидений», которое позволило бы любому человеку, даже без долгой тренировки, войти в состояние ОС…

После того, как я прочёл об индукторе ОС, спать спокойно я больше не мог. Душа ардуинщика воспылала невероятным приливом энтузиазма! Дело в том, что к тому времени я уже начитался о разного рода практиках, позволяющих осознаться во сне, и все они ну никак не давали результата без долгих тренировок и работы над собой. А сновидениями порулить-то охота!)

Изучив всё многообразие индукторов ОС, которыми пестрел рынок, а также базу самоделок, коих в Сети также было немало, я набросал стандарт, суть которого сводилась к такой формулировке: «сделать не Remee, а ближе к Dreamstalker, но только удобнее». Технические требования сводились к таким четырём пунктам:

  1. Прибор должен достоверно определять фазу быстрого сна (а не «гадать на NE555», как было, судя по описаниям, в ранних версиях маски Remee);
  2. Прибор должен быть компактным и не должен мешать процессу сна;
  3. Прибор должен уметь собирать и отображать информацию о процессе сна, чтобы проводить реальные исследования, а не просто играться в ОС;
  4. Прибор должен быть безопасным в использовании.

Такие вот требования… Нехило для того, кто на тот момент едва-едва прикоснулся к основам работы с операционными усилителями, и вообще слабо разбирался в схемотехнике) Однако «молодо-зелено», и я приступил к разработке.

Для начала я решил озадачиться самым простым вопросом: а какие именно физиологические параметры изменяются во время сна? Результатом поисков стала вот такая таблица (если кто может дополнить – пишите в комментах, буду очень рад):



Твёрдые знания школьного курса биологии и физики, вкупе со средненькими навыками программирования на С++ и LabVIEW, а также владение некоторой информацией из области измерительной техники, позволили мне разработать структурную схему прибора. Выглядела она примерно так:



Логика была следующая. Чтобы не городить измерительную лабораторию на лбу человека (и не уподобиться рабочей, но жутко неудобной маске Dreamstalker), следовало все измерительные блоки из маски убрать. Тем более что найденные схемы оптических окулографов были либо слишком сложными, либо чрезвычайно громоздкими. А как же регистрировать окулограмму, спросите вы? Ведь движения глаз во сне являются наиболее достоверным признаком фазы быстрого сна!

Ну, тогда я решил, что раз сердцебиение тоже каким-то-там образом меняется, то можно будет фазу быстрого сна отыскать и по нему. Таким образом в приборе появился некий браслет, с датчиком пульса на борту. А в маске остался только блок радиоприёмника и горстка светодиодов, которые должны были включаться по команде с компьютера.

Логичный вопрос: зачем тут компьютер, и почему нельзя было сразу отправлять команды от браслета, когда он обнаруживал бы нужные изменения сердечного ритма? Во-первых, я не знал, какие именно изменения считать «нужными». Более того, вообще слабо представлял на тот момент, как выглядит график пульса человека, что такое кардиоинтервалограмма и вариабельность сердечного ритма… Во-вторых, разные сложные алгоритмы в графической среде разработки писать куда проще и нагляднее, а поиск нужной фазы сна по сердцебиению явно к простым алгоритмам не относился, и потому – LabVIEW в помощь.

Схемотехника

Маска:

  1. Платформа Arduino Micro Pro (на камне ATmega32U4)
  2. Светодиоды WS2812B
  3. Стандартный модуль радиоприёмника с несущей частотой 433 МГц
  4. Li-ion аккумулятор на 200 мАч
  5. Модуль зарядки для аккумулятора на микросхеме ТР4056

По порядку о выборе компонентов. Платформа Micro Pro была выбрана в силу компактности (обусловленной отсутствием CH3400 и наличием встроенного PLL и USB, но это лирика), а также низкого энергопотребления и просто приятного внешнего вида.

Адресные RGB-светодиоды я выбрал потому что хотел посмотреть, не будет ли коррелировать частота попаданий в ОС с цветом стимулирующего воздействия. Знаю, что звучит так себе, но кто его знает, правда?)

Модуль на 433 МГц выбрал в силу двух причин: потому что из беспроводной связи тогда больше ничего ещё не пробовал, ну и потому что не знал, какую колоссальную свинью этот модуль мне подложит… Когда дело дошло до тестов, выяснилось, что скрупулёзно отмеренная антенна, пришитая по контуру маски, находясь вблизи тела, работать в принципе не может. Как мне объяснили в группе «Радиолюбитель», куда я иногда обращаюсь с вопросами, из-за того, что тело человека имеет некоторую ёмкость, весьма значительную, и из-за этого сбивается частота приёмника, так как в нём есть колебательный контур, и лишняя ёмкость ему мешает. Не всё ту понимаю, не хочу позориться, скажу лишь, что на тот момент эксперименты с маской я провести не смог.

Аккумулятор я выбрал по причине компактности, поступившись требованием к безопасности: литий-ионник, закреплённый на переносице, хоть и имел маленькую ёмкость, при взрыве мог повредить глаза. Поэтому я как мог упаковал его в пластик со стороны, прилегающей к лицу, и оставил открытой противоположную сторону. На компактность конструкции это повлияло не сильно, а спокойствия добавило, пусть и необоснованного.

С модулем зарядки всё просто: он является чуть ли не отраслевым стандартом для всякого рода самоделок, и тут я ни о чём не парился.

Браслет:

  1. Платформа Arduino Nano
  2. Самодельный оптический датчик пульса (подробнее о нём расскажу позже)
  3. Стандартный модуль радиопередатчика (те же 433 МГц)
  4. Холдер для четырёх АА
  5. 4 Ni-Mh аккума на 2700 мАч каждый

С браслетом дело обстояло лучше. Первую версию я собирал напрямую на макетной плате, и антенна передающего модуля напрямую к телу не прилегала, посему всё работало как часы. Единственное, что заслуживает внимания в первой версии браслета – это датчик пульса, который был едва ли не самой большой моей проблемой, так как в аналоговой электронике я плавал.

Точкой опоры стала очень хорошая статья о том, что такое фотоплетизмография и как устроены разные браслетики для фитнеса. Ознакомившись с сутью работы оптических датчиков пульса, я начал искать готовые схемные решения. В итоге остановился на этой схеме, которая заработала почти сразу даже на макетке. Оптопару с открытым каналом, которую рекомендовал автор статьи, я искать не стал, и просто выдрал TCRT5000 из датчика линии, который по случайности завалялся дома. Операционный усилитель я заменил на более распространённый LM358.



Датчик был выполнен в виде кольца, надевавшегося на подушечку пальца. TCRT5000 довольно плотно прижимался к коже, и сигнал с фототранзистора усиливался и по проводам передавался на микроконтроллер, где оцифровывался и отправлялся дальше по инстанциям.

Приёмо-передающий блок:

  1. Платформа Arduino Nano
  2. Стандартный модуль радиоприёмника с несущей частотой 433 МГц
  3. Стандартный модуль радиопередатчика (те же 433 МГц)

Тут всё банально: когда браслет шлёт данные, они принимаются приёмником, и через СОМ-порт шарашат в комп, где их встречают заботливые лапы моего самописного VI. Первая версия виртуального прибора тупо строила график показаний АЦП, и не пыталась сама ничего анализировать. Впоследствии, когда стало более-менее ясно, что надо анализировать не пульсограмму, а построенную по ней интервалограмму, и были выявлены паттерны, которые часто возникают в фазу БДГ, данные начали отправляться от VI к маске, давая сигнал на включение стимуляции. Но до этого момента было ещё очень далеко))

Первая ночка с пульсометром выявила сразу несколько неприятных фактов.

Первый: из-за того, что во сне кровоток в руке меняется (например, когда я сгибаю руку и надолго остаюсь в такой позе), датчик теряет сигнал, и график становится неразборчивым. Автоматически подстраивать коэффициент усиления я тогда ещё не представлял как.
Второй: датчик мог терять сигнал на ровном месте, а на сам график накладывается очень низкочастотная помеха с очень большой амплитудой, из-за чего он временами пропадает. Ниже приведён скрин показаний одной из первых (но не первой) рабочих версий виртуального прибора. График пульсограммы (красный) перевёрнут, а НЧ-помеху можно разглядеть на нижних пиках.



Третий факт: спать с макеткой и четырьмя батарейками на руке не то чтобы совсем невозможно, но чрезвычайно неудобно. Как это выглядело поначалу, можете увидеть ниже (увы. кроме фоток из диплома ничего не осталось от того эскиза)))



«Нужны серьёзные доработки!» — глядя на запоротые данные, с суровыми щами сделал вывод я. И первым делом решил допилить датчик, коий был нужен в первую очередь для продолжения работы над прибором.

Ещё раз перечитав статейку о фотоплетизмографах, я осознал следующее: а на кой, собственно, я намотал трос на руку использовать ИК-оптопару, если можно воспользоваться любым другим цветом? График, иллюстрирующий зависимость коэффициента поглощения света гемоглобином от длины волны был взят из той же статьи.



Исходя из графика, я выбрал зелёный цвет, как наиболее поглощаемый гемоглобином в обоих его состояниях (насыщенном кислородом и ненасыщенном). Стало быть, датчик станет наиболее чувствительным именно к изменению объёма крови, а не к сатурации её кислородом (я заподозрил, что НЧ-помехой я обязан как раз тому, что чувствительность датчика ИК диапазона значительно меняется из-за сатурации крови кислородом).

Под спойлер: Интересно, а нельзя ли как раз по этой НЧ-помехе отслеживать частоту дыхания?
И всё бы хорошо, но вот затык: а что выбрать в качестве чувствительного элемента? После недолгих поисков я нашёл дешёвый вариант – фоторезистор. Преимущества были очевидны: спектральный пик у самых расхожих моделей как раз в районе 500 нм, стоит – дёшево, а его инертность, которую частенько ставят в упрёк, в данном случае не существенна – сердцебиение само по себе не очень-то быстрое.

Из минусов я отметил для себя только то, что фоторезисторы содержат кадмий и свинец (из-за чего в некоторых странах их вовсе запретили), и не очень-то хорошо использовать их в аппаратуре, непосредственно контактирующей с телом. Но – наука требует жертв, и я сварганил вторую версию датчика: на двух адресных светодиодах (длина волны их зелёного цвета была, согласно датащиту, как раз такой, какая нужна). Плюсом стало и то, что теперь можно было программно менять яркость, подстраивая, таким образом, чувствительность, пусть и в небольших пределах.



Как можно увидеть, безграмотная (но минимально-рабочая) схема фильтрации и усиления осталась на своём месте, а датчик теперь обзавёлся аж двумя проводами для связи с МК.

Когда был собран макет, тесты показали значительное улучшение результатов измерений. Хотя датчик и не смог работать «на отражение» (я хотел сделать браслет полноценным браслетом, но не вышло – отражённый сигнал был слишком слабым), зато на просвет работал просто превосходно. Также ушла НЧ-помеха, что поставило крест на потере сигнала.

Разработки прибора вошли в новую стадию – теперь все усилия были направлены на сбор данных и попытку отыскать среди них искомую фазу сна.

Но об этом – в следующей статье, а то время нынче позднее, а режим сна нарушать нельзя)

P.S. Буде на то воля читателей, выложу в открытый доступ все схемки и исходники проекта, дабы не покрылись байты пылью на моём жёстком диске.

Всякие полезности:

— книга «Навыки ясного сна», являющаяся наиболее полным собранием научной информации по сабжу;

— самая крутая самоделка с открытыми исходника из всех, что я видел

— крутая подборка виртуальных приборов для анализа биомедицинских сигналов
Tags:
Hubs:
+73
Comments112

Articles

Change theme settings