Детектор алкоголя (алкотестер) на Arduino


В этой статье мы рассмотрим подключение датчика алкоголя к плате Arduino и спроектируем на его основе детектор алкоголя (алкотестер), который будет способен определять уровень алкоголя в выдыхаемом воздухе и крови и на основании этого выдавать сигнал тревоги если уровень алкоголя превышает заданный уровень. Для данного проекта спроектирована печатная плата с помощью сервиса EASYEDA, исходники которой вы можете скачать ниже в статье.

Внешний вид детектора алкоголя на Arduino

Необходимые компоненты

  1. Плата Arduino Uno (купить на AliExpress).
  2. Шилд (плата расширения) детектора алкоголя для Arduino Uno.
  3. Датчик алкоголя (MQ3) (купить на AliExpress).
  4. Резистор 10 кОм (купить на AliExpress).
  5. Резистор 1 кОм (купить на AliExpress).
  6. ЖК дисплей 16х2 (купить на AliExpress).
  7. Источник питания.
  8. Потенциометр 10 кОм (купить на AliExpress).
  9. Светодиод (купить на AliExpress).
  10. Операционный усилитель LM358 (купить на AliExpress).
  11. Соединительные колодки.
  12. Кнопка.

Внешний вид компонентов для нашего детектора алкоголя

Работа схемы

Схема детектора алкоголя (алкотестера) на основе платы Arduino представлена на следующем рисунке.

Схема детектора алкоголя (алкотестера) на основе платы ArduinoВ схеме мы использовали датчик MQ3 для обнаружения алкоголя в выдыхаемом воздухе. ЖК дисплей 16x2 используется для отображения уровня алкоголя в единицах PPM (parts per million - частей на миллион, долей миллиона). Микросхема LM358 используется для конвертирования выхода датчика алкоголя в цифровой вид (опционально). Зуммер (buzzer) будет индицировать о высоком уровне алкоголя.

Работа схемы заключается в следующем. Мы будем сравнивать в схеме компаратора выходное напряжение с датчика алкоголя с заранее определенным значением (подсоединен к контакту D7). Также выход датчика алкоголя подсоединен к аналоговому контакту A0 платы Arduino. Зуммер подключен к контакту D9 платы Arduino. Соединения с ЖК дисплеем точно такие же, как и в примере работы с ЖК дисплеем в Arduino IDE (12, 11, 5, 4, 3, 2). Кнопка подключена к контакту D6 платы Arduino и используется для запуска процесса анализа уровня алкоголя.

Примечание: в схеме мы должны замкнуть все три контакта J2 для расчета PPM.

Для проектирования шилда детектора алкоголя для Arduino мы использовали сервис EasyEDA, в котором мы сначала нарисовали схему нашего устройства, а потом преобразовали ее в печатную плату, используя функцию автоматической трассировки в редакторе EasyEDA. Более подробно это процесс объяснен далее в статье.

Расчет уровня алкоголя

В соответствии с даташитом на датчик MQ3 уровень алкоголя в чистом воздухе составляет 0.04 mg/L.

Запустив в работу этот датчик в нашей комнате (в предположении что у нас чистый воздух в комнате) мы измерили напряжение на выходе этого датчика и оно составило 0.6 В. То есть если на выходе датчика будет напряжение 0.6 В при его работе в чистом воздухе, то уровень алкоголя будет составлять величину 0.04 mg/L.

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

На основании этого коэффициента мы получим следующую формулу для расчета уровня алкоголя. Сразу отметим что она приближенная – мы используем не совсем стандартный подход в этом вопросе как вы уже, наверное, поняли.

Здесь v – это напряжение на выходе датчика алкоголя.

Поскольку с нашим датчиком мы имеем концентрацию алкоголя 0.40 mg/L в чистом воздухе, то за допустимую границу уровня алкоголя, выше которой нельзя управлять транспортным средством, мы примем 0.80 mg/L – это граница выбрана чисто в демонстрационных целях, вы самостоятельно сможете изменить ее потом в программе на ту, которая вам будет необходима.

