Оглавление:

Безопасная вечеринка этим летом со светодиодной чашкой Arduino, реагирующей на алкоголь в крови: 10 шагов
Безопасная вечеринка этим летом со светодиодной чашкой Arduino, реагирующей на алкоголь в крови: 10 шагов

Видео: Безопасная вечеринка этим летом со светодиодной чашкой Arduino, реагирующей на алкоголь в крови: 10 шагов

Видео: Безопасная вечеринка этим летом со светодиодной чашкой Arduino, реагирующей на алкоголь в крови: 10 шагов
Видео: Новое ПРОСТОКВАШИНО 🐶🐱 Шар для Шарика 🔮 Новая серия 🌳 Сборник мультфильмов ⭐ Мультики 2024, Ноябрь
Anonim
Безопасная вечеринка этим летом с чашкой Arduino со светодиодной подсветкой, реагирующей на алкоголь в крови
Безопасная вечеринка этим летом с чашкой Arduino со светодиодной подсветкой, реагирующей на алкоголь в крови

Уровень сложности проекта: средний

Необходимые навыки:

- Чтение и тиражирование диаграммы

- Пайка, если вы решите не покупать предварительно припаянные детали

Введение в проект

В Соединенных Штатах и во всем мире безответственное употребление алкоголя представляет серьезную угрозу для здоровья. Безответственное употребление алкоголя может привести к смерти в результате вождения в нетрезвом виде и повреждения печени, а также к долгосрочным последствиям, таким как возможное повреждение мозга и почек. Только в Соединенных Штатах из-за злоупотребления алкоголем было потеряно 250 миллиардов долларов (NIAAA, 2010), а также более 88 000 человек, что сделало алкоголь третьей по значимости предотвратимой причиной смерти в стране. Вопрос для этого проекта в том, как мы, как создатели, можем решить эту проблему и сделать так, чтобы веселые празднования с алкоголем, такие как вечеринки, оставались безопасными и веселыми?

Мой ответ на этот вопрос заключался в том, чтобы найти способ оценить, а затем визуализировать прогнозируемый BAC пользователя, чтобы позволить им лучше понять, в каком состоянии они находятся. В этом проекте я использовал микроконтроллер Arduino с датчиком уровня воды, светодиодным кольцом и ЖК-экраном, чтобы отслеживать, сколько напитков выпил человек, а затем найти способ оценить содержание алкоголя в крови (BAC) в крови. пользователя в зависимости от пола и веса. Расчетный BAC, в зависимости от того, в каком диапазоне он находился, определяет анимацию светодиодного кольца ниже. Диапазон находится между четырьмя отдельными областями: безопасный, для ослабленных, в состоянии опьянения и смертельный исход. Я надеюсь, что, создав этот проект, вы не только создадите пригодный для использования проект Arduino, но и получите лучшее понимание того, как мы метаболизируем алкоголь, и, возможно, даже некоторые базовые программы, если вы решите просмотреть закомментированный код.

Как чашка узнает, сколько я выпил?

Если аналоговое значение датчика уровня воды превышает 300, логическое значение, представляющее чашку, будет записано как ВЫСОКОЕ (полное). Если аналоговое значение датчика ниже 300, логическое значение, представляющее чашку, будет записано как LOW (пустое). Чтобы зарегистрировать добавление напитка в чашку, это логическое значение должно измениться с пустого на полное.

Как вы определили BAC?

Чтобы сделать этот проект как можно более точным, я использовал данные из Университета Святого Бенедикта и Сент-Джона о том, насколько увеличивается BAC человека за каждый выпитый напиток. Эта программа учитывает не только вес, но и пол пользователя при расчете BAC пользователя. Это связано с тем, что BAC зависит от того, насколько быстро организм способен усваивать алкоголь, который различается у мужчин и женщин и людей с разным весом. Графики можно посмотреть здесь.

Почему диапазоны BAC различаются для разных людей?

Диапазоны BAC основаны непосредственно на данных, полученных из Университета SBSJ, который учитывает, сколько алкоголя пользователь должен иметь в своей системе, чтобы он попадал в один из четырех диапазонов:

- Безопасность: единственный безопасный диапазон для управления транспортным средством (представлен радужной анимацией).

- Для инвалидов: если вы управляете транспортным средством в этом диапазоне, может быть предъявлено обвинение (отображается оранжевой анимацией).

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

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

Но я хорошо принимаю алкоголь, значит, эта чашка неточная?

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

Запасы

Поставки общей электроники для этого проекта включают:

- Две кнопки

- перемычки

- потенциометр 10k

- 2 резистора по 10кОм

- 12 резистор 220

Специальные части / модули:

- Arduino (я использовал Uno для этого проекта, но существует много более дешевых альтернатив)

- Датчик уровня воды (ПРИМЕЧАНИЕ: эти датчики часто неточны и быстро подвержены коррозии, что было большим разочарованием при разработке этого проекта. Однако мне удалось найти решение, так что мои трудности с этим проектом не переросли в ваши трудности. с этим проектом.)

- Светодиодное кольцо (12 светодиодов)

- ЖК-экран

Инструменты:

- Паяльник (нужен только при покупке светодиодного кольца без разъемов)

- 3D-принтер (опционально)

Шаг 1. Загрузите IDE Arduino и скопируйте требуемый код

Для этого проекта не требуется компьютерного программирования, все, что вам нужно сделать, это скопировать код отсюда и вставить его в среду разработки Arduino. Чтобы загрузить IDE Arduino:

Скачивание и настройка Arduino IDE:

- Посетите веб-сайт Arduino и выберите загрузку для своей системы.

- После завершения загрузки получите номер COM-порта для Arduino. Подключите Arduino и перейдите в диспетчер устройств. В разделе «Порты» найдите свой Arduino и обратите внимание на номер порта. Это должно выглядеть примерно так: COMx (где x - это число от 1 до 9)

- Используя номер COM-порта, настройте IDE для своей платы и порта, открыв Arduino IDE и выбрав «Инструменты» на верхней панели. Выберите «Доска» и выберите свою модель. Затем выберите «Порт» и выберите порт, который вы видели для вашего Arduino в диспетчере устройств.

Получение кода проекта

- Скопируйте код с этого шага и вставьте его в белую секцию Arduino IDE. Обязательно сначала удалите все в эскизе, например, процедуры loop () и void (), поскольку они реализованы в коде, который вы копируете и вставляете.

Шаг 2. Загрузите необходимые библиотеки из Arduino IDE

В этом проекте используются библиотеки «Wire», «LiquidCrystal» и «Adafruit Neopixel». Эскизу нужны эти библиотеки для взаимодействия с компонентами, используемыми в этом проекте. Чтобы скачать эти библиотеки:

- Выберите «Эскиз» на верхней панели.

- В раскрывающемся меню выберите «Включить библиотеку».

- Выберите «Управление библиотеками».

- Найдите три библиотеки (Wire, Liquid Crystal и Adafruit Neopixel), используемые в этом проекте, и загрузите каждую из них.

Обратите внимание, что отказ от загрузки этих библиотек приведет к ошибке во время компиляции скетча. После этого шага подключите кабель от Arduino к ноутбуку и нажмите кнопку со стрелкой в верхнем левом углу IDE. Это скомпилирует и загрузит скетч в Arduino. Теперь, когда мы закончили со всеми шагами, связанными с программированием, перейдем к подключению!

Шаг 3: (Необязательно) Припой к деталям

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

- Создайте вентилируемую среду для пайки, желательно с вентилятором с фильтром. Если у вас нет такого вентилятора, вы можете сделать то же самое, что и я: открыть окна и включить вентилятор или пойти в гараж, пока он открыт.

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

- Настройте заголовки и часть, к которой вы хотите прикрепить заголовки, используя руку помощи или другой инструмент, который позволяет вам расположить части, позволяя вам держать паяльник.

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

- После того, как все контакты припаяны, поместите паяльник в подставку, поверните ручку в положение «выключено» и отключите утюг от сети. Подождите, пока утюг полностью остынет, чтобы убрать его.

Шаг 4: Следуйте рисунку и подключите Arduino к компонентам

Следуйте рисунку и подключите Arduino к компонентам
Следуйте рисунку и подключите Arduino к компонентам

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

- Правильно ли подключены мои шины заземления и питания друг к другу и к контактам 5 В и GND Arduino?

- Я возился с потенциометром, если ЖК-дисплей не отображается? (Попробуйте повернуть потенциометр, чтобы изменить сопротивление, если белые символы не отображаются должным образом)

- Правильно ли подключены GND и VCC к каждой части к правильному выводу? Используется ли установка на 5 вольт? (Все датчики и компоненты в этом проекте будут использовать 5 вольт, а не 3,3 вольт.

- Был ли провод случайно помещен на одно соединение от предполагаемого места?

ПРИМЕЧАНИЕ: При работе с электроникой всегда следите за тем, чтобы цепь не была запитана во время ее замены. В противном случае детали могут быть повреждены, а работа с более высоким напряжением может стать причиной телесных повреждений

Шаг 5: Соберите проект "Подстаканник"

Собрать проект
Собрать проект

Вы можете заметить, что заглушки светодиодного кольца выступают и не позволяют поставить чашку плашмя на поверхность. Чтобы решить эту проблему, мы прикрепим светодиодное кольцо к детали, напечатанной на 3D-принтере, что позволит разместить кольцо на столе. На этом этапе можно найти файл 3d. Если у вас нет 3D-принтера, не волнуйтесь, этот отпечаток в моей местной библиотеке стоит 1,40 доллара. Если в вашей местной библиотеке нет 3D-принтера, вы можете воспользоваться другими вариантами, включая скрепки и онлайн-продавцов. Также следует отметить, что определенная часть, которую я прикрепил, не единственная совместимая, это просто способ сделать для меня модель. Так что, если вы хорошо разбираетесь в деревообработке или других ремеслах, это будет более чем приемлемо!

Если вы решите распечатать деталь для этого проекта:

- Загрузите файл STL для импорта в слайсер, такой как Cura

- Измерьте диаметр дна чашки по вашему выбору

- Отрегулируйте масштаб модели (в миллиметрах при использовании Cura) в соответствии с вашими размерами.

Шаг 6: прикрепите подставку и датчик к чашке по вашему выбору

Прикрепите подставку и датчик к чашке по вашему выбору
Прикрепите подставку и датчик к чашке по вашему выбору

Затем возьмите подставку и прикрепите ее к дну мерной чашки с помощью клея. Теперь перемычки смогут получить доступ к датчику уровня воды и светодиодному кольцу, а также будут лежать на столе. Теперь нужно прикрепить датчик. Следует очень осторожно подходить к размещению датчика, поскольку эти датчики, хотя и продаются как аналоговые, на самом деле выдают только два сигнала - вода или нет воды. Это вызвало у меня очень много проблем, но я смог найти способ их решить, чтобы другие не испытали такого же разочарования в этом проекте. Ключевым моментом является размещение датчика в верхней части того места, где будет находиться жидкость, когда чашка будет заполнена. Это гарантирует, что датчик сможет зарегистрировать «пустое» состояние и, следовательно, рассчитать следующий налитый напиток.

Шаг 7: Украсьте проект и защитите провода

Украсьте проект и защитите провода
Украсьте проект и защитите провода

На этом этапе у вас, вероятно, остался пучок проводов и деталей, который выглядит как на прилагаемой фотографии. Что вы делаете, чтобы проект выглядел лучше, полностью зависит от вас, если вы учитываете следующие критерии:

- У вас должна быть возможность подключить зарядное устройство к Arduino

- Вы должны вырезать отверстия или места для дизайна, чтобы пользователь мог получить доступ к ЖК-экрану, кнопкам, датчику уровня воды и светодиодному кольцу.

- Вы должны защищать электронные компоненты от намокания, так как это возможно, поскольку проект ориентирован на напитки.

Некоторые варианты включения проекта:

- Обувная коробка или картон

- Водонепроницаемый корпус для электронного оборудования, такой как здесь

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

Шаг 8: Пейте ответственно

Пить ответственно!
Пить ответственно!

После того, как вы прикрепили чашку к подставке и датчику воды, все готово! Вы узнаете, что все работает правильно, когда на ЖК-экране появится запрос о вашем поле и весе. Одна кнопка соответствует весу, а другая - полу. Вы можете щелкнуть каждый из них, чтобы увидеть, какой из них, перед тем, как пометить его. После выбора правильного веса (значения указаны с шагом 20) и пола, нажмите обе кнопки одновременно. Это запустит остальную часть программы, и вы увидите, как светодиодное кольцо мигает радужным узором. Теперь чашка готова, и вы можете налить напиток. По мере того, как вы потребляете и наливаете больше напитков, программа будет использовать таблицу BAC, описанную во введении, для определения BAC. Обратите внимание, что эта программа предполагает один стандартный напиток на каждую чашку, пожалуйста, посмотрите изображение (Университет Южной Алабамы) или посетите здесь, чтобы увидеть, как переводится ваш любимый напиток. Также обратите внимание, что цель этого проекта - не поощрять любую незаконную деятельность, а пропагандировать безопасное употребление алкоголя для тех, кто достаточно взрослый, чтобы употреблять алкоголь. Кроме того, хотя я очень доволен тем, насколько точна оценка BAC для стандартного напитка, этот проект является инструментом, который поможет вам безопасно пить, но не несет ответственности, если вы решите водить машину после употребления любого алкоголя.

Шаг 9: (Необязательно) Устранение неполадок

(Необязательно) Устранение неполадок
(Необязательно) Устранение неполадок

- Ошибка «Проблема с загрузкой на плату»: при попытке скомпилировать и загрузить скетч в Arduino эта ошибка возникнет, если ваш COM-порт настроен неправильно (см. Первый шаг о том, как найти и установить правильный COM-порт) или ваш плата не подключена.

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

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

- Модуль очень горячий и не передает правильные значения: это результат разрыва соединения GND или VCC, вероятно, при работе с другими проводами. Убедитесь, что подключения GND и VCC к датчику выполнены, и проследите за ними к контактам GND и 5V от компонента, к макетной плате, к Arduino, чтобы найти ошибки.

- Я случайно превысил свой вес: не волнуйтесь, настройка веса возвращается к 100 после 240, так что вы можете просто менять варианты, чтобы вернуться к своему весу.

Если проблема не устранена, подключите кабель от Arduino к ноутбуку, откройте IDE и запустите скетч. Во время выполнения скетча на последовательном мониторе будет отображаться несколько значений, позволяющих увидеть, что не работает должным образом. Чтобы получить доступ к монитору последовательного порта, запустите программу и выберите «Инструменты», а затем «Монитор последовательного порта» из раскрывающегося меню.

Шаг 10: отражение

Что касается программирования, я очень доволен тем, как получился этот проект. Мне потребовалось время, чтобы написать, так как я все еще новичок, но я смог изучить много новых библиотек и достичь цели по прогнозированию BAC, и я чувствую, что не использовал сокращений в оценке BAC, поскольку я использовал оба пола и вес (это составляло большую часть эскиза). Однако мне нужно утвердить дизайн. Хотя у меня нет 3D-принтера и я не разбираюсь в деревообработке, мне очень хотелось, чтобы мой проект был представлен лучше. Я намерен скоро получить Ender 3, и первое, что я сделаю, - это вернусь к тому же самому руководству, чтобы улучшить дизайн. Как мой первый инструктор, я чувствую, что процесс прошел хорошо, и я очень доволен тем, насколько этот проект отвечал на подсказку, которую я создал для Party Challenge, но разработал то, к чему я хотел бы вернуться позже, когда у меня появятся ресурсы.

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