Съдържание:

Парти безопасно това лято с LED чаша, реагираща на кръв с алкохол Arduino: 10 стъпки
Парти безопасно това лято с LED чаша, реагираща на кръв с алкохол Arduino: 10 стъпки

Видео: Парти безопасно това лято с LED чаша, реагираща на кръв с алкохол Arduino: 10 стъпки

Видео: Парти безопасно това лято с LED чаша, реагираща на кръв с алкохол Arduino: 10 стъпки
Видео: о колежке 2024, Ноември
Anonim
Парти безопасно това лято с LED чаша с реактивна реакция на кръвта и алкохол Arduino
Парти безопасно това лято с LED чаша с реактивна реакция на кръвта и алкохол Arduino

Трудност на ниво проект: Средно

Необходими умения:

- Четене и копиране на диаграма

- Запояване, ако решите да не купувате предварително запоени части

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

В Съединените щати и по света алкохолът представлява сериозна заплаха за здравето, когато се консумира по безотговорен начин. Смъртните случаи, дължащи се на шофиране под въздействието и увреждане на черния дроб, както и дългосрочни ефекти, като възможно увреждане на мозъка и бъбреците, могат да бъдат резултат от безотговорната консумация на алкохол. Само в САЩ са загубени 250 милиарда долара поради злоупотреба с алкохол (NIAAA, 2010), както и над 88 000 души, което прави алкохола третата водеща предотвратима причина за смърт в страната. Въпросът за този проект е като създатели, как можем да се справим с този проблем и да гарантираме, че забавните празненства с алкохолни партита могат да останат в безопасност и забавление?

Моят отговор на този въпрос беше да намеря начин да преценя и след това да визуализирам прогнозираната BAC на потребителя, за да им позволя да разберат по -добре в какво състояние са. За този проект използвах микроконтролера Arduino със сензор за нивото на водата, LED пръстен и LCD екран, за да проследя колко напитки е консумирал човек, а след това да намеря начин за оценка на съдържанието на алкохол в кръвта (BAC) на потребителя въз основа на пол и тегло. Приблизителният BAC, в зависимост от това в какъв диапазон е бил, определя анимацията на LED пръстена по -долу. Диапазоните попадат между четири различни зони: Безопасна, увредена, опиянена и смъртоносна. Надявам се, че създавайки този проект, вие не само ще сте създали използваем проект Arduino, но и сте получили по -добро разбиране за това как метаболизираме алкохола и вероятно дори някои основни програми, ако решите да прегледате коментирания код.

Как чашата знае колко напитки съм изпил?

Ако аналоговата стойност на датчика за нивото на водата надвиши 300, булева стойност, представляваща чашата, ще бъде записана като HIGH (пълна). Ако аналоговата стойност на сензора е под 300, логическата стойност, представляваща чашата, ще бъде записана като LOW (празна). За да запишете добавяне на напитка в чашата, тази логическа стойност трябва да се промени от празна на пълна.

Как определихте BAC?

За да направя този проект възможно най -точен, използвах данни от университета „Свети Бенедикт и Сейнт Джон“за това колко BAC на дадено лице се увеличава на консумирана напитка. Тази програма отчита не само теглото, но и пола на потребителя при изчисляването на BAC на потребителя. Това е така, защото BAC се основава на това колко бързо тялото може да метаболизира алкохола, което е различно при мъжете и жените и хората с различно тегло. Графиките могат да се видят тук.

Защо диапазоните на BAC са различни за различните хора?

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

- Безопасен: Единственият безопасен диапазон за управление на превозно средство (представен от анимация на дъгата)

- Нарушен: Може да възникнат наказателни обвинения, ако работите с превозно средство в този диапазон (представено с оранжева анимация)

- В нетрезво състояние: Ако управлявате превозно средство в този диапазон (представено с червени светлини), ще има наказателни обвинения

- Смъртоносно: Ако все още не сте припаднали, вие сте в непосредствена медицинска опасност в този диапазон (представен от мигащи червени и бели светлини)

Но мога да приема добре алкохол, така че тази чаша не е точна?

Колко добре сте в състояние да действате след консумация на алкохол, няма да има голямо значение, ако надхвърлите законовата граница, докато шофирате. Данните, използвани в този проект, разглеждат какви са правните и медицински обхвати на BAC на потребителя, като същевременно се вземат предвид теглото и пола на потребителя.

Консумативи

Общите консумативи за електроника за този проект включват:

- Два бутона

- Джъмперни проводници

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

- 2 10k резистора

- 1 220 резистор

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

- Arduino (използвах Uno за този проект, но съществуват много по -евтини алтернативи)

- Сензор за нивото на водата (ЗАБЕЛЕЖКА: Тези сензори често са неточни и корозират бързо, което беше голямо разочарование при разработването на този проект. Въпреки това успях да намеря решение, така че трудностите ми с този проект да не се превърнат във вашите трудности с този проект.)

- LED пръстен (12 светодиода)

- LCD екран

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

- поялник (необходимо само при закупуване на LED пръстен без хедери)

- 3d принтер (по избор)

Стъпка 1: Изтеглете Arduino IDE и копирайте необходимия код

За този проект не се изисква компютърно програмиране, всичко, което трябва да направите, е да копирате кода от тук и да го поставите в Arduino IDE. За да изтеглите Arduino IDE:

Изтегляне и конфигуриране на Arduino IDE:

- Посетете уеб сайта на Arduino и изберете изтеглянето за вашата система

- След като изтеглянето приключи, вземете номера на COM порта за Arduino. Включете Arduino и отидете до вашия диспечер на устройства. Под портове потърсете вашия Arduino и обърнете внимание на номера на порта. Трябва да изглежда така: COMx (където x е число 1-9)

- Използвайки номера на COM порта, конфигурирайте IDE за вашата платка и порт, като отворите Arduino IDE и изберете „Инструменти“в горната лента. Изберете „Board“и изберете вашия модел. След това изберете „Порт“и изберете порта, който видяхте за вашия Arduino в диспечера на устройства.

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

- Копирайте кода от тази стъпка и го поставете в бялата част на Arduino IDE. Не забравяйте първо да изтриете всичко в скицата, като например процедурите loop () и void (), тъй като те са внедрени в кода, който копирате и поставяте.

Стъпка 2: Изтеглете необходимите библиотеки от Arduino IDE

Библиотеките, използвани в този проект, включват „Wire“, „LiquidCrystal“и „Adafruit Neopixel“. Скицата се нуждае от тези библиотеки, за да комуникира с компонентите, използвани в този проект. За да изтеглите тези библиотеки:

- Изберете „Скица“в горната лента

- Изберете „Включване на библиотека“от падащото меню

- Изберете „Управление на библиотеки“

- Потърсете трите библиотеки (тел, течни кристали и Adafruit Neopixel), използвани в този проект, и изтеглете всяка една.

Моля, обърнете внимание, че неуспешното изтегляне на тези библиотеки ще доведе до грешка по време на компилирането на скицата. След тази стъпка, свържете кабела от вашия Arduino към вашия лаптоп и натиснете бутона със стрелка в горния ляв ъгъл на IDE. Това ще компилира и качи скицата в Arduino. Сега, когато приключихме с всички стъпки, свързани с програмирането, нека преминем към окабеляването!

Стъпка 3: (Незадължително) Запояващи заглавки към части

Ако сте избрали да закупите части за този проект, на които вече не са заварени щифтове за заглавки, ще трябва да направите това сами. Не се притеснявайте много за тази част, запояването за този проект е много лесно.

- Създайте вентилирана среда за запояване, за предпочитане с вентилатор, съдържащ филтър. Ако нямате такъв вентилатор, можете да правите това, което правя и да отворите прозорците и да включите вентилатора или да отидете в гаража, докато е отворен.

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

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

- Докоснете спойката към поялника, докато сте на връзката между щифта на заглавката и частта, към която запоявате щифтовете. Свалете ютията, когато се образува достатъчно спойка, за да осигурите електрически контакт между щифтовете на заглавката и частта. Избършете излишната спойка върху гъбата и повторете този процес за всички щифтове.

- След като всички щифтове са запоени, поставете поялника в стойката, завъртете копчето на „изключено“и изключете ютията от контакта. Изчакайте, докато ютията се охлади напълно, за да я приберете.

Стъпка 4: Следвайте Picture and Wire Arduino към компонентите

Следвайте Picture and Wire Arduino към компоненти
Следвайте Picture and Wire Arduino към компоненти

В тази стъпка ще трябва да използвате джъмперните кабели, за да свържете необходимите за проекта части към Arduino. За целта съм предоставил файл Fritzing, който може да се види на тази стъпка. Моля, вижте по -долу списък с често срещани въпроси, които си задавам, ако срещна проблем с окабеляването:

- Моите релси за заземяване и захранване правилно ли са свързани помежду си и 5v и GND щифтовете на Arduino?

- Забърках ли се с моя потенциометър, ако LCD дисплеят не се показва? (Опитайте да завъртите потенциометъра, за да промените съпротивлението, ако белите знаци не се показват правилно)

- GND и VCC свързани ли са правилно към всяка част към правилния щифт? Използва се настройката от 5 волта? (Всички сензори и компоненти в този проект ще използват 5 волта, а не 3,3 волта.

- Случайно ли е поставен проводник на една връзка от мястото, където е трябвало да бъде?

ЗАБЕЛЕЖКА: Когато работите с електроника, винаги се уверявайте, че веригата не се захранва, докато се сменя. В противен случай частите могат да бъдат повредени и при работа с по -голямо напрежение може да нанесе телесни повреди

Стъпка 5: Съберете проект „Coaster“

Сглобяване на проект
Сглобяване на проект

Може да забележите, че заглавките на LED пръстена стърчат и не ви позволяват да поставите чашата плоско върху повърхността. За да разрешим този проблем, ще прикрепим LED пръстена към 3D отпечатана част, която ще позволи пръстена да бъде поставен плоско на маса. 3D файлът може да бъде намерен на тази стъпка. Ако нямате 3D принтер, не се притеснявайте, този отпечатък струваше 1,40 за изработка в моята местна библиотека. Ако вашата местна библиотека няма 3D принтер, други опции включват скоби и онлайн продавачи. Трябва също така да се отбележи, че определената част, която съм приложил, не е единствената съвместима, а просто начинът да направя модел за мен. Така че, ако се справяте добре с дървообработването или други занаяти, това би било повече от приемливо!

Ако решите да отпечатате частта за този проект:

- Изтеглете STL файла, за да импортирате в резачка като Cura

- Измерете диаметъра на дъното на чаша по ваш избор

- Настройте скалата на модела (в милиметри, ако използвате Cura) към вашето измерване

Стъпка 6: Прикрепете подложката и сензора към чашата по ваш избор

Прикрепете подложката и сензора към чашата по ваш избор
Прикрепете подложката и сензора към чашата по ваш избор

След това вземете подложката си и използвайте лепило, за да я прикрепите към дъното на чашата, която сте измерили. Сега джъмперните проводници ще имат достъп до сензора за нивото на водата и LED пръстена, а също така ще лежат на масата. Сега трябва да свържете сензора. Много е внимателно да бъдете внимателни относно разположението на сензора, тъй като тези сензори, макар и продавани като аналогови, наистина излъчват само два сигнала- вода или никаква вода. Това ми причини много проблеми, но успях да намеря начин да го реша, така че другите да не изпитват същите разочарования от този проект. Ключът е да поставите сензора близо до горната част на мястото, където ще бъде течността, когато чашата е пълна. Това ще гарантира, че сензорът може да регистрира "празно" състояние и следователно да може да преброи следващата налита напитка.

Стъпка 7: Украсете проекта и защитете проводниците

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

В този момент вероятно ще останете с куп жици и части, които приличат на приложената снимка. Какво ще направите, за да изглежда проектът по -добре, зависи изцяло от вас, стига да имате предвид тези критерии:

- Трябва да можете да включите зарядно устройство в захранването на Arduino

- Трябва да изрежете дупки или да проектирате пространства, за да може потребителят да има достъп до LCD екрана, бутоните, сензора за нивото на водата и LED пръстена.

- Трябва да предпазите електронните компоненти от намокряне, тъй като това е възможно, тъй като проектът се фокусира върху напитки.

Някои възможности за включване на проекта са:

- Кутия за обувки или кашон

- Водоустойчив електронен корпус като този, намерен тук

- 3D отпечатан дизайн (Това е опцията, която исках да преследвам, но беше твърде скъпо да отпечатам такъв дизайн в библиотеката си)

Стъпка 8: Пийте отговорно

Пийте отговорно!
Пийте отговорно!

След като прикрепите чашата си към подложката и сензора за вода, можете да тръгнете! Ще разберете, че всичко работи правилно, когато LCD екранът ви подкани за вашия пол и тегло. Единият бутон съответства на теглото, а другият отговаря на пола. Можете да щракнете върху всеки от тях, за да видите кой е, преди да го маркирате. След като изберете правилното си тегло (стойностите са на стъпки от 20) и пола, щракнете едновременно върху двата бутона. Това ще стартира останалата част от програмата и ще видите, че светодиодният пръстен мига като модел на дъга. Чашата вече е готова да излеете питие. Докато консумирате и наливате повече напитки, програмата ще използва таблицата BAC, обсъдена във въведението, за да определи BAC. Моля, обърнете внимание, че тази програма предполага една стандартна напитка за всяка чаша, моля, вижте снимката (Университета на Южна Алабама) или посетете тук, за да видите как превежда любимата ви напитка. Също така имайте предвид, че целта на този проект не е да насърчава никакви незаконни дейности, а да насърчава безопасното пиене за тези, които са достатъчно големи, за да консумират алкохол. Освен това, въпреки че съм много доволен от това колко преценката за BAC приема стандартна напитка, този проект е инструмент, който да ви помогне да пиете безопасно, но не носи отговорност, ако решите да шофирате след консумация на алкохол.

Стъпка 9: (По избор) Отстраняване на неизправности

(По избор) Отстраняване на неизправности
(По избор) Отстраняване на неизправности

- Грешка „Проблем при качването на борда“: Когато се опитвате да компилирате и качите скицата в Arduino, тази грешка ще се получи, ако вашият COM порт не е правилно конфигуриран (Вижте стъпка първа за това как да намерите и настроите правилния COM порт) или вашия дъската не е включена.

- LCD екранът не показва бели знаци: Ако синята светлина на LCD дисплея е включена, но не виждате бели знаци след качването на скицата, това най -вероятно се дължи на проблеми с контраста. За да поправите това, просто завъртете потенциометъра надясно (Обърнете се наляво, ако видите бели блокове с вашите герои).

- Проектът не отчита правилно напитките: Тази грешка е проблем със сензора за нивото на водата. Модулите на сензора за нивото на водата корозират бързо и са известни с това, че са много неточни. Това обаче не би трябвало да ви притеснява за този проект, тъй като третирах сензора като цифров сензор, а не като аналогов. Вижте стъпка шеста за това как правилно да свържете сензора за ниво на водата.

- Модулът е изключително горещ и не изпраща правилните стойности: Това е резултат от прекъсване на връзка GND или VCC, вероятно по време на работа с други проводници. Уверете се, че връзките GND и VCC към сензора са пълни и ги следвайте до GND и 5v щифтове от компонента, до макета, до Arduino, за да търсите грешки.

- Случайно надхвърлих теглото си: Не се притеснявайте, настройката на теглото се връща на 100 след 240, така че можете просто да продължите да се въртите през опциите, за да се върнете към теглото си.

Ако проблемите продължават, свържете кабела от Arduino към лаптопа, отворете IDE и стартирайте скицата. Докато скицата се изпълнява, няколко стойности ще бъдат показани в серийния монитор, което ви позволява да видите какво не функционира както трябва. За достъп до серийния монитор, стартирайте програмата и „Инструменти“и след това „Сериен монитор“от падащото меню.

Стъпка 10: Размисъл

От страна на програмирането съм много доволен от начина, по който този проект се оказа. Писането ми отне известно време, тъй като все още съм начинаещ, но успях да науча много нови библиотеки и да постигна целта да предвидя BAC и чувствам, че не взех преки пътища при оценката на BAC, тъй като използвах двата пола и тегло (Това съставлява по -голямата част от скицата). Трябва обаче да одобря дизайна. Въпреки че не притежавам 3D принтер и не познавам дървообработването, много исках проектът ми да бъде представен по -добре. Възнамерявам скоро да получа Ender 3 и първото нещо, което ще направя, е да се върна веднага към същата тази инструкция, за да подобря дизайна. Като моят първи инструктаж, чувствам, че процесът вървеше добре и съм много щастлив от степента, до която този проект се справи с подканата, която създадох за Party Challenge, но проектирам нещо, към което бих искал да се върна по -късно, когато имам ресурсите.

Препоръчано: