Мазмуну:

Бул жай Arduino кан-алкоголдук реактивдүү LED кубогу менен коопсуз партия: 10 кадам
Бул жай Arduino кан-алкоголдук реактивдүү LED кубогу менен коопсуз партия: 10 кадам

Video: Бул жай Arduino кан-алкоголдук реактивдүү LED кубогу менен коопсуз партия: 10 кадам

Video: Бул жай Arduino кан-алкоголдук реактивдүү LED кубогу менен коопсуз партия: 10 кадам
Video: How to use AC 80-260V 100A PZEM-061 Active Power Meter 2024, Ноябрь
Anonim
Бул жай Arduino кан-алкоголго реактивдүү LED кубогу менен коопсуз
Бул жай Arduino кан-алкоголго реактивдүү LED кубогу менен коопсуз

Долбоордун деңгээлинин татаалдыгы: орто

Керектүү көндүмдөр:

- Диаграмманы окуу жана көчүрүү

- Эгерде сиз алдын ала ширетилген тетиктерди сатып албоону чечсеңиз, анда ширетүү

Долбоордун киришүүсү

Америка Кошмо Штаттарында жана дүйнө жүзүндө алкоголь жоопкерчиликсиз түрдө колдонулганда ден соолукка олуттуу коркунуч келтирет. Унаанын таасири астында жана боордун бузулушунан улам өлүмдөр, ошондой эле мээнин жана бөйрөктүн бузулушу сыяктуу узак мөөнөттүү эффекттер алкоголду жоопкерчиликсиз колдонуудан келип чыгышы мүмкүн. Бир гана Америка Кошмо Штаттарында, алкоголду туура эмес колдонуудан улам 250 миллиард доллар зыян тарткан (NIAAA, 2010), ошондой эле 88 миңден ашык адам, бул алкоголду өлкөдөгү өлүмдүн алдын алуу үчүнчү негизги себеби кылып алган. Бул проектке суроо жаратуучулар катары, бул маселени кантип чечсек болот жана алкоголдук ичимдиктер менен көңүлдүү майрамдарды коопсуз жана көңүлдүү өткөрө алабыз?

Бул суроого менин жообум, кандай абалда экенин жакшыраак түшүнүүгө мүмкүнчүлүк берүү үчүн колдонуучунун болжолдонгон BACын баалоонун жолун табуу жана андан кийин элестетүү болчу. Бул долбоор үчүн мен суунун деңгээлиндеги сенсор, LED шакеги жана ЖК экраны бар Arduino микроконтроллерин колдонуп, адамдын канча ичимдик ичкенин байкап, анан кандагы спирттин (BAC) баасын аныктоонун жолун таптым. колдонуучу жынысына жана салмагына жараша. Болжолдуу BAC, ал кандай диапазондо болгонуна жараша, төмөндөгү LED шакектин анимациясын аныктайт. Диапазондор төрт башка аймакта болот: Коопсуз, бузулган, мас жана өлүмгө алып келүүчү. Менин үмүтүм - бул долбоорду түзүү менен, сиз бир гана жарактуу Arduino долбоорун түзбөңүз, бирок эгерде сиз комментарийленген кодду карап көрүүнү чечсеңиз, биз алкоголду кантип метаболизм кылаарыбызды жана балким кээ бир негизги программалоону жакшыраак түшүнөбүз.

Канча ичкенимди чыны кайдан билет?

Эгерде суунун деңгээлинин сенсорунун аналогдук мааниси 300дөн ашса, чөйчөктү көрсөтүүчү логикалык мааниси HIGH (толук) катары жазылат. Эгерде сенсордун аналогдук мааниси 300дөн төмөн болсо, чөйчөктү билдирген логикалык мааниси LOW (бош) катары жазылат. Чыныга кошулган суусундукту жаздыруу үчүн бул логикалык мааниси боштуктан толукка чейин өзгөрүшү керек.

BACти кантип аныктадыңыз?

Бул долбоорду мүмкүн болушунча так кылуу үчүн, мен Сент -Бенедикт жана Сент -Джон университетинин маалыматтарын колдондум, ичимдикке адамдын BAC канчалык көбөйгөнү. Бул программа колдонуучунун BACын эсептөөдө салмагын эле эмес, колдонуучунун жынысын да эске алат. Бул BAC эркектер менен аялдардын жана ар кандай салмактагы адамдардын ортосунда айырмаланган организмдин алкоголду метаболизмге жөндөмдүүлүгүнө негизделген. Диаграммаларды бул жерден көрүүгө болот.

Эмне үчүн BAC диапазону ар кандай адамдар үчүн ар кандай?

BAC диапазондору SBSJ университетинен алынган маалыматтарга негизделет, алар төрт системанын биринде болушу үчүн колдонуучунун системасында канча алкоголь болушу керектигин карайт:

- Коопсуз: Унааны башкара турган жалгыз коопсуз диапазон (асан -үсөн анимациясы менен көрсөтүлгөн)

- Бузулган: Эгерде сиз ушул диапазондо унаа башкарсаңыз, кылмыш жоопкерчилигине алып келиши мүмкүн (кызгылт сары анимация менен көрсөтүлгөн)

- Мас абалында: Эгер сиз ушул аралыкта унаа башкарсаңыз, кылмыш жоопкерчилигине тартылат (кызыл жарык менен көрсөтүлгөн)

- Өлүмдүү: Эгер сиз эсиңизден чыга элек болсоңуз, анда сиз бул диапазондо дароо медициналык коркунучта турасыз (кызыл жана ак жарыктар жаркырап чагылдырылган)

Бирок мен спирт ичимдиктерин жакшы кабыл алам, ошондуктан бул чөйчөк так эмеспи?

Айдоо учурунда мыйзам чегинен ашып кетсеңиз, алкоголду ичкенден кийин канчалык жакшы аракеттене аларыңыз анча деле мааниге ээ болбойт. Бул долбоордо колдонулган маалыматтар колдонуучунун БАКтын юридикалык жана медициналык диапазондору кандай экенин, ошол эле учурда колдонуучунун салмагын жана жынысын эске алат.

Жабдуулар

Бул долбоор үчүн жалпы электроника жабдуулары төмөнкүлөрдү камтыйт:

- Эки баскыч

- секирүүчү зымдар

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

- 2 10k каршылыгы

- 1 220 каршылык

Атайын бөлүктөр/модулдар:

- Arduino (мен бул долбоор үчүн Uno колдонгом, бирок көптөгөн арзан альтернативалар бар)

- Суунун деңгээлиндеги сенсор (ЭСКЕРТҮҮ: Бул сенсорлор көбүнчө так эмес жана тез коррозияга учурайт, бул бул долбоорду иштеп чыгуунун эң чоң капачылыгы болчу. Бул долбоор менен.)

- LED шакеги (12 LED)

- ЖК экран

Куралдар:

- Лампочка (баштыксыз LED шакегин сатып алууда гана керек)

- 3d принтер (милдеттүү эмес)

1 -кадам: Arduino IDEди жүктөп алыңыз жана керектүү кодду көчүрүңүз

Бул долбоор үчүн эч кандай компьютердик программалоо талап кылынбайт, болгону бул жерден кодду көчүрүү жана Arduino IDEге чаптоо гана жетиштүү. Arduino IDE жүктөө үчүн:

Arduino IDEди жүктөө жана конфигурациялоо:

- Arduino вебсайтына кирип, тутумуңуз үчүн жүктөөнү тандаңыз

- Жүктөө аяктагандан кийин, Arduino үчүн COM портунун номерин алыңыз. Arduino -ны сайыңыз жана Түзмөк менеджериңизге өтүңүз. Порттордун астынан Arduino издеп, порт номерин эске алыңыз. Бул окшош болушу керек: COMx (Бул жерде x 1-9 саны)

- COM портунун номерин колдонуп, Arduino IDEди ачуу жана үстүнкү тилкеде "Куралдар" тандоо аркылуу IDEди тактаңызга жана портко конфигурациялаңыз. "Такта" тандап, өзүңүздүн моделиңизди тандаңыз. Андан кийин, "Портту" тандап, Device Managerдеги Arduino үчүн көргөн порту тандаңыз.

Долбоордун кодун алуу

- Бул кадамдын кодун көчүрүп, Arduino IDEнин ак бөлүмүнө чаптаңыз. Адегенде эскиздеги нерселердин баарын жок кылууну унутпаңыз, мисалы loop () жана void () тартиби, анткени алар сиз көчүрүп жана чаптап жаткан коддо ишке ашырылган.

2 -кадам: Arduino IDEден керектүү китепканаларды жүктөп алыңыз

Бул долбоордо колдонулган китепканаларга "Wire", "LiquidCrystal" жана "Adafruit Neopixel" кирет. Эскиз бул китепканаларга бул долбоордо колдонулган компоненттер менен байланышуу үчүн керек. Бул китепканаларды жүктөө үчүн:

- Жогорку тилкеде "Эскизди" тандаңыз

- Ачылуучу менюдан "Китепкананы кошуу" дегенди тандаңыз

- "Китепканаларды башкаруу" тандоо

- Бул долбоордо колдонулган үч китепкананы (Wire, суюк кристалл жана Adafruit Neopixel) издеп, ар бирин жүктөп алыңыз.

Бул китепканаларды жүктөп албоо эскизди түзүүдө катага алып келерин эске алыңыз. Бул кадамдан кийин, Arduino кабелин ноутбукка тиркеп, IDEнин жогорку сол бурчундагы жебе баскычын басыңыз. Бул эскизди түзүп, Arduinoго жүктөйт. Эми биз программалоого байланыштуу бардык кадамдарды жасап бүткөндөн кийин, зымга өтөлү!

3 -кадам: (Милдеттүү эмес) Solder Headers On Parts

Эгерде сиз бул долбоордун бөлүктөрүн сатып алууну чечкен болсоңуз, анда башына төөнөгүчтөр кошулган эмес, муну өзүңүз жасашыңыз керек болот. Бул бөлүк жөнүндө көп кабатыр болбоңуз, бул проект үчүн ширетүү абдан жөнөкөй.

- Вентиляциялоочу чөйрөнү жаратып, аны чыпкасы бар желдеткич менен кошуңуз. Эгерде сизде мындай желдеткич жок болсо, анда мен кылганды кылып, терезелерди ачып, желдеткичти күйгүзүп же гаражга барса болот.

- Паяльникти ысытыңыз жана ашыкча ширетүүнү өчүрүү үчүн сизде нымдуу губка бар экенин текшериңиз.

- Жардам колун же башкаларды тиркегиңиз келген бөлүктү, ширеткичти кармоого уруксат берүү менен бөлүктөрдү иреттөөгө мүмкүндүк берүүчү орнотуу.

- Штепсель менен төөнөгүчтү туташтырып жаткан бөлүктүн ортосунда туташып турганда, ширеткичти ширетүүчү темирге тийгизип коюңуз. Баштыктын төөнөгүчтөрү менен бөлүгүнүн ортосундагы электрдик байланышты камсыз кылуу үчүн жетиштүү ширетүү пайда болгондо, үтүктү чечип алыңыз. Губкадагы ашыкча ширеткичти аарчып, бул процессти бардык казыктар үчүн кайталаңыз.

- Бардык төөнөгүчтөр ширетилгенден кийин, ширетүүчү үтүктү стендге коюңуз, баскычты "өчүрүүгө" буруп, үтүктү сууруңуз. Темирди муздатуу үчүн күтө туруңуз.

4 -кадам: Сүрөттү ээрчип, компоненттерге Wire Arduino