Датчик MQ3

Датчик газов и алкоголя MQ3 сделан из материала SnO2, который имеет низкую проводимость в чистом воздухе. Когда в воздухе рядом с данным датчиком начинают появляться пары алкоголя его проводимость начинает увеличиваться в зависимости от концентрации алкоголя. Таким образом, измеряя разность напряжений на выходе датчика при его работе в чистом воздухе и при его работе в условиях наличия паров алкоголя, можно определить наличие алкоголя в воздухе.

Внешний вид датчика газов и алкоголя MQ3

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

Создание макета печатной платы для нашего проекта

В этом разделе статьи мы рассмотрим проектирование печатной платы для нашего проекта детектора алкоголя. Если вам это не интересно, то вы можете просто пропустить этот раздел.

Для проектирования печатной платы для нашего проекта мы выбрали онлайн-сервис EasyEDA, который, по нашему мнению, является очень удобным в подобных вопросах. Он является проектом с открытым исходным кодом и содержит много подложек (footprints). После создания печатной платы в сервисе EasyEDA можно достаточно дешево заказать ее изготовление. На этом же сервисе по изготовлению печатных плат продается достаточно много различных электронных компонентов, которые можно заказать вместе с изготовлением своей печатной платы. Конечно, для жителей стран СНГ этот сервис может быть не очень интересен, но все же решил не удалять ссылку на него при переводе статьи с сайта-источника.

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

https://easyeda.com/circuitdigest/Alcohol_Detector-6b80abe350df4526b21be4999638a36b

Вы можете посмотреть печатную плату в этом сервисе со всех сторон, используя опцию ‘Layers’.

Вид снизу печатной платы для нашего проекта

Вы также можете посмотреть как будет выглядеть плата после изготовления, используя кнопку Photo View в EasyEDA.

Окончательный вид печатной платы для нашего проекта

Заказ изготовления печатной платы

После окончания работы по проектированию печатной платы вы можете заказать ее изготовление на сайте JLCPCB.com. Для осуществления этого вам будет необходим Gerber файл печатной платы, для этого можно в редакторе EasyEDA нажать кнопку Fabrication Output (заказа изготовления) и затем подгрузить этот файл на странице заказа печатной платы.

При заказе печатной платы на сайте JLCPCB.com необходимо нажать на кнопку Quote Now или Buy Now, выбрать количество экземпляров печатной платы, число слоев меди, толщину печатной платы, вес меди и даже цвет печатной платы как показано на рисунке.

Заказ изготовления печатной платы

Ввод настроек для изготовления печатной платы

После выбора всех необходимых опций печатной платы необходимо нажать кнопку “Save to Cart” и тогда вас перебросит на страницу, где вы можете загрузить Gerber файл, который мы скачали с EasyEDA. Загрузите ваш Gerber файл и нажмите на “Save to Cart”. В завершение нажмите Checkout Securely чтобы завершить оформление заказа. В нашем случае стоимость изготовления печатной платы составила $2, сделали ее за 48 часов и доставили службой доставки DHL за 5 дней.

Окончательный вид печатной платы на странице ее заказа

В результате печатная плата к нам пришла вот в такой вот коробке:

Коробка, в которой доставили печатную плату

Упакованная печатная плата

Внутри нее была наша печатная плата, к которой мы припаяли необходимые компоненты.

Вид печатной платы детектора алкоголя перед пайкой компонентов

Вид печатной платы детектора алкоголя после пайки компонентов

После этого все, что осталось сделать – это смонтировать шилд поверх платы Arduino и подсоединить ЖК дисплей. После этого можно загружать программу в плату Arduino и начинать тестировать работу схемы.

Тестирование работы детектора алкоголя

Исходный код программы

Видео, демонстрирующее работу схемы

(1 голосов, оценка: 5,00 из 5)
Загрузка...
2 733 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *