Мазмұны:
- Жабдықтар
- 1 -қадам: Arduino IDE жүктеңіз және қажетті кодты көшіріңіз
- 2 -қадам: Arduino IDE -ден қажетті кітапханаларды жүктеңіз
- 3 -қадам: (Қосымша) бөліктерге дәнекерлеу тақырыптары
- 4 -қадам: Picture және Wire Arduino компоненттеріне өтіңіз
- 5 -қадам: «Coaster» жобасын құрастыру
- 6 -қадам: жағалау мен сенсорды өзіңіз таңдаған шыныаяққа бекітіңіз
- 7 -қадам: Жобаны жақсарту және сымдарды қорғау
- 8 -қадам: жауапкершілікпен ішіңіз
- 9 -қадам: (Қосымша) Ақаулықтарды жою
- 10 -қадам: Рефлексия
Бейне: Осы жазда Arduino қан мен алкогольге реактивті жарықдиодты шыныаяқпен қауіпсіз кеш: 10 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
Жоба деңгейінің күрделілігі: Орташа
Қажетті дағдылар:
- сызбаны оқу және қайталау
- Егер сіз алдын ала дәнекерленген бөлшектерді сатып алмауды шешсеңіз, дәнекерлеу
Жобаға кіріспе
Америка Құрама Штаттарында және бүкіл әлемде алкоголь жауапкершіліксіз тұтынылған кезде денсаулығына үлкен қауіп төндірді. Көлік құралдарының әсерінен және бауырдың зақымдануынан болатын өлім, сондай-ақ ми мен бүйректің зақымдануы сияқты ұзақ мерзімді әсерлер алкогольді жауапкершіліксіз тұтынудан болуы мүмкін. Бір ғана АҚШ -та алкогольді теріс пайдалану салдарынан 250 миллиард доллар жоғалды (NIAAA, 2010), сондай -ақ 88 000 -нан астам адам алкогольді елдегі өлімнің алдын алудың үшінші себебі етіп алды. Бұл жобаның сұрағы жасаушылар болып табылады, біз бұл мәселені қалай шеше аламыз және алкогольмен көңілді мерекелер қауіпсіз және көңілді болатынына сенімді бола аламыз?
Бұл сұраққа менің жауабым - олардың қандай күйде екенін жақсы түсінуге мүмкіндік беру үшін пайдаланушының болжамды BAC -ін бағалаудың жолын табу, содан кейін елестету. Бұл жоба үшін мен су деңгейінің сенсоры, жарықдиодты сақинасы және СКД экраны бар Arduino микроконтроллерін қолдандым, онда адам қанша сусын ішкенін бақылап, содан кейін қандағы алкогольдің мөлшерін (BAC) бағалаудың жолын таптым. пайдаланушы жынысына және салмағына байланысты. Бағаланған BAC, ол қандай диапазонда болғанына байланысты, төмендегі жарықдиодты сақинаның анимациясын анықтайды. Диапазон төрт түрлі аймаққа бөлінеді: қауіпсіз, нашар, мас және өлімге әкелетін. Менің үміттенемін, бұл жобаны құру арқылы сіз тек қана қолдануға болатын Arduino жобасын құрып қана қоймай, сонымен қатар, егер сіз түсіндірілген кодты қарауды таңдасаңыз, алкогольді қалай метаболиздейтінімізді, мүмкін, тіпті кейбір негізгі бағдарламалауды жақсы түсінетін боласыз.
Шыныаяқ менің қанша сусын ішкенімді қайдан біледі?
Егер су деңгейінің сенсорының аналогтық мәні 300 -ден асса, тостағанды білдіретін логикалық мән HIGH (толық) ретінде жазылады. Егер сенсордың аналогтық мәні 300 -ден төмен болса, кесені білдіретін логикалық мән LOW (бос) ретінде жазылады. Шыныаяққа қосылатын сусынды жазу үшін бұл логикалық мән бос мәннен толық мәнге дейін өзгеруі керек.
BAC қалай анықталды?
Бұл жобаны мүмкіндігінше дәлірек ету үшін мен Сент -Бенедикт пен Сент -Джон университетінің деректерін пайдаландым, бір адамның BAC тұтынылатын сусынға қаншалықты өскені туралы. Бұл бағдарлама пайдаланушының BAC есептеулерінде салмақты ғана емес, сонымен қатар пайдаланушының жынысын да ескереді. Бұл BAC ерлер мен әйелдер мен әр түрлі салмақтағы адамдар арасында ерекшеленетін алкогольді метаболизмге организмнің қаншалықты тез қабілеттілігіне негізделген. Диаграммаларды мына жерден көруге болады.
Неліктен BAC диапазоны әр түрлі адамдар үшін ерекшеленеді?
BAC диапазоны SBSJ университетінен алынған деректерге негізделген, олар төрт диапазонның бірінде болу үшін пайдаланушының жүйесінде қанша алкоголь болуы керек екенін қарастырады:
- Қауіпсіз: көлікті басқаратын жалғыз қауіпсіз диапазон (кемпірқосақ анимациясымен ұсынылған)
- Нашар: Егер сіз осы диапазонда көлік жүргізсеңіз (қылмыстық апельсинмен көрсетілген) қылмыстық жауапкершілікке тартылуы мүмкін.
- Мас күйінде: егер сіз осы диапазонда көлік жүргізсеңіз (қызыл шаммен көрсетілген) қылмыстық жауапкершілікке тартылады.
- Өлім: Егер сіз әлі есіңізден шықпаған болсаңыз, сізге осы диапазонда медициналық қауіп төніп тұр (қызыл және ақ шамдар жыпылықтайды)
Бірақ мен алкогольді жақсы қабылдай аламын, сондықтан бұл тостаған дұрыс емес пе?
Егер сіз көлік жүргізу кезінде рұқсат етілген шегінен асып кетсеңіз, алкогольді ішкеннен кейін қаншалықты жақсы әрекет ете алатыныңыз маңызды емес. Бұл жобада пайдаланылатын деректер пайдаланушының BAC заңдық және медициналық диапазоны қандай екенін, сонымен қатар пайдаланушының салмағы мен жынысын ескереді.
Жабдықтар
Бұл жобаға арналған жалпы электроника жабдықтарына мыналар жатады:
- Екі түйме
- Өткізгіш сымдар
- 10 к потенциометр
- 2 10 к резистор
- 1 220 резистор
Арнайы бөліктер/модульдер:
- Arduino (мен бұл жобаға Uno қолдандым, бірақ көптеген арзан нұсқалар бар)
- Су деңгейінің сенсоры (ЕСКЕРТПЕ: Бұл датчиктер жиі дәл емес және тез коррозияға ұшырайды, бұл жобаны әзірлеуге үлкен кедергі болды. Алайда, мен бұл жобадағы қиындықтарым сіздің қиындықтарыңызға айналмауы үшін шешім таба алдым. Бұл жобамен.)
- жарықдиодты сақина (12 жарықдиодты)
- СКД экран
Құралдар:
- Пісіру үтігі (тек жарықдиодты сақинаны тақырыпсыз сатып алғанда ғана қажет)
- 3D принтері (міндетті емес)
1 -қадам: Arduino IDE жүктеңіз және қажетті кодты көшіріңіз
Бұл жоба үшін компьютерлік бағдарламалау қажет емес, тек осы жерден кодты көшіріп, Arduino IDE -ге қою жеткілікті. Arduino IDE жүктеу үшін:
Arduino IDE жүктеу және конфигурациялау:
- Arduino веб -сайтына кіріп, жүйеге жүктеуді таңдаңыз
- Жүктеу аяқталғаннан кейін Arduino үшін COM порт нөмірін алыңыз. Arduino -ны қосыңыз және құрылғы менеджеріне өтіңіз. Порттардың астында Arduino іздеп, порт нөміріне назар аударыңыз. Ол келесідей болуы керек: COMx (мұнда x-1-9 саны)
- COM портының нөмірін қолдана отырып, тақта мен портқа арналған IDE -ді Arduino IDE -ді ашып, жоғарғы жолақта «Құралдар» тармағын таңдау арқылы конфигурациялаңыз. «Тақтаны» таңдап, модельді таңдаңыз. Әрі қарай, «Портты» таңдаңыз және Device Manager бағдарламасында Arduino үшін көрген портты таңдаңыз.
Жоба кодын алу
- Осы қадамнан кодты көшіріп, Arduino IDE ақ бөліміне қойыңыз. Алдымен нобайдағы () және void () тәртіптері сияқты нобайдағы барлық нәрсені жойғаныңызға көз жеткізіңіз, себебі олар сіз көшіретін және қоятын кодта енгізілген.
2 -қадам: Arduino IDE -ден қажетті кітапханаларды жүктеңіз
Бұл жобада пайдаланылатын кітапханаларға «Wire», «LiquidCrystal» және «Adafruit Neopixel» кіреді. Эскизге осы кітапханада осы жобада қолданылатын компоненттермен байланысу қажет. Бұл кітапханаларды жүктеу үшін:
- Жоғарғы жолақта «Эскиз» таңдаңыз
- Ашылмалы мәзірден «Кітапхананы қосу» таңдаңыз
- «Кітапханаларды басқару» таңдаңыз
- Осы жобада қолданылатын үш кітапхананы (Wire, сұйық кристалл және Adafruit Neopixel) іздеңіз және әрқайсысын жүктеңіз.
Назар аударыңыз, бұл кітапханалар жүктелмесе, эскиз құрастырылған кезде қате пайда болады. Осы қадамнан кейін Arduino кабелін ноутбукке жалғаңыз және IDE-дің жоғарғы сол жақ бұрышындағы көрсеткі түймесін басыңыз. Бұл эскизді құрастырады және Arduino -ға жүктейді. Енді біз бағдарламалауға қатысты барлық қадамдарды аяқтадық, сымға көшейік!
3 -қадам: (Қосымша) бөліктерге дәнекерлеу тақырыптары
Егер сіз осы жобаның бөлшектерін сатып алуды шешкен болсаңыз, онда оларға түйреуіш түйреуіштер қосылмаған болса, мұны өзіңіз жасауыңыз қажет болады. Бұл бөлік туралы көп уайымдамаңыз, бұл жобаны дәнекерлеу өте қарапайым.
- Дәнекерлеу үшін желдетілетін ортаны жасаңыз, жақсырақ сүзгісі бар желдеткішпен. Егер сізде мұндай желдеткіш болмаса, сіз менің істегенімді істей аласыз және терезелерді ашып, желдеткішті қосуға немесе ол ашық тұрған кезде гаражға баруға болады.
- Дәнекерлеу үтікті қыздырыңыз және артық дәнекерлеуді сүрту үшін сізде дымқыл жөкеменің бар екеніне көз жеткізіңіз.
- Тақырыптар мен бекіткіңіз келетін бөлікті көмекші қолмен немесе бөлшектерді реттеуге мүмкіндік беретін басқа құралды қолданып орнатыңыз, бұл дәнекерлеу үтігін ұстауға мүмкіндік береді.
- Тірек түйреуіші мен түйреуіштерді дәнекерлеп тұрған бөлшек арасындағы байланыс кезінде дәнекерлеуішті дәнекерлегішке тигізіңіз. Тетік түйреуіштер мен бөліктің арасындағы электрлік байланыстың болуын қамтамасыз ететін жеткілікті дәнекер пайда болған кезде үтікті алыңыз. Губкадағы артық дәнекерлеуді сүртіп, барлық түйреуіштер үшін процедураны қайталаңыз.
- Барлық түйреуіштер дәнекерленгеннен кейін, дәнекерлеу үтікті тірекке қойыңыз, тұтқаны «өшірулі» күйге бұраңыз, үтікті ажыратыңыз. Үтікті толығымен салқындағанша күтіңіз.
4 -қадам: Picture және Wire Arduino компоненттеріне өтіңіз
Бұл қадамда сізге қажет бөлшектерді Arduino -ға қосу үшін қосқыш сымдарды пайдалану қажет болады. Мен мұны істеу үшін Fritzing файлын ұсындым, оны осы қадамда көруге болады. Егер мен сыммен байланысты проблемалар туындаса, өзіме қоятын жалпы сұрақтардың тізімін төменде қараңыз:
- Менің жер және электр рельстері бір -бірімен және Arduino 5V және GND түйреуіштерімен дұрыс қосылған ба?
- СКД дисплейі көрсетілмесе, мен потенциометрмен араласып қалдым ба? (Егер ақ таңбалар дұрыс көрсетілмесе, қарсылықты өзгерту үшін потенциометрді айналдырып көріңіз)
- GND және VCC әр бөлікке дұрыс түйреуішке дұрыс қосылған ба? 5 вольтты параметр қолданылуда ма? (Бұл жобадағы барлық сенсорлар мен компоненттер 3,3 вольтты емес, 5 вольтты қолданады.
- Сым кездейсоқ бір қосылымды болуы керек жерден алыс орналастырды ма?
ЕСКЕРТПЕ: Электроникамен жұмыс жасағанда, өзгерген кезде тізбектің қоректендірілмегеніне әрқашан көз жеткізіңіз. Әйтпесе, бөлшектер зақымдалуы мүмкін және үлкен кернеумен жұмыс істегенде дене жарақаты болуы мүмкін
5 -қадам: «Coaster» жобасын құрастыру
Сіз жарық диодты сақинаның тақырыпшалары жабысып тұрғанын және шыныаяқты бетіне тегіс қоюға мүмкіндік бермейтінін байқай аласыз. Бұл мәселені шешу үшін біз жарықдиодты сақинаны 3d басылған бөлікке бекітеміз, бұл сақинаны үстелге тегіс қоюға мүмкіндік береді. Бұл қадамда 3D файлын табуға болады. Егер сізде 3D принтер болмаса, алаңдамаңыз, бұл басып шығару менің кітапханамда 1.40 тұрады. Егер сіздің жергілікті кітапханада 3d принтері болмаса, басқа опцияларға қапсырмалар мен онлайн сатушылар кіреді. Айта кету керек, мен қосқан белгілі бір бөлік жалғыз үйлесімді емес, бұл мен үшін модель жасау әдісі. Егер сіз ағаш өңдеуді немесе басқа қолөнерді жақсы меңгерсеңіз, бұл қолайлы болар еді!
Егер сіз осы жобаның бөлігін басып шығаруды таңдасаңыз:
- Cura сияқты кескішке импорттау үшін STL файлын жүктеңіз
- Сіз таңдаған тостаған түбінің диаметрін өлшеңіз
- Үлгінің масштабын (егер Cura қолданылса миллиметрмен) өз өлшеміңізге сәйкес келтіріңіз
6 -қадам: жағалау мен сенсорды өзіңіз таңдаған шыныаяққа бекітіңіз
Содан кейін, өзіңіздің жағалаушаңызды алыңыз және оны өлшеген шыныаяқтың түбіне бекіту үшін желімді қолданыңыз. Енді секіргіш сымдар су деңгейінің сенсоры мен жарықдиодты сақинаға қол жеткізе алады, сонымен қатар үстелге тегіс орналасады. Енді сенсорды бекіту керек. Сенсордың орналасуына мұқият қарау өте мұқият, өйткені бұл сенсорлар аналог ретінде сатылған кезде шынымен екі сигналды- суды немесе суды өшіреді. Бұл мен үшін өте көп қиындықтар туғызды, бірақ мен басқалар да осы жобадан осындай көңілсіздікке ұшырамауы үшін оны шешудің жолын таба алдым. Ең бастысы - сенсор тостаған толған кезде сұйықтық болатын жердің жоғарғы жағына қою. Бұл сенсордың «бос» күйді тіркеуге қабілетті екеніне көз жеткізеді, сондықтан келесі құйылған сусынды санауға болады.
7 -қадам: Жобаны жақсарту және сымдарды қорғау
Осы сәтте сізде фотосуретке ұқсас сымдар мен бөлшектер болуы мүмкін. Бұл критерийлерді есте сақтаған кезде, жобаның жақсы көрінуі үшін не істеу керек - бұл сізге байланысты.
- Сіз зарядтағышты Arduino қуат көзіне қосуыңыз керек
- СКД экранына, түймелерге, су деңгейінің сенсорына және жарықдиодты сақинаға кіру үшін пайдаланушыға тесіктерді немесе дизайн кеңістіктерін кесу керек.
- Сіз электронды компоненттерді ылғалданудан қорғауыңыз керек, себебі бұл мүмкін, себебі жоба сусындарға бағытталған.
Жобаны бекітудің кейбір нұсқалары:
- аяқ киім немесе қорап
- Электрониканың су өткізбейтін қоршауы, мысалы, мұнда
- 3D басып шығарылған дизайн (бұл мен таңдағым келген нұсқа, бірақ менің дизайнымда мұндай дизайнды басып шығару тым қымбат болды)
8 -қадам: жауапкершілікпен ішіңіз
Шыныаяқты жағалау мен су датчигіне бекітіп алғаннан кейін, баруға болады! СКД экраны жынысы мен салмағын сұрағанда, бәрі дұрыс жұмыс істейтінін білесіз. Бір түйме салмаққа сәйкес келсе, екіншісі жынысына сәйкес келеді. Таңбалау алдында олардың қайсысы екенін көру үшін әрқайсысын басуға болады. Дұрыс салмақты (мәндер 20 қадамда) және жынысты таңдағаннан кейін екі түймені бір уақытта басыңыз. Бұл бағдарламаның қалған бөлігін бастайды және сіз жарықдиодты сақинаның кемпірқосақ үлгісін жыпылықтағанын көресіз. Енді тостаған сізге сусын құюға дайын. Сіз көбірек сусындарды тұтынатын және құйатын болсаңыз, бағдарлама BAC анықтау үшін кіріспеде талқыланған BAC кестесін қолданады. Назар аударыңыз, бұл бағдарламада әр шыныаяқ үшін бір стандартты сусын бар, суретті қараңыз (Оңтүстік Алабама университеті) немесе сүйікті сусынның қалай аударылатынын білу үшін осында келіңіз. Сондай -ақ, бұл жобаның мақсаты кез келген заңсыз әрекетті көтермелеу емес, алкогольді ішуге жеткілікті жастағы адамдарға қауіпсіз ішуді насихаттау екенін ескеріңіз. Сонымен қатар, мен BAC бағалауының стандартты сусынға қаншалықты сенімді екеніне өте қуаныштымын, бірақ бұл жоба қауіпсіз ішуге көмектеседі, бірақ егер сіз алкогольді ішкеннен кейін көлік жүргізуді таңдасаңыз, жауапкершілік көтермейді.
9 -қадам: (Қосымша) Ақаулықтарды жою
- «Бортқа жүктеу мәселесі» қатесі: Эскизді Arduino -ға құрастыру және жүктеу кезінде, егер сіздің COM портыңыз дұрыс конфигурацияланбаған болса, бұл қате пайда болады (Дұрыс COM портын қалай табуға және орнатуға болатынын қараңыз). тақта қосылмаған.
- СКД экраны ақ таңбаларды көрсетпейді: Егер СКД -нің көк жарығы қосулы болса, бірақ эскизді жүктегеннен кейін ақ таңбаларды көрмесеңіз, бұл контраст проблемаларына байланысты болуы мүмкін. Мұны шешу үшін потенциометрді оңға бұру жеткілікті (егер сіз кейіпкерлеріңізбен ақ блоктарды көрсеңіз, солға бұрылыңыз).
- Жоба сусындарды дұрыс есептемейді: Бұл қате су деңгейінің сенсоры ақаулығы. Су деңгейінің сенсорлық модульдері тез коррозияға ұшырайды және олар өте дәл емес. Дегенмен, бұл сізге бұл жобаға қатысты болмауы керек, өйткені мен сенсорды аналогты емес, сандық сенсор ретінде қарастырдым. Су деңгейінің сенсорын қалай дұрыс бекіту туралы алтыншы қадамды қараңыз.
- Модуль өте ыстық және дұрыс мәндерді жібермейді: бұл GND немесе VCC байланысының үзілуінің нәтижесі, мүмкін басқа сымдармен жұмыс кезінде. Сенсорға GND және VCC қосылымдарының аяқталғанына көз жеткізіңіз және қателерді іздеу үшін оларды компоненттен GND және 5v түйреуіштеріне, нан тақтасына, Arduino -ға орындаңыз.
Мен кездейсоқ салмағымнан асып кеттім: Уайымдамаңыз, салмақ параметрі 240 -тан кейін 100 -ге оралады, сондықтан сіз өз салмағыңызға қайта келу үшін опцияларды айналдыра аласыз.
Егер ақаулар жойылмаса, Arduino кабелін ноутбукке қосыңыз, IDE ашыңыз және эскизді іске қосыңыз. Эскиз жұмыс істеп тұрған кезде сериялық мониторда жұмыс істемейтін нәрсені көруге мүмкіндік беретін бірнеше мәндер көрсетіледі. Сериялық мониторға қол жеткізу үшін ашылмалы мәзірден бағдарламаны және «Құралдар», содан кейін «Сериялық мониторды» іске қосыңыз.
10 -қадам: Рефлексия
Бағдарламалау жағынан, мен бұл жобаның қалай болғанына өте қуаныштымын. Мен жаңадан бастағаннан бері жазу үшін біраз уақыт қажет болды, бірақ мен көптеген жаңа кітапханалармен таныстым және BAC болжау мақсатына қол жеткізе алдым, және мен жыныстық қатынасты да, BAC -ты бағалауда ешқандай жылдам жолдарды пайдаланбағанымды сеземін. салмақ (Бұл эскиздің көп бөлігін құрады). Дегенмен, мен дизайнды бекітуім керек. Менде 3D принтер жоқ немесе ағаш өңдеуді білмеймін, мен өз жобамды жақсы түрде ұсынғанын қалаймын. Мен жақында Ender 3 -ті алғым келеді, мен бірінші кезекте дизайнды жақсарту үшін дәл осы нұсқаулыққа ораламын. Менің бірінші нұсқаулық ретінде, мен бұл процестің жақсы өткенін сеземін және мен бұл жобаның партиялық шақыру үшін жасаған ұсынысына қаншалықты көңіл бөлгеніне өте қуаныштымын, бірақ менде ресурстар болған кезде кейін қайтып оралғым келетін нәрсені ойлап таптым.
Ұсынылған:
Интерактивті жұмыртқа - дыбыс реактивті және соққы реактивті: 4 қадам
Интерактивті жұмыртқа - дыбыс реактивті және соққы реактивті: Мен " Интерактивті жұмыртқа " мектепке арналған жоба ретінде, онда біз тұжырымдама мен прототип жасауымыз керек болды. Жұмыртқа қатты дыбысқа құстардың шуымен жауап береді, егер сіз оны 3 рет қатты соқсаңыз, ол бірнеше секундқа ашылады. Бұл бірінші
Балаңызды осы жазда салқын ұстаңыз - ақымақ жанкүйерлерді ақылды заттармен басқарыңыз!: 6 қадам (суреттермен)
Балаңызды осы жазда салқын ұстаңыз - ақымақ жанкүйерлерді ақылды нәрселермен басқарыңыз!: Екі апта бұрын мен мұны жазған кезде мен керемет нәрестенің әкесі болдым! Жыл мезгілдерінің ауысуына, күндердің ұзаруына және температураның жылынуына қарай, менде монитордың қандай да бір түрі болса жақсы болар еді деп ойладым
Микроскоптарға арналған жарықдиодты жарықдиодты жарықдиодты жарықдиодты тақта!: 6 қадам (суреттермен)
Микроскоптар үшін DIY жарықдиодты жарықдиодты PCB! Мен электрониканы қолдануға арналған екінші микроскопты сатып алдым және сіз
Телефон мен гаджетті қалай қауіпсіз және қауіпсіз етуге болады: 4 қадам
Телефон мен гаджетті қалай қауіпсіздендіруге және қорғауға болады: бәрін жоғалтқан адамнан (әрине, асыра сілтеген). Демек, мойындау уақыты, менің алдыңғы сөйлемім айтқандай, мен өте ыңғайсызмын. Егер маған бір нәрсе жабыспаса, мен оны қате қоюдың үлкен мүмкіндігі бар, ұмыту бір жерде
Неғұрлым қауіпсіз: пойыз станцияларын қауіпсіз ету: 7 қадам
Қауіпсізірек: пойыз станцияларын қауіпсіз ету: Қазіргі кезде көптеген теміржол вокзалдары қауіпсіздіктің жоқтығынан, кедергілер мен пойыздың келе жатқанын ескертуіне байланысты қауіпсіз емес. Біз мұны түзету қажет екенін көрдік. Бұл мәселені шешу үшін біз Safer Better құрдық. Біз діріл сенсорларын, қозғалыс сенсорларын қолдандық және