Сүрөттү ээрчип, компоненттерге Arduino Wire салыңыз
Сүрөттү ээрчип, компоненттерге Arduino Wire салыңыз

Бул кадамда, сиз долбоорго керектүү бөлүктөрдү Arduino менен туташтыруу үчүн секирүүчү зымдарды колдонушуңуз керек болот. Мен муну үчүн Fritzing файлын бердим, аны бул кадамда көрүүгө болот. Сураныч, эгерде мен зым менен байланышкан көйгөйгө туш болсом, өзүмө берген жалпы суроолордун тизмесин караңыз:

- Менин жер жана электр рельстери бири -бирине жана Arduino 5v жана GND казыктарына туура туташканбы?

- ЖК дисплейи көрүнбөй жатса, мен потенциометрим менен аралашып кеттимби? (Потенциометрди каршылыгын өзгөртүү үчүн буруп көрүңүз, эгерде ак тамгалар туура келбесе)

- GND жана VCC ар бир бөлүккө туура пинге туура туташканбы? 5 вольттуу жөндөө колдонулабы? (Бул долбоордун бардык сенсорлору жана компоненттери 3,3 вольтту эмес, 5 вольтту колдонот.

- Зым кокусунан бир туташуу болушу керек жерден алыс болгонбу?

ЭСКЕРТҮҮ: Электроника менен иштөөдө, чынжыр алмаштырылып жатканда, анын иштебей турганын текшериңиз. Болбосо, бөлүктөр бузулушу мүмкүн жана чоң чыңалуу менен иштегенде денеге зыян келтирилиши мүмкүн

5 -кадам: "Coaster" долбоорун чогултуу

Долбоорду чогултуу
Долбоорду чогултуу

Сиз LED шакегинин баштары жабышып калганын жана чөйчөктү бетине тегиз жайгаштырууга жол бербей турганын байкасаңыз болот. Бул көйгөйдү чечүү үчүн, биз LED шакегин 3d басылган бөлүгүнө тиркейбиз, бул шакектин үстөлдүн үстүнө тегиз жайгашуусуна мүмкүндүк берет. 3d файлды бул кадамда тапса болот. Эгерде сизде 3d принтер жок болсо, кабатыр болбоңуз, бул басып чыгаруу менин китепканамда 1.40 турат. Эгерде сиздин жергиликтүү китепканаңызда 3d принтери жок болсо, башка варианттарга Степлер жана онлайн сатуучулар кирет. Белгилей кетүүчү нерсе, мен тиркеген бөлүк бир гана шайкеш эмес, бул мен үчүн модель жасоонун жолу. Ошентип, эгерде сиз жыгач иштетүү же башка кол өнөрчүлүк менен жакшы болсоңуз, анда алар алгылыктуу болмок!

Эгерде сиз бул долбоордун бөлүгүн басып чыгарууну тандасаңыз:

- STL файлын Cura сыяктуу кескичке импорттоо үчүн жүктөп алыңыз

- Сиз тандаган чөйчөктүн түбүнүн диаметри өлчөнөт

- Моделдин масштабын тууралаңыз (эгерде Cura колдонулса, миллиметр менен)

6 -кадам: Тандооңуздун чөйчөгүнө Coaster жана Sensor тиркеңиз

Тандоо кубогуна Coaster жана Sensor тиркеңиз
Тандоо кубогуна Coaster жана Sensor тиркеңиз

Андан кийин, кастрюлуңузду алып, ченеген чөйчөгүңүздүн түбүнө жабыштыргычты колдонуңуз. Эми, секирүүчү зымдар суу деңгээлинин сенсоруна жана LED шакегине кире алат, ошондой эле столдун үстүнө тегиз жатып калат. Эми сенсорду туташтыруу керек. Сенсордун жайгаштырылышы жөнүндө этият болуу өтө этият, анткени бул сенсорлор аналог катары сатылганда, чынында эки сигналды гана өчүрүшөт- суу же суу жок. Бул мен үчүн абдан көп көйгөйлөрдү жаратты, бирок мен аны чечүүнүн жолун таба алдым, ошондо башкалар бул долбоор менен бирдей нааразычылыктарды башынан өткөрүшпөдү. Негизги сенсор чөйчөк толгон кезде суюктук боло турган жерге жакын жайгашкан. Бул сенсор "бош" абалды каттай ала тургандыгын жана демек, кийинки куюлган суусундукту эсептей ала тургандыгын аныктайт.

7 -кадам: Долбоорду кооздоо жана зымдарды коргоо

Долбоорду кооздоо жана зымдарды коргоо
Долбоорду кооздоо жана зымдарды коргоо

Бул жерде, балким, сиз тиркелген сүрөттө окшош зымдар жана бөлүктөрдүн топтому менен каласыз. Бул критерийлерди эстен чыгарбоо үчүн, долбоордун жакшыраак көрүнүшү үчүн эмне кылышыңыз толугу менен сизге байланыштуу:

- Сиз заряддагыч түзүлүштү Arduinoго кошо алышыңыз керек

- Колдонуучу ЖК экранга, баскычтарга, суу деңгээлинин сенсоруна жана LED шакегине кирүү үчүн тешиктерди же дизайн мейкиндиктерин кесип салышыңыз керек.

- Сиз электрондук компоненттерди суудан коргошуңуз керек, анткени бул долбоор суусундуктарга багытталган.

Долбоорду кошуу үчүн кээ бир тандоолор:

- Бут кийим же кутуча

- Суу өткөрбөгөн электроника долбоорунун корпусу, мисалы бул жерде

- 3d басылган дизайн (Бул мен издегим келген вариант, бирок менин китепканамда мындай дизайнды басып чыгаруу өтө кымбат болгон)

8 -кадам: жоопкерчилик менен ичкиле

Жоопкерчиликтүү ичүү!
Жоопкерчиликтүү ичүү!

Чыныңызды жээкке жана суу сенсоруна бекиткенден кийин, барганыңыз жакшы! ЖК экраны жынысыңызга жана салмагыңызга сураганда, баары туура иштеп жатканын билесиз. Бир баскыч салмагына туура келсе, экинчиси жынысына туура келет. Сиз ар бирин чыкылдатып, аны белгилөө алдында анын кайсынысы экенин көрө аласыз. Туура салмагыңызды (баалуулуктар 20 кадам) жана жынысын тандап алгандан кийин, эки баскычты бир убакта басыңыз. Бул программанын калган бөлүгүн баштайт жана сиз LED шакегинин асан -үсөн үлгүсүн жарк этип турганын көрөсүз. Чыны азыр ичимдик куюуга даяр. Сиз көбүрөөк суусундуктарды ичип жана куюп жатканыңызда, программа БАКти аныктоо үчүн киришмеде талкууланган BAC столун колдонот. Сураныч, бул программа ар бир чөйчөк үчүн бирден стандарттык суусундукту камтыйт, сүрөттү караңыз (Түштүк Алабама университети), же бул жерге келип, сүйүктүү суусундугуңуз кандай которулганын билиңиз. Ошондой эле, бул долбоордун максаты кандайдыр бир мыйзамсыз аракеттерге үндөө эмес, спирт ичимдигин ичүү үчүн карылар үчүн коопсуз ичүүгө көмөктөшүү экенин эске алыңыз. Ошондой эле, мен BACтин баалоосунун канчалык так экенине абдан кубанычтамын, бирок бул долбоор коопсуз ичүүгө жардам берет, бирок эгер сиз спирт ичимдигин ичкенден кийин унаа башкарууну тандасаңыз, эч кандай жоопкерчилик тартпайт.

9 -кадам: (Милдеттүү эмес) Мүчүлүштүктөрдү оңдоо

(Кошумча) Мүчүлүштүктөрдү оңдоо
(Кошумча) Мүчүлүштүктөрдү оңдоо

- "Тактага жүктөө көйгөйү" катасы: Эскизди Arduinoго компиляциялоого жана жүктөөгө аракет кылганда, эгер сиздин COM портуңуз туура конфигурацияланбаса, бул ката пайда болот (Туура COM портун кантип табуу жана орнотуу боюнча биринчи кадамды караңыз) же такта сайылган жок.

- ЖК экраны ак белгилерди көрсөтпөйт: Эгерде сиздин ЖКнын көк жарыгы күйүп турат, бирок эскизди жүктөгөндөн кийин эч кандай ак символдорду көрбөсөңүз, бул, сыягы, контраст көйгөйлөрүнө байланыштуу. Муну оңдоо үчүн потенциометрди оңго буруңуз (каармандарыңыз менен ак блокторду көрсөңүз солго буруңуз).

- Долбоор суусундуктарды туура эсептебейт: Бул ката суу деңгээлинин сенсорунун көйгөйү. Суу деңгээлиндеги сенсор модулдары тез дат басат жана өтө так эместиги менен белгилүү. Бирок, бул долбоор үчүн сизди кызыктырбашы керек, анткени мен сенсорго аналогдук эмес, санариптик сенсор катары карадым. Суу деңгээлинин сенсорун кантип туура орнотуу боюнча алтынчы кадамды караңыз.

- Модуль өтө ысык жана туура баалуулуктарды жөнөтпөйт: Бул GND же VCC байланышынын үзүлүшүнүн натыйжасы, балким башка зымдар менен иштеп жатканда. Сенсорго GND жана VCC туташуулары бүткөндүгүн текшериңиз жана аларды катадан издеп GND жана 5v пиндерине чейин, нанга, Arduinoго чейин аткарыңыз.

- Мен кокустан салмагымдан ашып кеттим: Кабатыр болбоңуз, салмагы 240тан кийин 100гө кайтат, андыктан сиз өзүңүздүн салмагыңызга кайтуу үчүн варианттарды бура берсеңиз болот.

Эгерде көйгөйлөр чечилбесе, Arduino кабелин ноутбукка туташтырыңыз, IDEди ачыңыз жана эскизди иштетиңиз. Эскиз иштеп жатканда, сериялык монитордо бир нече баалуулуктар көрсөтүлүп, иштебей жаткан нерсени көрүүгө мүмкүндүк берет. Сериялык мониторго кирүү үчүн, программаны жана "Аспаптарды", андан кийин ачылуучу менюдан "Сериялык Мониторду" иштетиңиз.

10 -кадам: Рефлексия

Программалоо жагында мен бул долбоордун ишке ашышына абдан кубанычтамын. Мен дагы эле башталгыч болгондуктан жазуум үчүн бир аз убакыт өттү, бирок мен көптөгөн жаңы китепканаларды үйрөнүп, BACти болжолдоо максатына жеттим жана BACти баалоодо эч кандай кыска жолдорду колдонбогондой сездим, анткени мен жыныстык катнашты да, салмагы (Бул эскиздин көпчүлүгүн түзгөн). Бирок, мен дизайнды жактырышым керек. Менде 3d принтер жок же жыгач иштетүүнү билбейм, бирок мен долбоорумдун жакшыраак көрсөтүлүшүн абдан каалачумун. Мен жакында Ender 3ке ээ болууну көздөп жатам, жана мен жасай турган биринчи нерсе - бул дизайнды жакшыртуу үчүн ошол эле нускамага кайтып келүү. Менин биринчи үйрөткүчүм катары, мен процесстин ийгиликтүү өткөнүн сезип турам жана бул долбоор мен партиянын чакырыктары үчүн жараткан ылдамдыгына канчалык ыраазы экениме абдан кубанычтамын, бирок кийинчерээк ресурстарым болгондо кайра кайтып келет элем.

Сунушталууда: