Мазмұны:
- Жабдықтар
- 1 -қадам: Гидроизоляция
- 2 -қадам: Менің 3D баспаланған корпусым
- 3 -қадам: СКД экранын орнату
- 4 -қадам: Лездік батырманы орнату
- 5 -қадам: Қуат пен зарядтау тізбегі
- 6 -қадам: зарядтау кабелі
- 7 -қадам: ағын сенсоры туралы
- 8 -қадам: ағын сенсорының сымдары
- 9 -қадам: ағын сенсорын орнату
- 10 -қадам: Arduino & Perfboard
- 11 -қадам: Барлығын электрмен жабдықтау
- 12 -қадам: Бағдарламалау
- 13 -қадам: қақпақты жабу
- 14 -қадам: тестілеу
- 15 -қадам: Енді суды үнемдеуді бастаңыз
Бейне: Душ мониторының көмегімен су мен ақшаны үнемдеңіз: 15 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
Қайсысы көбірек суды пайдаланады - ванна немесе душ?
Мен жақында осы сұрақ туралы ойладым, мен душ қабылдаған кезде қанша су қолданылатынын білмейтінімді түсіндім. Мен душта жүргенде білемін, кейде менің ойым жаңашыл жобалар туралы ойланып немесе таңғы асқа не беру керектігін шешуге тырысады, ал су ағып жатқан кезде. Егер мен әр уақытта қанша литр тұтынатынымды білсем, суды тұтынуды азайту оңайырақ болар еді!
Мен біраз зерттедім, егер әр түрлі душ бастары минутына 9,5 литрден (2,5 галлонға дейін) 6 литрден (1,6 галлонға дейін) кез келген жерде қолдануға болатынын анықтадым, егер сізде ағынды шектегіш орнатылған болса. Ескі душта одан да көп су қолдануға болады.
Мен душқа жұмсалатын судың жалпы көлемін, судың құны мен шығынын көрсететін құрылғыны жобалауды және салуды шештім. Мен бұл құрылғыны бірнеше апта бойы орнаттым, және пайдаланылатын судың мөлшерін тірі түрде оқу өте ыңғайлы.
Бұл нұсқаулықта мен оны қалай құрғанымды түсіндіремін. Әрине, менің қадамдарымды дәл орындаудың қажеті жоқ! Сіз жатқан бөліктерді пайдалану әрқашан жақсы. Мен қолданған барлық бөліктерге сілтемелерді немесе жұмыс істейтін балама бөлікті енгіздім.
Жабдықтар
(Барлық бағалар АҚШ долларында)
- Ағын сенсоры - 3,87 доллар
- СКД экраны - 2,29 доллар
- Arduino Nano - $ 1,59
- Boost түрлендіргіші - $ 1.88
- LiPo зарядтаушысы - 1,89 доллар
- Су өткізбейтін қосқыш - 0,93 доллар (мен қолданған дәл емес, бірақ ол жұмыс істеуі керек)
- Су өткізбейтін түйме - 1,64 доллар
- Тұрақсыздықтар, M3 бұрандалар мен жаңғақтар - $ 6.99
- 2X әйел 3,5 мм ұясы - 2,86 доллар.
- Еркек 3,5 мм штепсель - 1,48 доллар
- 3,5 мм 3 'кабельді жинау - $ 3,57
- USB кабелін жинау - $ 1,74
- 1/2 «NPS әйелден әйелге қосылу-$ 1.88
- 500mAh 3.7V LiPo батареясы - $ 3.91
Құралдар мен жалпы жабдықтар
- Дәнекерлеуіш пен дәнекер
- Сым
- Сым кескіштер
- Сым тартқыштар
- Екі жақты таспа
- Филлипс бұрағыш
- 3D принтері (міндетті емес)
1 -қадам: Гидроизоляция
Бұл жобаның ең қиын жағы - бәрін су өткізбейтін етіп жасау. Ол душта болатындықтан, ол ылғалдылықтан және мезгіл -мезгіл шашырап кетуден аман қалуы керек. Бұл жобаға жұмсалған уақыттың 75% -ы осы бөлікті анықтауға арналған.
Менің ойымша, екі таңдау бар: 3D басып шығарылатын арнайы корпусты жобалау немесе оны сөреден тыс қоршауда жұмыс істеуге тырысу. Жақында менде 3D принтер бар болғандықтан, мен бірінші нұсқаны таңдадым.
Егер сізде 3D принтерге қол жеткізе алмасаңыз, мұнда мен су өткізбейтін деп есептейтін және жұмыс істейтін болар, сөреден тыс қоршаулар. Назар аударыңыз, мен бұл қоршауларды сатып алмадым, сондықтан барлық компоненттер ішіне сәйкес келетініне кепілдік бермеймін!
Banggood - мөлдір қақпағы бар 100x68x50 мм қорап - $ 5.35
Digikey - 130x80x70 мм мөлдір қақпағы бар қорап - $ 11.65
Осыдан кейін, мен корпусқа сілтеме жасаған кезде, мен 3D басып шығарылған қондырғы туралы айтып отырмын.
2 -қадам: Менің 3D баспаланған корпусым
Fusion 360 -та бірнеше сағат жұмыс істегеннен кейін мен осы қоршауды ойлап таптым. Ол 3,5 мм екі әйел ұясына және бір қосқышқа сәйкес келетін үш дөңгелек кескішке ие. Қақпақта 16мм жылдамдық түймесі бар тесік, экранға арналған төртбұрышты кесу, сонымен қатар экранды орнында ұстайтын төрт бекіту саңылауы бар. Қақпақ бөлек бөлік болып табылады және тігіс арқылы ылғалдың енуіне жол бермейтін ерінге ие. Қораптың бұрыштарындағы төрт тесік қақпақты 30 мм тығынмен бекітеді. Барлық бұрандалардың тесіктері диаметрі 3 мм, ол M3 бұрандасына сәйкес келеді.
STL файлдарын менің Thingiverse бетінен жүктей аласыз. Оны салдар мен тіректерсіз басып шығаруға болады, бірақ мен қауіпсіз болу үшін тіректерді қолдандым. Мен сондай -ақ 100% толтыруды қолдандым. Қабырғалар өте жұқа болғандықтан, толтыру пайызын азайту жалпы басып шығару уақытын немесе материалды өзгертпейді, сондықтан мен оны 100%сақтадым.
Экранды көрінетін ету үшін оны корпустың қақпағындағы ойық арқылы шығаруға немесе мөлдір терезенің артына қоюға болады. Экран ылғалға түспеуі керек болғандықтан, біз екінші нұсқада қалып қойдық. Өкінішке орай, мөлдір жіппен 3D басып шығару әлі бастапқы сатысында, сондықтан біз аздап шығармашылықпен айналысуымыз керек.
Менің шешімім - қақпақшаға тікбұрышты кесу, ал көкөніс қаптамасынан мөлдір пластиктен желім жасау. Бұл техниканы менің жеке корпусымды пайдаланбасаңыз да қолдануға болады; тіктөртбұрышты тек қызметтік пышақпен немесе Дремельмен кесіңіз. Әрине, егер сіз мөлдір қақпағы бар қоршауды қолдансаңыз, бұл мүлде қажет емес.
Мен тапқан мөлдір пластиктің ең жақсы көзі - бұл қаптама. Әдетте шпинат немесе басқа жапырақты көкөністер үлкен мөлдір пластикалық контейнерлерде келеді. Менің жағдайда, мен «бұрыш қоспасынан» орауды қолдандым.
Мен желімдеу үшін бетінің көп бөлігін беру үшін 5 мм шығуды қалаймын, сондықтан мен 27x77 мм мөлдір пластиктен тіктөртбұрышты қиып алдым. Бұрандалар сәйкес келуі үшін бұрыштарды сәл қиюға тура келді. Мен периметрі бойынша суперглюг желісін бұрап, содан кейін мөлдір пластикті қойдым. Мен оның тығыздалғанына көз жеткізу үшін шетіне сәл суперглюз қостым.
Кеңес: желімді кептіру кезінде бөлшекті кішкене желдеткіштің алдына қойыңыз. Өте жабысқақ құрғаған кезде, ол артында жағымсыз ақ қалдық қалдырады, оны біз мөлдір тереземізде қаламаймыз. Мен компьютердің қуат көзінен 12В ескі желдеткішті қолдандым. Мен желімнің толық құрғақ екеніне көз жеткізу үшін 12 сағатқа отырғыздым.
3 -қадам: СКД экранын орнату
Мөлдір терезе кептірілгеннен кейін СКД орнатуға болады. СКД-бұл өте танымал 16х2 таңбалы дисплей, оның артында I²C «рюкзагы» дәнекерленген. Мен бұл экранды I²C интерфейсімен алуды ұсынамын. Барлық параллель сызықтарды қосу өте тітіркендіреді және қателіктердің ықтималдығын арттырады - I²C нұсқасында тек қуат үшін екі сым және сигналға арналған екі сым бар.
Мен экранды монтаждау үшін 10 мм -ге тең төрт тұрақтылықты қолдандым. Қарсылықтардың әрқайсысының бір ұшында еркек жіп, екінші жағында аналық жіп бар. Мен еркек жіпті СКД тесіктерінен өткізіп, әрқайсысына М3 гайкасын бұрап қойдым. Содан кейін мен корпустың қақпағынан тоқтап қалудың әйелдік ұштарын бекіту үшін төрт M3 бұрандасын қолдандым. Менде СКД орнатуға арналған 10 мм, ал қақпақты негізге бекіту үшін ұзағырақ ұзындықтары бар тұрақсыздықтар пакеті болды. Сонымен қатар, M3 бұрандалары мен гайкалары бар, сондықтан сізге қосымша жабдық сатып алудың қажеті жоқ.
Бұрандаларды қатайту кезінде бұрандалар бұрылмайтын етіп жаңғақтардың өте тығыз екеніне көз жеткізіңіз. Сондай-ақ, бұрандаларды қатайтпаңыз, әйтпесе пластикалық қақпақ деформациялануы және дұрыс жабылмауы мүмкін.
СКД -дегі 16 түйреуіштің шыңы жоғарғы жағында болуы керек - СКД -ны төңкеріп қоймаңыз!
4 -қадам: Лездік батырманы орнату
Мен алдыңғы панельдегі ауруға ұқсайтын хромды қолдануды шештім. Мен оларды алдыңғы жобаларда қолдандым және маған олардың сыртқы түрі ұнайды. Олар су өткізбейтін болуы керек және ылғалдың жіптер арқылы корпусқа енуіне жол бермеу үшін резеңке сақинамен бірге келеді.
Бұл қадам өте қарапайым. Гайканы шешіңіз, бірақ резеңке сақинаны ашық ұстаңыз. Түймені қақпақ тесігі арқылы кіргізіп, гайканы артқы жағынан қатайтыңыз. Гайканы тым қатты тартпаңыз, әйтпесе резеңке сақина ұсақталады және өз мақсатына сәйкес келмейді.
5 -қадам: Қуат пен зарядтау тізбегі
Енді біз батареяның компоненттерін жинаймыз. Бұған батарея, негізгі қосқыш, батареяны бақылау/зарядтау тақтасы және күшейткіш түрлендіргіші кіреді.
Мен қолданған батарея-3,7В 1500 мАч бір ұялы литий-ионды батарея. Мен қолданған нәрсе Playstation сынған контроллерден алынды. Кез келген бір ұялы Li-Ion немесе LiPo аккумуляторы сіздің корпусыңызға сәйкес келгенше жұмыс істейді. Батареяның бұл түрі өте жұқа және тегіс болады, сондықтан сіз менікінен екі есе үлкенін еш қиындықсыз қолдана аласыз. 18650 ұяшығы жұмыс істейді, бірақ ол менің жеке корпусыма сәйкес келмейді, сондықтан сіз өзіңіздің жеке дизайныңызды жасауыңыз керек немесе сөреден тыс қоршауды пайдалануыңыз керек. Мүмкін болса, мен құтқарылған аккумуляторды қолдануды ұсынамын (мен сияқты), себебі батареяларды жеткізу жиі қымбатқа түседі!
Батареяны алдымен TP4056 зарядтау тақтасына дәнекерлеу керек. Егер қаласаңыз, ыңғайлы болу үшін JST RCY коннекторын батарея мен зарядтағышқа дәнекерлеуге болады (мен мұны істедім), бірақ бұл қажет емес. Зарядтағыш тақтасындағы белгілермен көрсетілгендей дұрыс полярлықты сақтаңыз, себебі тақта батареяның кері полярлығынан қорғалмаған!
Әрі қарай, зарядтағыштың оң шығысынан (оң батарея сымының жанында орналасқан) күшейткіш түрлендіргіштің оң кірісіне сымды дәнекерлеңіз. Содан кейін теріс шығудан сымды (батареяның теріс сымының жанында орналасқан) негізгі қосқыштың ортақ (орталық) түйреуішіне дәнекерлеңіз. Ақырында, сым коммутатордың әдетте ашық түйреуішінен күшейткіш түрлендіргіштің теріс кірісіне дейін дәнекерленеді. Егер сіз мультиметрді күшейткіш түрлендіргіштің шығысына қоссаңыз және негізгі қосқышты қоссаңыз, онда кернеу көрсетілуі керек.
Біздің Arduino, СКД экраны мен ағын сенсорына 5В қажет болғандықтан, біз күшейткіш түрлендіргіштің шығуын 5В -қа орнатуымыз керек. Кішкене бұрағышпен потенциометрдің тұтқасын бұру арқылы қол жеткізіледі. Негізгі қосқыш қосылғанда, аккумулятор қосылғанда және мультиметр күшейткіш түрлендіргіштің шығысына қосылғанда, потенциометрді шығыс 5В кернеуіне дейін баяу бұрыңыз. Дәл 5.000В кернеуді алу қиын болады, бірақ кернеуді 4,9 В пен 5,1 В аралығына бағыттаңыз.
Менің жеке корпусым бірнеше бұрандалармен жабылғандықтан, біз оны зарядтау қажет болған сайын ашуды қаламаймыз. Мен бұл үшін 3,5 мм құлаққап ұясын қолдандым. Мен қолданған коннектор - бұл Digikey -ден алынған (бұл менің қоршаудағы ойықтардың өлшемі), бірақ Banggood -тан да бұл жұмыс істеуі керек.
Алдымен мен коннекторды қоршаудағы ең төменгі тесікке енгіздім. Бұл көп жағдайда электр желісінен ажыратылатындықтан, ылғалдың түсуіне бейім болғандықтан, ішіне су тамшыламауы үшін оны түбіне орнатқан дұрыс. Бекіткіш жуғышты орнатып, гайканы қатайғаннан кейін мен қосқыштағы «ұшы» мен «жең» ілгектеріне екі сымды дәнекерледім. Қосқыштың түйреуіші менің аннотацияланған суреттерімнің бірінде көрсетілген. Мен «жең» сымының екінші ұшын микро USB портының жанындағы зарядтағыштың теріс кірісіне дәнекерледім. Ақырында, мен «ұшты» сымды USB портының екінші жағындағы +5В алаңына дәнекерледім. Зарядтағыштағы USB порты қолданылмайды, себебі USB портын ылғалға жол берместен корпусқа ендіру қиын болады.
6 -қадам: зарядтау кабелі
Біз зарядтау порты ретінде 3,5 мм аудио ұясын пайдаланатындықтан, біз бір ұшында 3,5 мм еркек ашасы бар адаптер кабелін, екінші ұшында USB A ашасын жасауымыз керек. Бұл бізге бұл құрылғыны зарядтау үшін кез келген жалпы мобильді құрылғы зарядтаушысын (мысалы, iPhone зарядтағышын) пайдалануға мүмкіндік береді.
Сіз бір жағында USB A коннекторы бар, екінші жағында қаңылтыр сымдары бар USB кабель жинағын сатып ала аласыз, бірақ егер сіз мен сияқты болсаңыз, онда сізге қажет емес кездейсоқ USB кабельдері жатқан шығар. USB кабелі жинағын сатып алудың орнына, маған қажет емес USB -USB кабелін алып, микро USB қосқышын алып тастадым.
Содан кейін мен ақ куртканы кабельден шешіп алдым, оның ішінде тек екі сым бар: қызыл және қара сым. Кейбір USB кабельдерінің төрт сымы болады: қызыл, қара, жасыл және ақ. Жасыл және ақ түс деректерді беруге арналған, оларды елемеуге болады. Оқшаулауды тек қызыл және қара сымдардан алыңыз.
Әрі қарай сізге 3,5 мм еркек штепсель қажет болады. Мен мұны Banggood -тан қолдандым. Қызыл сымды USB кабелінен ортаңғы табаққа (коннектордың ұшы), ал қара сымды ұзын жеңге жалғаңыз. Түсіндіру үшін менің фотоларымды қараңыз.
Мен әрқашан USB ашасынан бұрын 3,5 мм штепсельдік жалғауды ұсынамын, себебі кабельді қосу процесі штепсельдің металл розеткаға қысқа тұйықталуына әкелуі мүмкін.
7 -қадам: ағын сенсоры туралы
Мен бұл ағын сенсорын Banggood -тан 3.87 долларға алдым. Қолданар алдында мен оның қалай жұмыс істейтінін зерттеуді шештім.
Дизайн таңқаларлықтай қарапайым және тапқыр. Электроника судан толығымен жабылған. Ағынның жылдамдығына байланысты баяу немесе жылдам айналатын еркін айналдыру винті бар. Пропелдің бір нүктесінде магнит орналасқан. Сенсордың сыртында шағын бөлік орналасқан, оның құрамында екі компоненттен тұратын шағын ПХД бар: резистор және холл-сенсор. Магнит холл-сенсордың жанынан өткен сайын ол жоғары мен төменнің арасында ауысады. Басқаша айтқанда, ол винт айналған сайын 5В пен 0В арасында ауысады.
Сенсорды оқу үшін қызыл сымға +5В, қара сымға теріс, ал сары сымнан келетін сандық сигналды оқимыз. Менің осциллографтың фотосуретінде ағын қосылған кезде сигналдың қалай өзгеретінін көруге болады. Алғашында сигнал үнемі нөлдік вольтты құрайды. Ағын басталған кезде импульстар жиілігі жылдамдыққа жетіп, тұрақты күйге жетеді.
Деректер кестесіне сәйкес, сенсор бір литрге 450 импульсті шығарады. Бұл бағдарламалық қамтамасыз етуді жазған кезде маңызды болады.
8 -қадам: ағын сенсорының сымдары
Ағын сенсоры 3 істікшелі JST-XH қосқышымен бірге келеді. Бұл өте қолайлы емес, себебі сымдар тым қысқа және коннекторда ашық контактілер бар, олар ағынсыз су тамшыларымен оңай қысқарады. Мен 3,5 мм аудио штепсельдік кабель жинағын Digikey -ден тапсырыс бердім. Оның ұзындығы 3 ', бұл өте жақсы ұзындық, және оның қаңылтырланған сымдары бар, бұл дәнекерлеуді жеңілдетеді. Мен ескі құлаққап сымын қолдануға кеңес бермеймін, себебі олар өте жұқа эмальданған сымға ие, оны дәнекерлеу мүмкін емес.
Ағын сенсорында екі Филлипс бұрандасы бар пластикалық қақпақ бар. Бұл бұрандаларды шешіп, тақтаны шығарыңыз. Ол желіммен ұсталмайды, тек пластикалық қақпақпен бекітіледі. Әрі қарай, үш сымды дәнекерлегішпен қыздырып, бірінен соң бірін алып тастаңыз.
Содан кейін 3,5 мм аудио кабельді жастықшаларға дәнекерлеңіз. Мен түстерді дәл солай үйлестіруді ұсынамын. Бұл конфигурацияның ұшында +5В, сақинада сигнал және жеңде жерге қосу бар. Бұл 6 -қадамнан бастап зарядтау порты үшін қолданылатын конфигурация. Егер сіз кездейсоқ зарядтағышты сенсор портына қоссаңыз немесе керісінше болса, құрылғыға зақым келмейді.
9 -қадам: ағын сенсорын орнату
Осы уақытқа дейін біздің барлық жұмысымыз шеберханада өтті. Бірақ қазір жуынатын бөлмеге баратын уақыт келді!
Алдымен мен душтың басын алып тастадым. Бұл қабырғадан шығатын қысқа құбырды көрсетті, 1/2 дюймдік еркек бұрандалы. Ыңғайлы, біздің ағын сенсорында жіптің өлшемі бірдей! Жалғыз мәселе - сенсордың екі ұшында еркек бұрандалары бар, сондықтан біз әйелден әйелге қосылу қажет.
Менің жергілікті аппараттық дүкенімде жезден, темірден және ПВХ -дан жасалған 1/2 дюймдік муфталар болды. ПВХ - ең арзан, сондықтан мен оны алдым. Қарап тұрсам да, жезден немесе болаттан жасалған бұйымдар жақсы көрінер еді.
Муфтаны алғаннан кейін, ағын датчигін муфтаның ішіне бұраңыз, содан кейін іліністің екінші ұшын құбырға бұраңыз. Ағын сенсорында ағынның болжамды бағытын көрсететін көрсеткі бар. Оны артқа орнатпағаныңызға көз жеткізіңіз, әйтпесе өлшеулер дәл болмауы мүмкін. Соңында душ басын ағын датчигінің соңына бұраңыз.
Әрине, менің ойымша, сіздің душыңызда 1/2 дюймдік NPS жіп қолданылады, егер олай болмаса, сізге қосымша адаптерлер қажет болады.
Кеңес: Бөлшектерді бұрамас бұрын ағып кетпес үшін барлық жіптерге бірнеше тефлон сантехник таспасын қосыңыз. Менің қолымда жоқ, бірақ мен оны жақын арада қосуды жоспарлап отырмын.
10 -қадам: Arduino & Perfboard
Бізге көптеген сымдар қажет болатындықтан, заттарды реттеуге арналған перфорация тақтасын алу жақсы. Мен перфорданың тіктөртбұрышын шамамен 1 «2» етіп кесіп алдым. Содан кейін мен Arduino Nano -ны тақтаның ортасына қойдым және тақырып түйреуіштері қай жерден өткенін белгіледім. Содан кейін мен ұзындығы 15 түйреуіш болатын әйелдердің екі ұзындығын кесіп алдым. Мен бұларды бұрын белгілеген перформат тақтасына дәнекерледім. Бұл бізге Arduino бағдарламалау үшін жоюға мүмкіндік береді.
Кеңес: Arduino USB портының бағытын белгілеп қойыңыз, сонда сіз оны үнемі тақтаға қосасыз.
11 -қадам: Барлығын электрмен жабдықтау
Енді бәрін бірге дәнекерлеуге уақыт келді! Мен сымның толық схемасын енгіздім, оны орындауға болады, немесе егер сіз неғұрлым нұсқаулы әдісті қаласаңыз, төмендегі менің жазбаша қадамдарымды көре аласыз.
Алдымен, мен бірнеше ерлердің бастық түйреуіштерін кесіп, оларды +5В және жердегі рельстердегі перфораторға дәнекерледім. Содан кейін мен Arduino -дағы A4 және A5 түйреуіштеріне қосылған тағы екі түйреуішті дәнекерледім. Бұл тақырыптар бізге LCD-экранды әйелден әйелге секіргіштерді қосуға мүмкіндік береді.
Содан кейін мен күшейткіш түрлендіргіштің шығысынан +5В және жердегі рельстерге жұп сымдарды дәнекерледім. Бұл Arduino, СКД және ағын сенсорына қуат береді.
Осыдан кейін мен екі сымды кесіп, түйменің терминалдарына жалғадым. Мен бір сымды жердегі рельске, екіншісін цифрлық 3 -ші істікке дәнекерледім.
Дәнекерлеудің соңғы бөлігі - ағын сенсоры. Біз сенсорға 3,5 мм штепсельді қосқандықтан, бізге 3,5 мм аналық ұяны дәнекерлеу керек. Алдымен мен үш сымды дәнекерледім - ұядағы ілгектердің әрқайсысына бір. Содан кейін мен ұяны корпус арқылы кіргізіп, оны гайкамен бекітіп қойдым. Ақырында, мен жеңді жерге, ұшты +5В -ке, ал сақинаны цифрлық түйреуіш 2 -ге дәнекерледім.
Мен түйме мен ағын сенсоры үшін 2 және 3 цифрлық түйреуіштерді қолдануды таңдадым, себебі олар аппараттық үзіліс түйреуіштері. Бұл кодты жазуды айтарлықтай жеңілдетеді.
Енді біз дәнекерлеуді аяқтадық, бірақ бізге әлі де СКД қосу керек. Біз тақырыптарды дәнекерлегендіктен, бізге тек әйелден әйелге төрт секіруші қажет. «Vcc» түйреуішін +5В -қа, «Gnd» штырын жерге, «SCL» түйрегішін A5 -ке, «SDA» түйрегішін A4 -ке қосыңыз. СКД экраны корпуста орналасуы үшін, біз түйреуіштерді артқа қарай бүгуіміз керек. Ілмектерді бірнеше рет алға -артқа бүгу металды шаршатады және түйреуіштердің сынуына әкеледі, сондықтан мен оларды тек бір рет бүгуге кеңес беремін және мұны абайлап жасаңыз.
Енді сымдар аяқталды!
12 -қадам: Бағдарламалау
Енді барлық аппараттық құралдар қосылғандықтан, біз Arduino бағдарламалай аламыз.
Мен бағдарламаның келесі мүмкіндіктерге ие болғанын қалаймын:
- Бірінші жолда жалпы литрлердің жылдам жаңартылатын санын көрсетіңіз
- Екінші жолда судың жалпы құнын немесе ағынның жылдамдығын көрсетіңіз
- Душ жұмыс істеп тұрған кезде, түймешік шығынды немесе ағынның жылдамдығын көрсетеді
- Душ жұмыс істемей тұрған кезде, түйме барлық деректерді өшіріп, экранды қалпына келтіруі керек
- Дауыс берудің жалпы әдістерін болдырмау үшін сенсорды үзіліс тәртібімен оқу керек
- Экранды жаңарту кезінде біз бүкіл экранды қайта жазудың орнына өзгерген мәндерді ғана жаңартуымыз керек (бұл айтарлықтай жыпылықтайды)
Бағдарлама қарапайым құрылымды ұстанады. Millis () функциясын қолдана отырып, біз бағдарламаның орындалуын нақты тоқтата алмайтын кідірістер жасай аламыз. Delay () функциясын пайдаланбай жарық диодты жыпылықтаудың мысалын осы оқулықтан қараңыз.
Millis () функциясы Arduino қосылғаннан кейін миллисекундтардың санын қайтарады. «PreviousMillis» айнымалысын жасау және Millis () - previousMillis () шегеру арқылы алдыңғыMillis жаңартылғаннан бері өткен уақытты көре аламыз.
Егер біз бір секундта бірдеңе болуын қаласақ, келесі код блогын қолдана аламыз:
егер ((миллис () - алдыңғыMillis)> = 1000) {
алдыңғыMillis = миллис (); toggleLED (); }
Бұл миллис () (ағымдағы уақыт) пен алдыңғы Миллис (соңғы рет) арасындағы айырмашылық 1000 миллисекундтан үлкен немесе оған тең екенін тексереді. Егер солай болса, біз бірінші кезекте ағымдағы уақытқа тең алдыңғыMillis орнатамыз. Содан кейін біз қалаған қосымша қадамдарды орындаймыз. Бұл мысалда біз жарық диодты қосамыз. Содан кейін біз осы код блогынан шығып, цикл () функциясының қалған бөлігін аяқтаймыз, стартқа қайта оралмай тұрып, оны қайтадан қайталаймыз.
Бұл әдісті қарапайым delay () функциясынан пайдаланудың артықшылығы, delay () нұсқаулар арасында уақыт аралығын қояды, бірақ цикл () функциясындағы басқа нұсқауларды орындауға кететін уақытты есепке алмайды. Егер сіз СКД экранын жаңарту сияқты жарықдиодты жыпылықтаудан гөрі көп уақытты қажет ететін нәрсені жасасаңыз, оған кететін уақыт аз емес және бірнеше циклдан кейін ол қосылады. Егер сіз СКД экранын сағат бойынша жаңартып отырсаңыз, ол тез арада дәл болмайды және артта қалады.
Енді біз бағдарламаның жалпы құрылымын түсінгендіктен, нұсқауларды енгізу уақыты келді. Бұл жерде кодтың әрбір жолын түсіндірудің орнына, мен сізге алдымен бағдарламаның не істейтіні туралы жоғары шолу беретін қоса берілген схеманы оқып шығуды ұсынамын.
Сіз блок -схеманы көргеннен кейін, Arduino -да бекітілген кодты қараңыз. Мен әр жолға түсініктеме беру үшін әр жолға түсініктеме бердім.
Кодта өзгерткіңіз келетін бірнеше бөлік бар. Ең бастысы - литрінің бағасы. Менің қаламда су литріне 0,2523 ¢ тұрады. Келесі жолды табыңыз және сол мәнді сіз тұратын жердің құнына сәйкес өзгертіңіз:
const float COST_PER_LITRE = 0.2523; // литрдің бағасы центпен, қалалық веб -сайттан
Егер сіз литрден астам галлон қолданғыңыз келсе, «L» немесе «L/s» сілтеме жасайтын барлық «LCD.print ()» жолдарын «G» немесе «G/s» етіп өзгертіңіз. Содан кейін келесі жолды жойыңыз:
const float CONVERSION = 450.0; // мұны литрге дейін түсіндірмеңіз
… Және бұл жолға түсініктеме бермеңіз:
const float CONVERSION = 1703.0; // бұған түсініктеме бермеңіз және галлон үшін жоғарыдағы жолды жойыңыз
Менің кодта сіз байқаған тағы бір таңқаларлық нәрсе бар. Әдепкі таңбалар жиынтығы «¢» таңбасын қамтымайды, мен долларды қолданғым келмеді, себебі шығын көп жағдайда «$ 0.01» немесе одан да төмен болады. Сондықтан, мен таңдамалы кейіпкер жасауға мәжбүр болдым. Бұл символды көрсету үшін келесі байт массиві қолданылады:
байт cent_sign = {B00100, B00100, B01111, B10100, B10100, B01111, B00100, B00100};
Бұл массив жасалғаннан кейін арнайы таңба «жасалуы» және сақталуы керек.
lcd.createChar (0, cent_sign);
Бұл аяқталғаннан кейін реттелетін таңбаны басып шығару үшін келесі жолды қолданамыз:
lcd.write (байт (0)); // басып шығару центінің белгісі (¢)
СКД 8 таңдамалы таңбаға дейін болуы мүмкін. Бұл туралы қосымша ақпарат мына жерде. Мен сонымен қатар графикалық интерфейс арқылы реттелетін таңбаны салуға мүмкіндік беретін пайдалы онлайн құралды кездестірдім және ол автоматты түрде реттелетін байт массивін жасайды.
13 -қадам: қақпақты жабу
Ақырында, біз аяқтауға жақынбыз!
Барлық электрониканы корпусқа салу уақыты келді және қақпақ жабылады деп үміттенеміз. Бірақ алдымен біз 30 мм шегіністі бекітуіміз керек. Мен сатып алған келіспеушіліктер жиынтығында онша ұзындықтар жоқ, бірақ олар 20 мм және 10 мм бір -бірімен бекітілуі мүмкін. Мен корпустың төменгі жағындағы тесіктерге төрт тұрақтылықты М3 бұрандалармен бұрап қойдым (1 және 2 суреттерді қараңыз). Оларды сенімді түрде қатайтыңыз, бірақ тым тығыз емес, әйтпесе пластикалық қоршауды бұзу қаупі бар.
Енді біз барлық электрониканы ішіне сыйдыра аламыз. Мен үшінші суретте көрсетілгендей, зарядтағыш пен күшейткіш түрлендіргішті екі жақты таспамен қақпаққа жаптым. Содан кейін мен қосқыштармен байланысқан кезде ештеңе қысқа болмауын қамтамасыз ету үшін 3,5 мм екі ұяға ашық металды орап алдым.
Мен USB портын оңға қаратып, оны сол жақ төменгі бұрышқа, бүйіріне қойып, Arduino қондыра алдым. Мен батареяны СКД экранының астындағы корпустың түбіне бекіту үшін екі жақты таспаны қолдандым.
Ақырында, бәрі қорапқа азды -көпті бекітілгеннен кейін, қақпақты М3 төрт бұрандамен бұрап алуға болады.
14 -қадам: тестілеу
Алдымен ағын датчигінен 3,5 мм қосқышты қосыңыз. Мен мұны құрылғы қосылмас бұрын жасауды ұсынамын, себебі ол ашаның қажетсіз қосылымды қосуы мүмкін.
Содан кейін негізгі қуат қосқышын қосыңыз. Су жоқ кезде, алдыңғы панель түймесі жалпы тазалау мен экранды тазартудан басқа ештеңе жасамауы керек. Әдепкі бойынша жиынтық нөлге тең болғандықтан, түйме әлі ештеңе жасамайды.
Егер сіз душты қоссаңыз, олардың саны көбейе бастайды. Әдепкі бойынша құны көрсетіледі. Егер сіз алдыңғы панель түймесін бассаңыз, ағынның жылдамдығы төменгі жолда көрсетіледі. Алдыңғы панельдегі түймені басу, ағызу жылдамдығы мен құнын көрсету арасында ауысады, егер душ жұмыс істеп тұрса. Душ тоқтағаннан кейін, алдыңғы панельдегі түймені басу өлшеулерді қалпына келтіреді және экранды тазартады.
Монтаждау
Құрылғыны қалай орнатуды таңдау сіздің душыңыздың орналасуына байланысты. Кейбір душ кабинасында душқа жақын орналасуы мүмкін, оны құрылғыны сол жерге қоюға болады. Менің душымда менде сорғыштар салынған себет бар, оны мен құрылғыны ішіне қойдым. Егер сізде табақшаның немесе себеттің сәні болмаса, құрылғыны екі жақты сорғышпен қабырғаға ұстап көруге болады. Бұл тегіс тірегі бар сөреден тыс қоршауды пайдалансаңыз немесе менің реттелетін корпусымды шыныдан жасалған пластинасы бар принтерге басып шығарсаңыз ғана жұмыс істейді. Егер сіздің қоршауыңызда дөрекі тірек болса (менікіндей), сіз екі жақты таспаны қолдануға тырысуға болады, бірақ егер сіз құрылғыны алып тастауға тырыссаңыз, душ қабырғасында біраз қалдықтар қалуы мүмкін.
Ақаулық себебін іздеу және түзету
Экран қосулы, бірақ артқы жарық өшірулі - секіргіш I ² C модулінің бүйіріндегі екі түйреуішке орнатылғанына көз жеткізіңіз.
Экран бос, артқы жарығы қосулы - I²C сканерін іске қосу арқылы I ² C мекен -жайының дұрыстығын тексеріңіз
Экран қосулы, бірақ мәндер нөлге тең - сенсордан 2 -ші кернеуді өлшеу арқылы сигнал келетінін тексеріңіз. Егер сигнал жоқ болса, сенсордың дұрыс жалғанғанын тексеріңіз.
Артқы жарығы өшірілгенде экран бос - Arduino қуат светодиодының жанғанын және экранның қуаты бар екенін тексеріңіз.
Экран қысқа уақытқа қосылады, содан кейін бәрі тоқтайды - сіз күшейткіш түрлендіргіштен кернеуді тым жоғары орнатқан шығарсыз (компоненттер 5В -тан жоғары көтере алмайды)
Құрылғы жұмыс істейді, бірақ мәндер қате - сіз пайдаланатын ағын сенсорының бір литрге 450 импульс түрлендіру коэффициентіне ие екеніне көз жеткізіңіз. Әр түрлі сенсорлардың мәндері әр түрлі болуы мүмкін.
15 -қадам: Енді суды үнемдеуді бастаңыз
Жақсартулар
Бағдарламалық жасақтаманың қазіргі нұсқасы жеткілікті жақсы жұмыс істейді, бірақ мен әр түрлі пайдаланушыларды (отбасы мүшелері, үйдегі адамдар және т.б.) қосу мүмкіндігін қосқым келеді. әр адамға орташа су тұтынуды көрсетеді. Бұл адамдарды ең аз суды пайдалану үшін бәсекелестікке шақыруы мүмкін.
Электрондық кестеде қаралатын деректерді экспорттау әдісі графикалық болуы үшін жақсы болар еді. Сонда сіз жылдың қай мезгілінде душ жиі және жиі болатынын көре аласыз.
Бұл мүмкіндіктердің барлығы EEPROM-Arduino-ның кіріктірілген жадысын пайдалануды қажет етеді. Бұл құрылғы өшірілгеннен кейін де деректерді сақтауға мүмкіндік береді.
Тағы бір пайдалы функция батарея индикаторы болады. Дәл қазір құрылғыны қайта зарядтауды қажет ететін жалғыз көрсеткіш - бұл батарея менеджері тақтасы қуатты өшірген кезде. Батарея кернеуін өлшеу үшін қосымша аналогтық кірісті қосу оңай болар еді. Батарея кернеуі әрқашан 5 В -тан төмен болғандықтан, кернеу бөлгіш қажет емес.
Бұл идеялардың кейбірі функционалдылықпен шектеседі, сондықтан мен бағдарламалық жасақтаманы одан әрі дамытпадым.
Қалғаны сізге байланысты!
Сенсорлар байқауының бірінші жүлдесі
Ұсынылған:
Жылытудың көмегімен термостат орнатыңыз және үнемдеңіз: 53 қадам (суреттермен)
Жылытудың жеке термостатын жасаңыз және үнемдеңіз: мақсат не? Үйді қалағаныңызша жылыту арқылы жайлылықты арттырыңыз, үйді қажет болған жағдайда ғана жылыту арқылы үнемдеңіз және парниктік газдар шығарындыларын азайтыңыз Қайда болсаңыз да, жылытуды бақылауда ұстаңыз
WiFi мен IR қашықтан басқару пульті мен Android қосымшасын қолданатын NodeMCU мен IR қабылдағышымен 8 релелік басқару: 5 қадам (суреттермен)
WiFi мен IR қашықтан басқару пульті мен Android қосымшасын пайдаланатын NodeMCU мен IR қабылдағышымен 8 релелік басқару: wifi мен қашықтан және андроид қосымшасы арқылы nodemcu мен IR қабылдағышты қолданатын 8 релелік қосқышты басқару. Қашықтан басқару құралы wifi қосылымына тәуелсіз жұмыс істейді. МҰНДА
Arduino ауа мониторының қалқаны. Қауіпсіз ортада өмір сүріңіз.: 5 қадам (суреттермен)
Arduino ауа мониторының қалқаны. Қауіпсіз ортада өмір сүріңіз. Сәлеметсіз бе, мен осы нұсқаулықта arduino үшін ауаны бақылау қалқанын жасаймын. Біздің атмосферадағы сұйытылған газдың шығуы мен СО2 концентрациясын сезуге болады, сонымен қатар, газды немесе концентраторды анықтаған кезде жарықдиодты және шығатын желдеткішті қосады
ПХД кесу машинасы. Ақша мен уақытты үнемдеңіз: 8 қадам
ПХД кесу машинасы. Ақша мен уақытты үнемдеңіз ….: Суреттен көріп тұрғаныңыздай. Бұл менің DIY оюға арналған машинам. Мен бұл ою машинасын шамамен 10 жыл бұрын (1998 ж.) Құрастырдым … Келесі қадам - құрылыс бөлшегі ….. Ләззат алыңыз
Үлкен ақшаны үнемдеңіз! Интернеттен сатып алыңыз!: 6 қадам
Үлкен ақшаны үнемдеңіз! Интернеттен сатып алыңыз!: Мен көрген ақша нашар зерттеуге, сәнді дүкендерге саяхатқа немесе импульсті сатып алуға жұмсалғанына сенбейсіз. Үлкен жеңілдіктер тек бірнеше рет басылады. Өкінішке орай, бұл веб -сайттар сізге сәйкес келмейді, сондықтан мен үшін бақытты