Оглавление:

Управление светом глазами: 9 шагов (с изображениями)
Управление светом глазами: 9 шагов (с изображениями)

Видео: Управление светом глазами: 9 шагов (с изображениями)

Видео: Управление светом глазами: 9 шагов (с изображениями)
Видео: ЭТА ИЛЛЮЗИЯ ДЕЙСТВИТЕЛЬНО СТРАННАЯ - ПЕРЕВЕРНИ ИЗОБРАЖЕНИЕ! 2024, Июль
Anonim
Управление светом глазами
Управление светом глазами
Управление светом глазами
Управление светом глазами

В этом семестре колледжа я прошел курс под названием «Приборы в биомедицине», в котором я изучил основы обработки сигналов для медицинских приложений. В заключительном проекте класса моя команда работала над технологией EOG (электроокулография). По сути, электроды, прикрепленные к чьим-то вискам, посылают разность напряжений (на основе корнео-ретинального диполя) в схему, предназначенную для фильтрации и усиления сигнала. Сигнал подается на АЦП (аналого-цифровой преобразователь - в моем случае это АЦП Arduino Uno) и используется для изменения цвета неопиксельного камня.

Это руководство - это способ записать то, что я узнал, а также поделиться с постоянным читателем, как сигналы изолированы от человеческого тела (будьте осторожны: он полон дополнительных деталей!). Эта схема может быть использована с небольшими изменениями для электрических импульсов моторного сердца в виде кривой ЭКГ и многого другого! Хотя она, конечно, далеко не такая продвинутая и совершенная, как машины, которые вы найдете в больнице, эта лампа с контролем положения глаз отлично подходит для первоначального понимания и проблеска.

Примечание: я не эксперт в обработке сигналов, поэтому, если есть какие-либо ошибки или у вас есть предложения по улучшению, сообщите мне! Мне еще предстоит многому научиться, поэтому комментарии приветствуются. Кроме того, многие статьи, на которые я ссылаюсь в ссылках в этом руководстве, требуют академического доступа, любезно предоставленного моим университетом; заранее извиняюсь за тех, у кого не будет доступа.

Шаг 1: материалы

  • макетная плата
  • резисторы (100, 1к, 10к, 33к, 1М + 0,5М)
  • конденсатор (0,1 мкФ)
  • инструментальный усилитель (в моем случае INA111, но есть пара, которая должна работать относительно нормально)
  • операционный усилитель (любой - у меня был LM324N)
  • неопиксель (любые работает, но я использовал драгоценный камень)
  • Батарейки 9В x2
  • Разъемы для батарей 9 В x2
  • электроды из твердого геля (выбор электрода обсуждается на шаге 5)
  • потенциометр
  • изолированный провод
  • устройства для зачистки проводов
  • паяльник + припой
  • зажимы-крокодилы (с присоединенными проводами - при необходимости припаяйте)
  • горячий клей (для стабилизации проводов, которые будут изгибаться вперед и назад)
  • Arduino (практически любая плата работает, но я использовал Arduino Uno)

НАСТОЯТЕЛЬНО РЕКОМЕНДУЕТСЯ: осциллограф, мультиметр и функциональный генератор. Проверьте свои выходы, а не просто полагайтесь на мои значения резисторов!

Шаг 2: физиологические предпосылки и необходимость контура

Психологические основы и необходимость контура
Психологические основы и необходимость контура

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

ЭОГ (электроокулография) работает на корнео-ретинальном диполе. Роговица (передняя часть глаза) заряжена слегка положительно, а сетчатка (задняя часть глаза) - слегка отрицательно. Когда вы прикладываете электроды к вискам и заземляете цепь ко лбу (помогает стабилизировать показания и избавиться от некоторых помех 60 Гц), вы можете измерить разницу напряжений около 1-10 мВ для горизонтальных движений глаз (см. Рисунок выше). При вертикальном движении глаз размещайте электроды над и под глазом. В этой статье вы найдете подробную информацию о том, как организм взаимодействует с электричеством - отличную информацию о сопротивлении кожи и т. Д. ЭОГ обычно используются для диагностики офтальмологических заболеваний, таких как катаракта, аномалии рефракции или дегенерация желтого пятна. Есть также приложения в управляемой глазами робототехнике, в которых простые задачи могут быть выполнены одним движением … глаза.

Чтобы считывать эти сигналы, то есть вычислять разность напряжений между электродами, мы встраиваем в нашу схему важную микросхему, называемую инструментальным усилителем. Этот инструментальный усилитель состоит из повторителей напряжения, неинвертирующего усилителя и дифференциального усилителя. Если вы мало что знаете об операционных усилителях, прочтите это для ускоренного курса - по сути, они принимают входное напряжение, масштабируют его и выводят результирующее напряжение с помощью шин питания. Интеграция всех резисторов между каждым каскадом помогает с ошибками допуска: обычно резисторы имеют допуск в значениях 5-10%, а обычная схема (не полностью интегрированная в инструментальный усилитель) в значительной степени зависит от точности для хорошего CMMR (см. Следующий шаг). Последователи напряжения предназначены для высокого входного импеданса (обсуждаемого в параграфе выше - важны для предотвращения вреда пациенту), неинвертирующий усилитель должен обеспечивать высокое усиление сигнала (подробнее об усилении на следующем шаге), а дифференциальный усилитель принимает разницу между входами (вычитает значения из электродов). Они предназначены для подавления как можно большего количества синфазных шумов / помех (подробнее об обработке сигналов см. Следующий шаг) для биомедицинских сигналов, которые изобилуют посторонними артефактами.

Электроды сталкиваются с некоторым сопротивлением кожи, поскольку ткани и жир вашей кожи препятствуют прямому измерению напряжения, что приводит к необходимости усиления и фильтрации сигнала. Вот, здесь и вот несколько статей, в которых исследователи пытались количественно определить это сопротивление. Эта физиологическая величина обычно моделируется как резистор 51 кОм, подключенный параллельно конденсатору 47 нФ, хотя существует множество вариаций и комбинаций. Кожа в разных местах может иметь разное сопротивление, особенно если учесть разную толщину и количество прилегающих мышц. Импеданс также меняется в зависимости от того, насколько хорошо ваша кожа подготовлена к установке электродов: обычно рекомендуется тщательная очистка водой с мылом, чтобы обеспечить отличную адгезию и консистенцию, и есть даже специальные гели для электродов, если вы действительно желаете совершенства. Одно из ключевых примечаний заключается в том, что импеданс изменяется с частотой (характеристика конденсаторов), поэтому вам необходимо знать полосу пропускания сигнала, чтобы предсказать импеданс. И да, оценка импеданса НЕОБХОДИМА для согласования шума - см. Следующий шаг для получения дополнительной информации об этом.

Шаг 3: Обработка сигнала: почему и как?

Обработка сигналов: почему и как?
Обработка сигналов: почему и как?

Теперь, почему вы не можете просто использовать разницу напряжений 1-10 мВ в качестве непосредственного выхода для управления светодиодами? Что ж, причин для фильтрации и усиления сигналов много:

  • Многие АЦП (аналого-цифровые преобразователи - возьмите аналоговый вход и оцифровывайте его для чтения и сохранения данных на компьютере) просто не могут обнаружить такие небольшие изменения. Например, АЦП Arduino Uno - это, в частности, 10-разрядный АЦП с выходом 5 В, что означает, что он отображает входные напряжения 0-5 В (значения вне диапазона будут «рельсовыми», то есть более низкие значения будут считываться как 0 В, а более высокие значения будут считываться как 5 В) до целых значений от 0 до 1023. 10 мВ настолько мало в этом диапазоне 5 В, поэтому, если вы можете усилить сигнал до полного диапазона 5 В, небольшие изменения будут более легко обнаружимы, потому что они будут отражены более крупными количественными изменениями (Изменение 5 мВ на 10 мВ вместо изменения 2 В на 4 В). Думайте об этом как о крошечной картинке на вашем компьютере: детали могут быть идеально определены вашими пикселями, но вы не сможете различать формы, если не расширите изображение.

    Обратите внимание, что иметь больше битов для вашего АЦП лучше, потому что вы можете минимизировать шум квантования, превратив непрерывный сигнал в дискретные оцифрованные значения. Чтобы рассчитать, сколько битов вам нужно для сохранения входного SNR ~ 96%, используйте N = SNR (в дБ) / 6 в качестве практического правила. Вы также должны помнить о своем кошельке: если вы хотите больше битов, вы должны быть готовы выложить больше денег

  • Шум и помехи (шум = случайные артефакты, которые делают ваши сигналы неровными, а не гладкими, против помех = неслучайные, синусоидальные артефакты от соседних сигналов радиоволн и т. Д.) Мешают всем сигналам, измеряемым в повседневной жизни.

    • Самый известный из них - это интерференция 60 Гц (50 Гц, если вы находитесь в Европе, и нет в России, потому что они используют постоянный ток, а не переменный ток для питания розеток…), которая называется частотой электросети от электромагнитных полей переменного тока на розетках. Линии электропередач несут высокое напряжение переменного тока от электрических генераторов в жилые районы, где трансформаторы понижают напряжение до стандартного ~ 120 В в американских розетках. Переменное напряжение приводит к этой постоянной ванне с помехами 60 Гц в нашем окружении, которые мешают всем типам сигналов и должны быть отфильтрованы.
    • Помехи 60 Гц обычно называются синфазными помехами, потому что они появляются на обоих входах (+ и -) операционных усилителей. Теперь операционные усилители имеют так называемый коэффициент подавления синфазного сигнала (CMRR) для уменьшения артефактов синфазного сигнала, но (поправьте меня, если я ошибаюсь!) Это в основном хорошо для синфазных шумов (случайный: шум вместо неслучайного: помехи). Чтобы избавиться от 60 Гц, можно использовать полосовые фильтры для выборочного удаления его из частотного спектра, но тогда вы также рискуете удалить фактические данные. В лучшем случае вы можете использовать фильтр нижних частот, чтобы поддерживать диапазон частот только ниже 60 Гц, поэтому все с более высокими частотами будет отфильтровано. Это то, что я сделал для EOG: ожидаемая полоса пропускания моего сигнала составляла 0-10 Гц (без учета быстрых движений глаз - не хотел иметь дело с этим в нашей упрощенной версии), поэтому я удалил частоты выше 10 Гц с помощью фильтра нижних частот..

      • 60 Гц может искажать наши сигналы из-за емкостной связи и индуктивной связи. Емкостная связь (читайте здесь о конденсаторах) возникает, когда воздух действует как диэлектрик для сигналов переменного тока, передаваемых между соседними цепями. Индуктивная связь исходит из закона Фарадея, когда вы пропускаете ток в магнитном поле. Есть много уловок, чтобы преодолеть сцепление: например, вы можете использовать заземленный экран как своего рода клетку Фарадея. Скручивание / плетение проводов, когда это возможно, уменьшает площадь, доступную для индуктивной связи. Укорачивание проводов и уменьшение габаритов схемы также имеют тот же эффект по той же причине. Использование батареи для рельсов операционного усилителя, а не подключения к розетке, также помогает, потому что батареи обеспечивают источник постоянного тока без синусоидальных колебаний. Подробнее читайте здесь!
      • Фильтры нижних частот также избавляют от большого количества шума, поскольку случайный шум представлен высокими частотами. Многие шумы представляют собой белый шум, что означает, что шум присутствует на всех частотах, поэтому максимальное ограничение полосы пропускания вашего сигнала помогает ограничить количество этого шума в вашем сигнале.

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

    • Есть также маленькие хитрости, чтобы избавиться от шума. Один из них - использовать заземление по схеме звезды, чтобы все части ваших цепей имели одинаковую ссылку. В противном случае то, что одна часть называет «землей», может отличаться от другой из-за небольшого сопротивления проводов, которое складывается в несоответствия. Пайка к макетной плате вместо приклеивания к макетной плате также снижает уровень шума и создает безопасные соединения, которым можно доверять, в отличие от вставки с прессовой посадкой.

Есть много других способов подавить шум и помехи (см. Здесь и здесь), но вы можете пройти курс по этому или в Google для получения дополнительной информации: давайте перейдем к реальной схеме!

Шаг 4: Как работает схема

Как работает схема
Как работает схема

Не пугайтесь принципиальной схемы: вот приблизительное описание того, как все работает: (вернитесь к предыдущему шагу для некоторых пояснений)

  • В крайнем левом углу у нас есть электроды. Один крепится на левом виске, другой - на правом виске, а третий электрод заземляется ко лбу. Это заземление стабилизирует сигнал, поэтому дрейф меньше, а также избавляется от некоторых помех 60 Гц.
  • Далее идет инструментальный усилитель. Вернитесь на два шага назад для объяснения того, что он делает для создания разницы напряжений. Уравнение для изменения коэффициента усиления усилителя приведено на странице 7 спецификации [G = 1+ (50 кОм / Rg), где Rg подключен к контактам 1 и 8 усилителя]. Для моей схемы я настроил усиление на 500, используя Rg = 100 Ом.
  • После того, как инструментальный усилитель выдает усиленную разность напряжений в 500 раз, имеется RC-фильтр нижних частот первого порядка, который состоит из резистора R_filter и конденсатора C_filter. Фильтр нижних частот предотвращает сглаживание (меня не беспокоит, потому что, по мнению Найквиста, мне нужно отобрать по крайней мере 20 Гц для ожидаемой полосы пропускания 10 Гц, а сэмплы АЦП Arduino на 10 кГц - более чем достаточно), а также отсекает шум. на всех частотах, которые мне не нужны. Система RC работает, потому что конденсаторы пропускают высокие частоты легко, но препятствуют более низким частотам (импеданс Z = 1 / (2 * pi * f)), а создание делителя напряжения с напряжением на конденсаторе приводит к фильтру, который допускает только более низкие частоты. через [отсечка для интенсивности 3 дБ определяется формулой f_c = 1 / (2 * pi * RC)]. Я скорректировал значения R и C моего фильтра, чтобы отсечь сигналы выше ~ 10 Гц, потому что биологический сигнал для EOG ожидается в этом диапазоне. Первоначально я отключался после 20 Гц, но после экспериментов 10 Гц работал так же, поэтому я выбрал меньшую полосу пропускания (меньшая пропускная способность лучше, чтобы вырезать все ненужное, на всякий случай).
  • С этим отфильтрованным сигналом я измерил выходной сигнал с помощью осциллографа, чтобы увидеть мой диапазон значений, глядя влево и вправо (две крайние точки моего диапазона). Это привело меня примерно к 2-4 В (потому что усиление инструментального усилителя было 500x для диапазона ~ 4-8 мВ), когда моя цель - 5 В (полный диапазон АЦП Arduino). Этот диапазон сильно варьировался (в зависимости от того, насколько хорошо человек предварительно вымыл кожу и т. Д.), Поэтому я не хотел иметь такой большой выигрыш со своим вторым неинвертирующим усилителем. В итоге я настроил его так, чтобы коэффициент усиления был всего около 1,3 (отрегулируйте R1 и R2 в схеме, потому что коэффициент усиления усилителя = 1 + R2 / R1). Вам нужно будет определить свой собственный выход и отрегулировать его так, чтобы вы не превышали 5В! Не используйте только мои значения резисторов.
  • Теперь этот сигнал можно подать на аналоговый вывод Arduino для чтения, НО АЦП Arduino не принимает отрицательные входы! Вам нужно будет сместить ваш сигнал так, чтобы диапазон составлял 0-5 В, а не от -2,5 до 2,5 В. Один из способов исправить это - прикрепить заземление вашей печатной платы к выводу 3,3 В Arduino: это сдвигает ваш сигнал на 3,3 В (оптимально более 2,5 В, но это работает). Мой диапазон был действительно шатким, поэтому я разработал переменное напряжение смещения: таким образом я мог вращать потенциометр, чтобы центрировать диапазон до 0-5 В. По сути, это переменный делитель напряжения, использующий шины питания +/- 9 В, чтобы я мог подключить заземление схемы к любому значению от -9 до 9 В и, таким образом, сдвинуть свой сигнал вверх или вниз на 9 В.

Шаг 5: Выбор компонентов и ценностей

Выбор компонентов и ценностей
Выбор компонентов и ценностей

После объяснения схемы, как выбрать, какой из них (электрод, операционный усилитель) использовать?

  • В качестве датчика твердогелевые электроды имеют высокий входной импеданс и низкий выходной импеданс: по сути, это означает, что ток может легко проходить по нисходящему потоку к остальной цепи (низкий выходной импеданс), но при его прохождении вверх по потоку обратно к вашим вискам возникнут проблемы. (высокое входное сопротивление). Это предохраняет пользователя от травм из-за высоких токов или напряжений в остальной части вашей цепи; Фактически, во многих системах на всякий случай есть нечто, называемое резистором защиты пациента, для дополнительной защиты.

    • Существует много разных типов электродов. Большинство людей предлагают электроды из твердого геля Ag / AgCl для использования в приложениях ЭКГ / ЭОГ и т. Д. Имея это в виду, вам необходимо найти сопротивление источника этих электродов (вернитесь на два шага назад, чтобы прочитать мои заметки об импедансе кожи) и сопоставить его с шумовым сопротивлением (напряжение шума в В / кв (Гц), деленное на ток шума в A / sqrt (Гц) - см. Спецификации операционных усилителей) ваших операционных усилителей - вот как вы выбираете правильный инструментальный усилитель для своего устройства. Это называется согласованием шума, и объяснения того, почему работает согласование сопротивления источника Rs и сопротивления шума Rn, можно найти в Интернете, например здесь. Для моего INA111, который я выбрал, Rn можно рассчитать, используя напряжение шума и ток шума из таблицы данных (снимок экрана выше).

      • Существует МНОЖЕСТВО статей, в которых оцениваются характеристики электродов, и ни один электрод не подходит для всех целей: попробуйте, например, здесь. Импеданс также изменяется в зависимости от полосы пропускания, что отражено в таблицах данных операционного усилителя (в некоторых таблицах данных есть кривые или таблицы для разных частот). Проведите исследование, но не забывайте о своем кошельке. Приятно знать, какие электроды / операционные усилители лучше всего, но бесполезно, если вы не можете себе это позволить. Вам понадобится как минимум ~ 50 электродов для тестирования, а не только 3 для одноразового использования.

        • Для оптимального согласования шума не только Rn ~ = Rs: вы также хотите, чтобы напряжение шума * ток шума (Pn) было как можно меньше. Это считается более важным, чем установка Rn ~ = Rs, потому что при необходимости вы можете регулировать Rs и Rn с помощью трансформаторов.

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

        • Шум соответствует только вашему первому начальному усилителю; второй усилитель не так сильно влияет, так что подойдет любой операционный усилитель.

Шаг 6: построение схемы

Построение схемы
Построение схемы
Построение схемы
Построение схемы
Построение схемы
Построение схемы

Используйте приведенную выше диаграмму фритзинга, чтобы построить схему (вторая копия показывает, что каждая часть ссылается на принципиальную схему из предыдущего шага). Если вам нужна помощь в идентификации светодиодов на схеме, используйте этот калькулятор цветового кода резистора, но Rg инструментального усилителя составляет 100 Ом, R_filter - 1,5 МОм, C_filter - 0,1 мкФ, R1 неинвертирующего усилителя - 10 кОм, R2 - 33 кОм, а резистор для потенциометра - 1 кОм (потенциометр варьируется от 0 до 20 кОм). Не забудьте изменить значения резистора по мере необходимости, чтобы отрегулировать усиление!

Изменить: есть ошибка в части смещения земли. Удаляем левый черный провод. Резистор должен быть подключен красным проводом к шине питания, как показано, а также ко второму, а не первому контакту потенциометра. Первый вывод потенциометра должен быть подключен к выводу 5V Arduino. Оранжевый провод, который является заземлением смещения, следует подключать ко второму контакту, а не к первому.

Я много обсуждал офсетную землю. На схеме вы можете видеть, что земля Arduino подключена к земле макета. Это в сценарии, что вам не нужно менять свою позицию. Если ваш сигнал находится вне диапазона, и вам действительно нужно сместить заземление, сначала попробуйте подключить заземление Arduino к выводу 3,3 В Arduino и просмотрите свой сигнал. В противном случае попробуйте подключить оранжевый провод в потенциометре (смещение заземления) к контакту GND Arduino.

ПРИМЕЧАНИЕ ПО ТЕХНИКЕ БЕЗОПАСНОСТИ: НЕ оставляйте батареи внутри при пайке и НЕ вставляйте и не паяйте батареи обратной стороной. Ваша схема начнет дымиться, конденсаторы перегорят, а также может быть повреждена макетная плата. Как правило, используйте батареи только тогда, когда вы хотите использовать схему; в противном случае снимите их (также неплохо было бы добавить перекидной переключатель для легкого отсоединения батарей).

Обратите внимание, что вы должны собирать схему по частям (проверяйте каждую стадию!) И на макете перед пайкой на макетную плату. Первым этапом проверки является инструментальный усилитель: прикрепите все направляющие (припаяйте держатели батарей), Rg и т. Д. И используйте осциллограф на выходном контакте. Для начала используйте функциональный генератор с синусоидальной волной 1 Гц и амплитудой 5 мВ (или самой низкой, которую может использовать ваш генератор). Это просто для проверки того, что инструментальный усилитель работает правильно, а ваш Rg обеспечивает желаемое усиление.

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

Шаг 7: Тестирование схемы на человеке

Схема тестирования с человеком
Схема тестирования с человеком
Схема тестирования с человеком
Схема тестирования с человеком
Схема тестирования с человеком
Схема тестирования с человеком

Опять же, приложите электроды к левому и правому вискам и прикрепите заземляющий провод к электроду на лбу. Только после этого следует добавлять батарейки - при появлении покалывания НЕМЕДЛЕННО снимите и дважды проверьте соединения !!! Теперь проверьте свой диапазон значений, когда вы смотрите влево против вправо, и отрегулируйте R1 / R2 неинвертирующего усилителя, как объяснялось два шага назад - помните, что целью является диапазон 5 В! Смотрите изображения выше, чтобы узнать, на что обращать внимание.

Когда вас устраивают все номиналы резисторов, припаяйте все к макетной плате. Пайка не является строго необходимой, но она обеспечивает большую стабильность по сравнению с простыми соединениями с прессовой посадкой и устраняет неопределенность в том, что схема не работает просто потому, что вы недостаточно сильно вдавили ее в макетную плату.

Шаг 8: Код Arduino

Весь код прилагается внизу этого шага!

Теперь, когда у вас есть диапазон 5 В, вам нужно убедиться, что он находится в пределах 0-5 В, а не от -1 до 4 В и т. Д. Либо подключите заземление к выводу 3,3 В Arduino, либо подключите напряжение смещения заземления (оранжевый провод выше) к заземляющей шине, а затем подключите провод от заземляющей шины к контакту GND Arduino (это необходимо для смещения сигнала вверх или вниз, чтобы вы попали в диапазон 0-5 В). Вам придется поиграть: не забывайте оценивать результат, когда вы сомневаетесь!

Теперь о калибровке: вы хотите, чтобы свет менял цвета в зависимости от положения глаз (если смотреть далеко влево или не так далеко…). Для этого вам нужны значения и диапазоны: запустите EOG-Calibration-numbers.ino на Arduino со всеми подключенными должным образом (завершите подключения к Arduino и neopixel в соответствии с моей схемой fritzing). Не обязательно, но также запустите код bioe.py, который у меня есть - это выведет текстовый файл на ваш рабочий стол, чтобы вы могли записывать все значения, когда вы смотрите влево или вправо (код python был адаптирован из этого примера). Как я это делал, я смотрел влево на 8 ударов, затем вправо, затем вверх, затем вниз и повторил для усреднения позже (см. Output_2.pdf для одного журнала, который я вел). Нажмите ctrl + C, чтобы выйти, когда будете удовлетворены. Используя эти значения, вы затем можете настроить диапазоны анимации в моем коде BioE101_EOG-neopixel.ino. Что касается меня, у меня была радужная анимация, когда я смотрел прямо перед собой: синий - крайний левый, зеленый - небольшой левый, фиолетовый - небольшой правый, а красный - крайний правый.

Шаг 9: Дальнейшие шаги

Вуаля; то, что вы можете контролировать только своими глазами. Есть много вещей, которые нужно оптимизировать, прежде чем он попадет в больницу, но это на другой день: основные концепции теперь, по крайней мере, легче понять. Одна вещь, которую я хотел бы вернуться и изменить, - это настроить мое усиление до 500 для инструментального усилителя: оглядываясь назад, это, вероятно, было слишком сильно, потому что мой сигнал после этого уже был 2-4 В, и мне было трудно использовать неинвертирующий усилитель, чтобы идеально настроить мой диапазон …

Трудно добиться согласованности, потому что сигнал НАСТОЛЬКО изменяется для разных условий:

  • другой человек
  • условия освещения
  • подготовка кожи (гели, умывание и т. д.)

но даже в этом случае я вполне доволен своим окончательным видео-доказательством производительности (снятым в 3 часа ночи, потому что именно тогда все волшебным образом начинает работать).

Я знаю, что многое в этом руководстве может показаться запутанным (да, мне тоже пришлось учиться), поэтому, пожалуйста, не стесняйтесь задавать вопросы ниже, и я постараюсь ответить. Наслаждаться!

Неприкасаемый вызов
Неприкасаемый вызов
Неприкасаемый вызов
Неприкасаемый вызов

Финалист в испытании неприкасаемых

Рекомендуемые: