Детектор лжи на Ардуино своими руками
Сегодня мы сделаем детектор лжи своими руками, который замеряет разные реакции, которые посылаются организмом на кожу человека в разных ситуациях и при разных эмоциях. Самая крутая вещь заключается в том, что все эти реакции можно увидеть на графике Ардуино.
Шаг 1: Как это работает
Мы начнём с того, что подключим Ардуино к объекту исследования, а затем соединим Ардуино и компьютер с графическим софтом. В следующих шагах будет рассказано, как это делать.
Нужно начать задавать испытуемому лёгкие вопросы, на которые мы точно знаем, что он ответит правдиво. Например, «как тебя зовут?», «где ты живешь?» — так мы зададим базисную линию. Затем мы можем начать задавать вопросы, на которые субъект может ответить ложью, а если так, то он, скорее всего, будет нервничать, и мы сможем прочитать это по изменению базовой линии, которую мы отметили до этого.
Шаг 2: Список частей
Нам нужен микроконтроллер, который будет управлять тремя диодами и отправлять данные на компьютер. Для того, чтобы компьютер смог получать данные, микроконтроллер должен обладать чипом последовательной связи. Это значит, что мы не сможем использовать Ардуино Про Мини или Adafruit Trinket, поэтому, когда выбираете микроконтроллер, убедитесь, что в него встроен чип последовательной связи (чип связи USB)
Список электроники:
- Ардуино Нано (ссылка)
- Зеленый светодиод (ссылка)
- Красный светодиод (ссылка)
- Оранжевый светодиод (ссылка)
- Резистор на 10k (ссылка)
- Провода
- Пистолет для горячего клея
- Утюг
- Канцелярский нож
Шаг 3: Электропроводка
Проводка очень проста, мы начнём соединять всё в таком порядке:
- Соедините длинный кусок провода с аналоговым пином 0 на Ардуино
- Соедините резистор 2К с землёй и с удлинённым пином 0 Ардуино
- Соедините длинный кусок кабеля с 5 вольтовым пином Ардуино
- Соедините анод (длинную ножку) зеленого светодиода с пином 2, а катод (короткую ножку) с землёй
- Соедините анод оранжевого диода с пином 3 Ардуино, а катод с землёй
- Соедините анод красного диода с пином 4, а катод с землёй
Это вся проводка, связанная с Ардуино. Теперь нам нужно как-то закрепить провода-датчики на пальцах — мы вернёмся к этому позже.
Шаг 4: Софт и код
Для создания полиграфа своими руками мы будем использовать новейший софт — это ИДЕ Ардуино. Последнее обновление предоставило пользователям новые возможности для восприятия получаемых с Ардуино данных. Вместо текстового представления, получаемого с последовательного порта, информация может отображаться в виде графиков в реальном времени. Это поможет нам определить, когда данные поменяют свою динамику (когда кто-то врёт).
Чтобы открыть построитель графиков, откройте Ардуино и зайдите в меню инструментов (tools), там вы и найдёте нужный инструмент.
Теперь скачайте прикреплённый код и залейте его на плату Ардуино.
Шаг 5: Создание клипс для пальцев
Теперь, когда основа проекта завершена, мы можем начать дополнять его. Начнём с того, что создадим клипсы для пальцев — это сделает девайс более удобным, создавая надёжное соединение между пальцами и проводами. Приклейте фольгу к внешней стороне липучки (приклеить нужно к обеим частям: и к «крючковатой», и к «кудрявой»). Теперь оберните её вокруг пальца, пока она не создаст плотное кольцо (смотрите фотографии). Затем закрепите оголенный конец провода, идущего от пина 0, на фольге. Проделайте то же самое с 5V пином. Удостоверьтесь, что создали надежное соединение.
Шаг 6: Создание футляра
План заключается в создании небольшого отсека, в которое будут складываться накладки на пальцы и проделывании 3 отверстий, из которых будут выглядывать светодиоды. Футляр можно сделать из картона и, если вы хотите такой же футляр, как и у меня, то сделайте следующее:
- Вырежьте два прямоугольника 15*3 см
- Вырежьте один прямоугольник 15*5 см
- Три прямоугольника 5*3 см (посередине одного из них проделайте отверстие для USB)
- Один прямоугольник 9*5 см
- Один прямоугольник 6*5 см
Прямоугольник 5*15 — это основа. Две части 15*3 и две части 5*3 приклеиваются к сторонам основы. Далее приклейте третий кусочек 5*3 к основанию на расстоянии 6 см от края (ближе к середине — смотрите фото). Теперь у вас должен получиться прямоугольник, разделенный на две части — одна длинной 6 см, а другая 9 см. В часть длиной 6 см мы положим электронику, а в другую часть положим накладки на пальцы.
Дальше в куске картона 6*5 см, вырежьте три отверстия по размерам диодов и приклейте его к 6-сантиметровой стороне (она будет крышкой). Наконец, нам нужно прикрепить скотчем короткую сторону прямоугольника 9*5 см к оставшейся незакрытой части коробки (этот кусок картона будет действовать как крышка, которая открывается вверх и вниз, предоставляя нам доступ к накладкам на пальцы).
Шаг 7: Собираем всё вместе
В конце нам нужно собрать детектор лжи воедино и закрепить всю электронику в футляре. Начните с приклеивания Ардуино и всех проводов в короткой части футляра. Длинные провода проденьте во вторую половину футляра. Приклейте три светодиода к дыркам и начните испытания. Если всё сделано правильно, то у вас появится портативный детектор лжи на Ардуино. Но я хочу предупредить вас, что эта система не очень точна, так как на самом деле большинство таких детекторов имеют вдобавок другие датчики, например датчик сердцебиения и т.д.
Рассказываю как сделать какую-либо вещь с пошаговыми фото и видео инструкциями.
Детектор лжи на Arduino Nano своими руками
В данной статье мы рассмотрим создание простого детектора лжи на основе платы Arduino Nano, который позволит определять когда испытуемое лицо (например, ваш знакомый или родственник) говорит неправду. Принцип работы детектора лжи основан на изменении состояния кожи человека под влиянием его эмоционального состояния. Наглядно все эти процессы будут показываться на соответствующем графике.
Необходимые компоненты
- Плата Arduino Nano (купить на AliExpress).
- Светодиод красного цвета (купить на AliExpress).
- Светодиод зеленого цвета (купить на AliExpress).
- Светодиод (любого цвета) (купить на AliExpress).
- Резистор 2 кОм (купить на AliExpress).
- Соединительные провода.
Общие принципы работы проекта
Наша кожа удивительна – она дает нам способность чувствовать предметы при прикосновении к ним, защищает от инфекций и поддерживает наши внутренние органы. Но в нашем проекте существенным фактором будет то обстоятельство, что наша кожа может изменять свою проводимость в зависимости от многих условий, в том числе от нашего настроения. Это явление называется электрической активностью кожи (Electrodermal activity, EDA), более подробно об этом явлении вы можете прочитать в Википедии. Но основным для нас в этой ситуации является то, что проводимость кожи изменяется в зависимости от наших ощущений.
В нашем проекте мы будем подключать плату Arduino к испытуемому объекту и к компьютеру, на котором установлена программа для построения графиков.
Начнем опрос испытуемого мы с простых вопросов, на которые ответы нам точно известны, например, «как ваше имя» или «где вы живете». С помощью этих вопросов мы сформируем исходное состояние (baseline) нашего детектора лжи. После этого мы будем задавать вопросы, на которые испытуемый может потенциально соврать. При ложных ответах испытуемый будет, скорее всего, нервничать (а это свойственно большинству людей), сопротивление его кожи будет изменяться, что отразиться на графике, который мы строим на экране компьютера. В результате мы легко сможем понять что испытуемый говорит неправду.
Для конструирования самодельного детектора лжи нам понадобятся плата Aruino Nano, несколько светодиодов, резистор 2 кОм, застежка (липучка) и несколько базовых инструментов (материалов), таких как картон, фольга, клей, паяльник, нож.
Схема проекта
Схема детектора лжи на основе платы Arduino Nano представлена на следующем рисунке.
Соединения в схеме достаточно простые:
- подключите длинный кусок провода к аналоговому контакту A0 платы Arduino;
- подключите резистор 2 кОм к земле и к аналоговому контакту A0 платы Arduino;
- подключите длинный кусок провода к контакту 5 В платы Arduino;
- подключите анод (длинная ножка) светодиода зеленого цвета к контакту 2 платы Arduino, а его катод (короткая ножка) – к земле;
- подключите анод светодиода оранжевого цвета к контакту 3 платы Arduino, а его катод – к земле;
- подключите анод светодиода красного цвета к контакту 4 платы Arduino, а его катод – к земле.
После этого нам будет необходимо просто подключить провода датчика к пальцам, но об этом далее.
Объяснение программы для Arduino
Для работы с этим проектом вам понадобится самая свежая версия Arduino IDE. В отличие от старых версий Arduino IDE, в которых на компьютер можно было передавать только текстовые данные в окно монитора последовательной связи, в свежей версии Arduino IDE эти данные можно отображать в виде графика, что позволит нам идентифицировать места, в которых изменяется шаблон (образец) графика и тем самым определить что испытуемый говорит неправду.
Чтобы открыть окно плоттера графиков в Arduino IDE, зайдите в меню инструментов (tools menu) и вы увидите этот пункт под пунктом монитора последовательной связи (serial monitor).
Полный текст программы для проекта приведен в конце статьи – вы можете скопировать его и загрузить в свою плату Arduino.
Изготовление застежки на пальцы
Для устойчивой работы нашего детектора лжи целесообразно изготовить застежку (клипсу) на пальцы – она будет обеспечивать стабильный контакт между пальцами и проводами. Для этого необходимо приклеить полоску оловянной фольги к нижнему краю липучки (к ее обоим концам). Затем необходимо обмотать ее вокруг пальца чтобы обеспечить ее плотную посадку на пальце, затем прикрепить провод к фольге и к аналоговому контакту A0 платы Arduino, то же самое повторить для контакта 5 В платы Arduino. Проверьте надежность электрических соединений прежде чем подавать питание на устройство.
На следующих трех рисунках показан процесс изготовления застежек на пальцы.
Изготовление корпуса для детектора лжи
В корпусе для детектора лжи нам необходимо предусмотреть 3 отверстия для крепления светодиодов. Корпус автор проекта изготовил из картона, для этого он выполнил следующую последовательность действий:
- вырезал два прямоугольника размером 15×3 см;
- вырезал один прямоугольник размером 15×5 см;
- вырезал три прямоугольника размером 5×3 см (в центре одного из них необходимо вырезать небольшое отверстие для разъема USB платы Arduino Nano);
- вырезал один прямоугольник размером 9×5 см;
- вырезал один прямоугольник размером 6×5 см.
Прямоугольник 15х5 является основой корпуса, два прямоугольника 15×3 и два прямоугольника 5×3 – это боковые стороны корпуса. Третий прямоугольник 5х3 необходимо приклеить на расстоянии 6 см от боковой стороны, ближе к центру (см. фото). То есть теперь у вас есть прямоугольник, который разделен на 2 части – одна часть длиной длиной 6 см, а другая часть длиной 9 см. В части длиной 6 см мы будем размещать электронные компоненты нашего проекта, а другая часть будет являться отсеком для пальцев. Также необходимо вырезать 3 отверстия для крепления светодиодов в прямоугольнике 6×5 и приклеить его к части, которая 6 см (то есть он будет выполнять роль крышки). И, напоследок, нам необходимо прикрепить крышку для отсека, который 9×5 см.
Визуально процесс сборки корпуса для детектора лжи представлен на следующих рисунках (картинки кликабельны).
Окончательная сборка проекта
В завершающей стадии работы над проектом мы должны разместить в части длиной 6 см плату Arduino Nano и вывести из этой части провода (подключенные к контактам A0 и 5 В) в другую часть корпуса, которая длиной 9 см. Потом нам необходимо приклеить светодиоды к вырезанным для них отверстиям в прямоугольнике 6×5 см и можно приступать к тестированию проекта.
Но автор проекта просит предупредить всех читателей о том, что рассмотренный в данной статье детектор лжи не является абсолютно точным устройством поскольку настоящие детекторы лжи кроме измерения проводимости кожи имеют в своем составе и множество других датчиков, например, датчик для измерения пульса.
Исходный код программы (скетча)
Код программы очень простой, использует только простейшие операции, надеюсь, он не вызовет у вас затруднений.