
Мазмұны:
- 1 -қадам: Математика…
- 2 -қадам: Практикалық мүмкіндіктер
- 3 -қадам: ингредиенттер
- 4 -қадам: Прототипті (және кодты) тексеру
- 5 -қадам: Ino Sketch жаңбыр суын өлшеуіш
- 6 -қадам: Arduino Pro Mini -ге код жүктеу (USB жоқ)
- 7 -қадам: құрастыру
- 8 -қадам: Аяқталған мақала
- 9 -қадам: Postscript - жүз (және бес) пайыз?
- 10 -қадам: Кейінгі ойлар
2025 Автор: John Day | [email protected]. Соңғы өзгертілген: 2025-01-23 14:51

Егер сіз мен сияқты болсаңыз және экологиялық санаңыз болса (немесе бірнеше доллар үнемдеуге дайын болсаңыз - мен де …), сізде жаңбыр суына арналған резервуар болуы мүмкін. Менде Австралияда жиі жауатын жаңбырды жинайтын резервуар бар, бірақ бала, мұнда жаңбыр жауғанда, шынымен жаңбыр жауады! Менің резервуарым шамамен 1,5 м биіктікте және іргетаста орналасқан, демек, мен су деңгейін тексеру үшін қадамдар жасауым керек (немесе мен жалқау болғандықтан, қазір барбекюден алынған ескі газ бөтелкесінің тепе -теңдігін сақтаймын). резервуардың жанындағы «баспалдақ» ретінде тұрақты тұру).
Мен резервуардағы су деңгейін бір қолмен көтерместен тексеруге болатынын қалаймын (оның артында қандай өрмекшілер тұруы мүмкін деп алаңдай отырып - сіз австралиялық паукалар туралы естідіңіз бе?) … Сонымен, электроникаға деген қызығушылық қайта артты және Қытайдан eBay -де арзан Arduino клондары пайда болды, мен бұл жұмысты орындау үшін «виджет» құруды шештім.
Енді менің «арманым» виджеті резервуарға тұрақты орнатылып, күн сәулесінен қуат алатын қуат көзін пайдалану, гаражымда қашықтан оқылуы немесе Bluetooth арқылы сымсыз таратқыш болуы мүмкін, оны мен телефоннан тексере аламын. Интернетте кез келген жерден резервуарымдағы судың деңгейін тексере алатын автоматты түрде жаңартылатын веб -беті бар ESP типті құрылғы … бірақ шын мәнінде - маған мұның бәрі не үшін қажет? Сондықтан мен өзімнің үлкен идеалдарымды біршама артқа бұрдым (және жақсы), мен шешімнің сымсыздығын, тұрақты қондырылуын, күн зарядтауын және резервуардың деңгейін шеткі жақтан тексеру мүмкіндігін жойдым (әрқашан шетінде WiFi бар деп есептесеңіз, яғни …)
Алынған жоба жоғарыда көрсетілген қолмен жұмыс жасайтын қондырғыға төмендетілді, оны резервуардың ашылуында ұстап тұруға болады және оны цифрлық оқумен басу арқылы іске қосуға болады, оны жер деңгейінен оқуға болады - әлдеқайда практикалық.
1 -қадам: Математика…
Су деңгейін анықтау бойынша бірнеше идеялармен ойнағаннан кейін - мен виджеттің негізі ретінде ультрадыбыстық таратқышты/қабылдағышты таңдадым және Arduino көмегімен оқу мен барлық математиканы орындадым. Сенсордан алынған көрсеткіштер (жанама түрде) қашықтық түрінде болады - ультрадыбыстық сенсордан ол шыққан бетке дейін (су беті - немесе резервуардың түбінде, егер бос болса) және қайтадан артқа, сондықтан бізге қажет резервуарда қалған пайызға жету үшін осымен бірнеше нәрсе істеу керек.
Ескертпе - шын мәнінде сенсордан қайтарылған мән - бұл сигналдың эмитент жақтан шығып, қабылдағышқа оралуына кететін уақыт. Бұл микросекундтарда, бірақ дыбыс жылдамдығын білу см -ге 29 микросекундты құрайды (Не? Сіз мұны білмедіңіз бе? Pfft…) уақыт аралығын қашықтықтан өлшеуге оңай түрлендіреді.

Біріншіден, әрине, сенсорды беткі қашықтыққа жеткізу үшін қашықтықты 2 -ге бөлу керек. Содан кейін сенсордан судың максималды тереңдігіне дейінгі тұрақты қашықтықты алып тастаңыз. Қалған мән - пайдаланылған судың тереңдігі. Содан кейін резервуарда қалған судың тереңдігін табу үшін судың максималды тереңдігінен осы мәнді алып тастаңыз.
Бұл мән кез келген басқа есептеулер үшін негіз болып табылады, мысалы, судың осы тереңдігін максималды тереңдіктің пайызымен өңдеу немесе тереңдікті тұрақты «бетінің ауданына» көбейту, көрсетуге болатын су көлемін алу үшін. литрмен (немесе галлонмен немесе кез келген басқа бірлікпен - егер сіз математиканы білсеңіз - мен қарапайымдылық үшін пайызды ұстаймын).
2 -қадам: Практикалық мүмкіндіктер
Құрылғыны қолмен ұстауға болады, бірақ егер бұл қондырғы бір жерде және әр уақытта бір бұрышта ұсталмаса, кішігірім дәлсіздіктердің ықтималдығы аз болады. Бұл өте кішкентай қате болар еді, және, бәлкім, тіпті ол тіркелмесе де, бұл маған қарайтын нәрсе болар еді.
Алайда, қолмен ұстау қарғысқа ұшыраған заттың танкке түсуінің және оны ешқашан көрмеуінің үлкен мүмкіндігін ұсынады. Бұл мүмкіндіктердің екеуін де азайту үшін, ол ағаштың ұзындығына бекітіледі, содан кейін ол резервуар саңылауының үстіне қойылады - осылайша өлшеу дәл сол биіктіктен және бұрыштан алынады (егер ол құлап кетсе танк, кем дегенде ағаш жүзеді).
Басу түймесі құрылғыны іске қосады (осылайша қосу/өшіру қосқышының қажеттілігін және аккумулятордың кездейсоқ күйіп қалу мүмкіндігін жояды) және Arduino эскизін шығарады. Бұл HC-SR04-тен бірнеше оқуды алады және олардың орташа мәнін алады (кез келген тұрақсыз көрсеткіштерді жұмсарту үшін).
Мен сондай -ақ Arduino цифрлық енгізу -шығару түйреуіштерінің бірінде жоғары немесе төмен екенін тексеру үшін кодты енгіздім және оны құрылғыны «калибрлеу» режиміне қою үшін қолдандым. Бұл режимде дисплей сенсормен қайтарылған нақты қашықтықты көрсетеді (2 -ге бөлінеді), сондықтан мен оның дәлдігін таспа шарасынан тексере аламын.
3 -қадам: ингредиенттер
Құрылғы үш негізгі компоненттен тұрады …

- HC-SR04 ультрадыбыстық таратқыш/қабылдағыш модулі
- Arduino Pro Mini микроконтроллері
- 4 цифрлық 7 сегментті жарықдиодты дисплей немесе TM1637 сияқты «модуль» дисплейі
Жоғарыда айтылғандардың барлығын қалың қаріппен көрсетілген терминдерді іздеу арқылы ebay -де оңай табуға болады.
Бұл бағдарламада дисплей 0-100 % мәнін көрсету үшін 3 цифрды немесе литр санын көрсету үшін 4 цифрды пайдаланады (менің жағдайда максимум 2000), сондықтан кез келген 4 таңбалы дисплей жасайды - сізге қажет емес модульде ондық нүкте немесе қос нүкте бар ма деп алаңдаңыз. Дисплейдің «модулі» (жарықдиодты ажырату тақтасына орнатылған, интерфейс чипі бар) оңайырақ, себебі ол аз түйіспелі қосылыстарды қолданады, бірақ 12 түйреуіші бар шикі жарықдиодты дисплейді Arduino кодқа кішкене өзгертулермен орналастыра алады (шын мәнінде менің бастапқы дизайным осы қондырғыға негізделген). Дегенмен, шикі жарықдиодты дисплейді пайдалану үшін әр сегменттен тартылатын токты шектеу үшін 7 резистор қажет екенін ескеріңіз. Менде TM1637 сағаттық дисплей модулі болды, сондықтан мен оны қолдануға шешім қабылдадым.
Қосымша биттер мен робиктерге 9 вольтты аккумуляторлық қысқыш (және аккумулятор, әрине), «басу» батырмалы қосқышы, жобалық қорап, тақырыптық түйреуіштер, қосылатын сымдар және ұзындығы 2 «х4» ағаштан асатын ұзындық кіреді. резервуардың ашылу диаметрі.
Қосымша биттер мен бобтар (ағаштан басқа) менің жергілікті әуесқойлық электроника желісінен сатып алынды - бұл Австралиядағы Джейкар. Менің ойымша, Ұлыбританиядағы Маплин өміршең балама болар еді, және менің ойымша, АҚШ -та Дигикей мен Моузер сияқты бірнеше адам бар. Басқа елдер үшін мен білмеймін деп қорқамын, бірақ егер сіздің елде қолайлы көшеде интернет -жеткізуші болмаса, қытайлық электронды сатушылар сіз үшін өтетініне сенімдімін. жеткізуді бірнеше апта күту (ақылға қонымды түрде, біздің ең жақын көршілеріміздің бірі болғанына қарамастан, Қытайдан Австралияға жеткізу 6 апта немесе одан да көп емес!).
Сізде жеткілікті үлкен жоба қорапшасы бар екеніне көз жеткізіңіз - мен компоненттерді қолда ұстамас бұрын мен білдім, және бұл шынымен тығыз қысу - маған аз орын алатын басқа түймені алуым қажет болуы мүмкін.
О, айтпақшы, ағаштың ұзындығы мен гараждың бұрышында сақтайтын бірнеше кесінділерден келді (бұл сүйкімді паукалар үшін үй ретінде).
Сематикалық және функционалдылықты түсінгеннен кейін сіз өз нұсқаңызды бейімдеуді, қосуды/өшіруді қосуды немесе күн батареясымен және зарядты реттегіші бар 18650 Li-Ion қуат көзін пайдалануды шеше аласыз, оны үнемі толықтырып отыруға дайын боласыз., немесе көп сызықты СКД немесе графикалық OLED үшін қарапайым жарықдиодты дисплейді өзгертіңіз, мысалы, бір уақытта қалған пайыздық ЖӘНЕ литрді көрсету сияқты қосымша ақпаратты көрсету параметрлері бар. Немесе күн батареясымен резервуарға орнатылған, ән айтатын, билейтін сымсыз IoT қондырғысына баруға болады. Мен сіздің өзгерістер мен өзгерістер туралы естігім келеді.
4 -қадам: Прототипті (және кодты) тексеру
HC-SR04-ті ebay-дегі қытайлық арзан дереккөзден сатып алғаннан кейін, мен өте дәл қондырғы алады деп күткен жоқпын, сондықтан, егер мен оған қашықтықты түзету кодын қосу қажет болса, алдымен оны тақтада сынап көргім келді. менің эскизім.
Осы кезде мен HC-SR04-ті қалай қосуға және қолдануға болатыны туралы негізгі ақпаратты іздей бастадым және jsvester-дің нұсқаулық бойынша «Қарапайым Arduino мен HC-SR04 мысалын» мойындауым керек. Оның үлгісі мен тәжірибесі мен үшін кодты бастаудың тамаша нүктесі болды.
Мен HC-SR04 функцияларының NewPing кітапханасын таптым, ол бірнеше оқудың орташа мәнін алу үшін кіріктірілген функционалдылықты қамтиды, осылайша менің кодымды әлдеқайда жеңілдетеді.
Мен TM1637 сағаттық дисплей модуліне арналған кітапхананы таптым, бұл сандарды көрсетуді әлдеқайда жеңілдетті. Менің бастапқы кодымда (4 таңбалы 7 сегментті дисплей үшін) мен нөмірді жеке цифрларға бөлуім керек еді, содан кейін дисплейде әрбір жеке цифрды қандай сегменттерді жарықтандыру керектігін біліп, содан кейін санның әрбір цифры бойынша велосипедпен айналдыру керек болды. және бұл санды тиісті дисплей цифрына салу. Бұл әдіс мультиплекстеу деп аталады және бір уақытта бір ғана цифрды тиімді көрсетеді, бірақ олар бір цифрдан келесі цифрға өте тез өтеді, сондықтан адам көзі байқамайды және сізді барлық цифрлар қосулы деп сендіреді. осы уақытта. HC-SR04 кітапханасы сияқты, өлшеу операцияларын жеңілдетеді, бұл дисплей кітапханасы мультиплекстеу мен цифрларды өңдеуді өз мойнына алады. Жоғарыда көрсетілген Arduino сілтеме беттерінде бірнеше мысалдар келтірілген, әрине, әр кітапхана үлкен көмекші бола алатын үлгі кодпен бірге келеді.


n
Сонымен, жоғарыдағы суреттер менің сынақ қондырғысын көрсетеді - мен оны Arduino Uno -да қарапайымдылық үшін сынап жатырмын, себебі бұл прототиптеу үшін уақытша қайта пайдалануға болатын қосылыстар үшін орнатылған. Құрылғы мұнда «калибрлеу» режимінде жұмыс істейді (сандық түйреуіш 10 - ақ сым жерге қосылғанын ескеріңіз) және рулеткада көрсетілгендей, мен кездейсоқ қойылған қорапқа 39 см дәл оқылады. Бұл режимде мен кіші 'с' белгісін өлшеу алдында көрсетемін, бұл қалыпты өлшем емес екенін көрсету үшін.
Vcc (5v) және Ground сияқты, HC -SR04 тағы 2 басқа қосылымды қажет етеді - триггер (сарыдан 6 -ға дейін) және жаңғырық (жасылдан 7 -ге дейін). Дисплейге сонымен қатар Vcc (5v) және Ground, тағы 2 қосылым қажет - сағат (көкке дейін 8 -ге дейін) және DIO (қызғылт -түйрегіштен 9 -ға дейін). Жоғарыда айтылғандай, жұмыс режимі жоғары немесе төмен түйреуіш 10 арқылы басқарылады (ақ). Қосылымдар Arduino Pro Mini -де бірдей түйреуіштерді қолданады, бірақ олар дәнекерленген болады. Жұмыс режимі сәйкесінше Vcc, түйреуіш 10 және жерге қосылған үш бастың екеуінен секіргіш көмегімен таңдалады.
HC -SR04 -тің техникалық сипаттамалары 4 миллиметрлік максималды жұмыс қашықтығына дейін 3 миллиметрден аспайтын қателікке ұқсайды, сондықтан менің қондырғымның 2 метрге дейінгі дәлдікке сәйкес келетініне таң қаламын. бұл маған қажет нәрседен асып түседі. Тестті тез және лас қондыруға арналған кеңістіктің шектеулігіне байланысты, менің қашықтықтан тыс жерде тест нәтижелерім сынақ нысанасынан басқа беттердің шағылысуымен бұзылды, себебі таратқыштың сәулесі кеңірек кеңістікке тарады. Бірақ бұл 1,5 метрге дейін жақсы болса, бұл маған жақсы әсер етеді, сізге көп рахмет:-)
5 -қадам: Ino Sketch жаңбыр суын өлшеуіш
Толық код қосылған, бірақ мен кейбір қадамдарды түсіндіру үшін төменде бірнеше үзінділерді қосамын.
Ең алдымен, орнату…
#қосу
#include #include // HC-SR04 үшін түйреуіштер #pinTrig 6 анықтау #pinEcho 7 NewPing sonar (pinTrig, pinEcho, 155); // HC-SR04 үшін максимум 400см, резервуар үшін 155см максималды // LED модулінің қосқыш түйреуіштері (цифрлық түйреуіштер) #define CLK 8 #define DIO 9 TM1637 дисплей (CLK, DIO); // Басқа түйреуіштер #анықтаңыз opMode 10
TM1637 және NewPing кітапханаларымен қатар, мен «дөңгелектеу» функциясына кіруге мүмкіндік беретін математика кітапханасын да қостым. Мен мұны кейбір математикада қолданамын, мысалы, пайызды 5% дәлдікпен көрсетуге мүмкіндік береді.
Әрі қарай, екі құрылғының түйреуіштері анықталады және құрылғылар іске қосылады.
Соңында мен жұмыс режимі үшін 10 -штырды анықтаймын.
// барлық цифрлар үшін барлық сегменттерді өшіріңіз
uint8_t байт = {0x00, 0x00, 0x00, 0x00}; display.setSegments (байттар);
Кодтың бұл бөлімі дисплей модулін басқарудың бір әдісін көрсетеді, бұл әр цифрдағы әрбір сегментті жеке басқаруға мүмкіндік береді. Мен байт деп аталатын массивтегі 4 элементті нөлге теңестірдім. Бұл әр байттың әрбір биті нөлге тең екенін білдіреді. 8 бит 7 сегменттің әрқайсысын және ондық бөлшекті (немесе сағат түріндегі дисплейдегі қос нүктені) бақылау үшін қолданылады. Егер барлық биттер нөлге тең болса, онда сегменттердің ешқайсысы жанбайды. SetSegments операциясы массивтің мазмұнын дисплейге жібереді және (бұл жағдайда) ештеңе көрсетпейді. Барлық сегменттер өшірулі.

Байттың ең маңызды биті DP басқарады, содан кейін қалған 7 бит G -дан A -ға дейінгі 7 сегментті кері тәртіпте басқарады. Мысалы, 1 санын көрсету үшін B және C сегменттері қажет, сондықтан екілік кескін '0b00000110' болады. (Жоғарыдағы сурет үшін CircuitsToday.com сайтына рахмет).
// 10 оқуды алыңыз және орташа ұзақтығын қолданыңыз.
int ұзақтығы = sonar.ping_median (10); // ұзақтығы микросекундтарда, егер (ұзақтығы == 0) // Өлшеу қатесі - нәтижесіз немесе жаңғырығы жоқ {uint8_t байт = {0x00, 0b01111001, 0b01010000, 0b01010000}; // «Err» жазылу сегменттері display.setSegments (байттар); }
Міне, мен HC-SR04-ке 10 оқуды алып, орташа нәтиже беруін айтамын. Егер мән қайтарылмаса, онда бірлік ауқымнан тыс. Содан кейін мен 4 цифрдың белгілі бір сегменттерін басқару, әріптерді (бос), E, r және r жазу үшін жоғарыдағыдай техниканы қолданамын. Екілік белгілерді қолдану жеке биттерді сегменттермен байланыстыруды жеңілдетеді.
6 -қадам: Arduino Pro Mini -ге код жүктеу (USB жоқ)
Жоғарыда айтқанымдай, қытайлық ebay сатушыларының тауарлары келуіне 6 апта немесе одан да көп уақыт кетеді, ал менің көптеген прототиптер мен код жазу кейбір компоненттердің келуін күту кезінде орындалды - олардың бірі Arduino Pro Mini.
Мен тапсырыс бергенше Pro Mini -де байқамаған бір нәрсе - бұл эскизді жүктеуге арналған USB порты жоқ. Біраз ашуланған гуглингтен кейін, мен бұл жағдайда эскизді жүктеудің екі әдісі бар екенін білдім - біреуі сіздің компьютеріңіздегі USB -ден Pro Mini -дегі 6 түйреуішке дейінгі арнайы кабельді қажет етеді. Бұл 6 түйреуіштер тобы ISP (жүйелік бағдарламалаушы) түйреуіштері ретінде белгілі және сіз қаласаңыз, бұл әдісті кез келген Arduino -да қолдана аласыз, бірақ USB интерфейсі Arduino -ның барлық басқа нұсқаларында қол жетімді болғандықтан (I) ойланыңыз), бұл опцияны қолдану әлдеқайда қарапайым. Басқа әдіс сізге USB интерфейсі бар басқа Arduino болуын талап етеді.
Бақытымызға орай, менің Arduino Uno -ның болуы мен сізге төменде сипаттайтын екінші әдісті қолдануға болатынын білдіреді. Ол 'Arduino провайдер ретінде' деп аталады. Қысқаша айтқанда, сіз Arduino-ға арнайы эскиз жүктейсіз, ол оны сериялық интерфейске айналдырады. Содан кейін нақты нобайыңызды жүктеңіз, бірақ қалыпты жүктеу опциясының орнына сіз IDE мәзірінен «Arduino -ны провайдер ретінде пайдаланып» жүктейтін опцияны қолданасыз. Ардуино «ауысу» сіздің эскизіңізді IDE-ден алады және оны өзінің жадына жүктемей, оны Pro Mini провайдерінің түйреуіштеріне береді. Сіз қалай жұмыс істейтінін біле бастасаңыз, бұл қиын емес, бірақ сіз одан аулақ болғыңыз келетін күрделіліктің қосымша қабаты. Егер бұлай болса, немесе сізде «ауысу» ретінде қолдануға болатын басқа Arduino болмаса, онда сіз USB интерфейсі бар Arduino Nano немесе басқа формалық факторлардың басқа модельдерін сатып алғыңыз келуі мүмкін. және бағдарламалауды қарапайым перспективаға айналдырады.
Бұл процесті түсінуге көмектесетін бірнеше ресурстар. Arduino сілтемесі мақсатты құрылғыға жаңа жүктеуші жүктеуді білдіреді, бірақ сіз дәл осылай нобай жүктей аласыз. Мен Джулиан Илеттің видеосы тұжырымдаманы әлдеқайда түсінікті деп таптым, бірақ ол Arduino сілтемесіндегі екі Arduino -ны қалай қосуға болатынын түсінбейді және оның орнына тақтаға жалаңаш чипті бағдарламалайды.
- Arduino анықтамалық нұсқаулығы - Arduino -ны провайдер ретінде пайдалану
- Джулиан Илеттің YouTube -тегі бейнесі - Arduino -ны провайдер ретінде пайдалану
Pro Mini -де 6 провайдер түйрегіштері ыңғайлы түрде топтастырылмағандықтан, цифрлық түйреуіштердің қайсысы 4 бағдарламалау түйініне қатысты екенін декодтау керек (қалған екі байланыс тек Vcc және Gnd - сондықтан қарапайым). Бақытымызға орай, мен бұл жағдайды бастан өткердім - және мен сізбен өз білімімді бөлісуге дайынмын - мен қандай жомарт адаммын !!
Arduino Uno және Arduino отбасының көптеген басқа мүшелері 3х2 өлшемді блокта 6 түйреуішпен реттелген (www.arduino.cc сайтынан алынған сурет).

Өкінішке орай, Pro Mini олай етпейді. Төменде көріп тұрғаныңыздай, оларды анықтау өте оңай және олар әлі де 3 түйреуіштен тұратын 2 блокта орналасқан. MOSI, MISO және SCK Pro Mini мен Arduino Uno -да сәйкесінше 11, 12 және 13 сандық түйреуіштермен бірдей, ал ISP бағдарламалау үшін 11 -ден 11 -ге, 12 -ден 12 -ге және 13 -тен 13 -ке дейін қосылыңыз. Mini's Reset түйрегіші Uno pin 10 -ға, ал Pro Mini's Vcc (5v)/Ground Arduino +5v/Ground -ге қосылуы керек. (Сурет www.arduino.cc сайтынан алынды)

7 -қадам: құрастыру

Мен айтқанымдай, мен бұл істі қолға алдым және өкіндім. Барлық компоненттерді орналастыру нағыз қысу болды. Іс жүзінде мен түйменің түйіспелерін жан-жағына бүктеп, қораптың тереңдігіне сәйкес келу үшін оны сәл көтеру үшін сыртынан қаптама қоюға тура келді, мен әр жағынан 2-3 мм аршуға тура келді. дисплей модулінің тақтасы да оған сәйкес келеді.
Мен ультрадыбыстық сенсорлар өтуі үшін корпуста 2 тесік бұрғыладым. Мен тесіктерді кішкене бұрғыладым, содан кейін оларды кішкене айналмалы тегістеуіштің көмегімен біртіндеп көбейттім, осылайша оларды жақсы «итеруге» айналдырдым. Өкінішке орай, олар тегістеуішті қораптың ішінен қолдана алмайтындай жақтарға тым жақын болды, және мұны сырттан жасау керек болды, нәтижесінде көптеген сызаттар мен сырғанау ұсақтағышы сырғып кетті - иә, бәрі төменде бәрібір - кімге бәрібір..?
Содан кейін мен дисплейдің өтуі үшін қолайлы өлшемді бір ұшын кесіп алдым. Тағы да - қораптың өлшемі туралы менің болжамым мені артқы жағынан тістеп алды, себебі ұясы дисплейдің үстінде өте жұқа бөлігін қалдырды, мен оны тегіс толтырып жатқанда сөзсіз сынды. Жақсы - бұл супер желім үшін ойлап табылған …
Ақырында, барлық компоненттер қорапта шамамен орналасқандықтан, мен түйменің саңылауын қайда қою керектігін өлшедім, сонда түймешіктің корпусы соңғы бос орынға түседі. ЖАЙ!!!
Содан кейін мен барлық компоненттерді дәнекерлеп дәнекерледім, олардың бәрі корпусқа жиналмай тұрып, мен бүгілгеннен кейін, тегістеу мен тегістеуден кейін де жұмыс істеп тұрғанын тексеру үшін. Сіз секіру байланысын дисплей модулінің астында ғана көре аласыз, Gnd -ге қосылған Arduino -да (ақ сым) 10 -штыры бар, осылайша құрылғыны калибрлеу режиміне қояды. Дисплей менің үстелімнен 122см жоғары оқиды - ол терезе жақтауының жоғарғы жағынан шағылысқан сигналды алған болуы керек (оның төбесі тым төмен).

Содан кейін бұл ыстық желім тапаншасының сынуы және аяқ киімнің барлық компоненттерін орнына қою. Мұны істей отырып, мен дисплей модулінің жоғарғы жағы мен қақпақ арасындағы кішкене саңылау, қақпақ мен қалағандай тығыз орналаспайтын біршама дөңес қалдырды.. Мен бір күні бұл туралы бірдеңе жасауға тырысуым мүмкін - мүмкін, мен …

8 -қадам: Аяқталған мақала
Орнатудан кейінгі бірнеше сынақтардан кейін және ағаш кесектерінің тереңдігін ескере отырып, менің кодыма түзетулер енгізгеннен кейін, мен құрылғыны істен шығардым (мен оны есептеулерде мүлдем ескермедім - ааа !!), бәрі жасалды. Соңында!
Жиналған тестілеу
Құрылғы менің орындықта бетін төмен қаратып отырғанда, шағылған сигнал болмайды, сондықтан құрылғы қате жағдайын дұрыс көрсетеді. Егер ең жақын шағылысатын бет қондырғы ауқымынан тыс болса, дәл осылай болар еді.

Менің үстелдің үстіңгі қабатынан еденге дейін 76 см (меніңше, 72 см, ағаштың 4 см тереңдігі).

Қондырғының астыңғы жағы ағаш таратқыш пен қабылдағыштың ағаш кесіндісін көрсетіп тұрғанын көрсетеді - мен оны ағаштың бөлігі деп атауды доғаруым керек - ол бұдан былай өлшеуішті тұрақтандыру мен дәлдікке орналастыру платформасы деп аталады! Бақытымызға орай, мен бұл туралы соңғы рет айтатын шығармын;-)
Ох - сіз бұл жағымсыз сызаттар мен коньки белгілерін көре аласыз …

… Және міне, қалыпты жұмыс режимінде орналасқан, менің резервуарымның сыйымдылығын 5%дәлдікпен өлшейтін дайын өнім. Бұл жексенбі күні (өте) жаңбырлы күн болды, мен бұл жобаны аяқтағанымды көрдім, сондықтан қондырғыдағы жаңбыр тамшылары және 90% оқу өте жағымды болды.

Сізге бұл нұсқаулықты оқу ұнады деп үміттенемін және сіз Arduino бағдарламалауы, физика және дыбыс/ультрадыбыстық шағылыстың қолданылуы, жобаны жоспарлауда болжамды қолданудың қателіктері туралы біраз білдіңіз және сіздің шабытыңыз болды. жаңбыр суына арналған резервуардың жеке өлшегіші - содан кейін оны пайдалану үшін жаңбыр суының резервуарын орнатыңыз, сонымен бірге қоршаған ортаға аздап көмектесіп, суды үнемдеңіз.
Келесі күні не болғанын оқыңыз -!
9 -қадам: Postscript - жүз (және бес) пайыз?
Дүйсенбіде жаңбырлы жексенбіден кейін дүйсенбіде резервуар мүмкіндігінше толық болды. Мен оның толық болғанын көрген бірнеше рет болғандықтан, мен өлшеуішті салыстыру үшін ең қолайлы уақыт болар деп ойладым, бірақ ол 105%деп тіркелді, сондықтан бірдеңе дұрыс болмағаны анық.
Мен өлшеуіш таяқшамды алып шықтым және судың максималды тереңдігі ретінде 140см және 16см бос орын (резервуардың сыртынан жасалған көрнекі болжамдарға негізделген) менің бастапқы жорамалдарымның нақты өлшемдерден біршама аз екенін білдім. Менің 100% эталонымның нақты деректерімен қаруланған мен кодты өзгертіп, Arduino -ны қайта жүктей алдым.
Судың максималды тереңдігі 147 см құрайды, өлшеу нүктесі 160 см, ал 13 см бос орын береді (резервуардағы бос орынның қосындысы, резервуардың мойынының биіктігі және … бөлігінің тереңдігі), жоқ, не?! Мен өлшеуішті тұрақтандыру мен дәлдікті орналастыру платформасының тереңдігін айтамын!).
MaxDepth және бос орынның айнымалы мәндерін сәйкесінше түзеткеннен кейін, сондай -ақ sonar объектісінің максималды диапазонын 160см етіп қалпына келтіргеннен кейін, жылдам қайта тестілеу 100% көрсетті, бұл көрсеткішті сәл көтергенде (95% дейін төмендеді) су пайдаланылды).
Жұмыс аяқталды!
PS - бұл менің нұсқаулыққа деген бірінші әрекетім. Егер сізге менің стилім, юмор сезімі, қателіктерді мойындау адалдығы ұнаса (эй - мен тіпті мінсіз емеспін …) және т.
10 -қадам: Кейінгі ойлар
Қолданылатын сыйымдылық
Нұсқаулықты шығарғаныма бірнеше апта болды, мен жауап ретінде көптеген түсініктемелерге ие болдым, олардың кейбіреулері балама механизмдерді ұсынды - электронды және қолмен. Бірақ бұл мені ойландырды, және мен, бәлкім, басында көрсетуім керек еді.
- Менің резервуарымда сорғы бар, ол жер деңгейінде орнатылған - резервуардың табанынан сәл төмен. Сорғы жүйенің ең төменгі нүктесі болғандықтан және сорғыдан су қысымда болғандықтан, мен резервуарымды толық қолдана аламын.
- БІРАҚ - егер сіздің резервуарыңызда сорғы болмаса және ол гравитациялық қуатқа сүйенсе, онда резервуардың тиімді сыйымдылығы шүмектің биіктігімен шектеледі. Сіздің резервуарыңыздағы су шүмектен төмен болса, онда су ағып кетпейді.
Сонымен, сіз электронды өлшеуішті, қолмен шыны немесе қалқымалы және жалаушалы жүйені қолданасыз ба, сорғысыз сіздің резервуардың тиімді «негізі» резервуардың шығыс биіктігі екенін біліңіз. түртіңіз.
Ұсынылған:
Жаңбыр детекторы Arduino мен жаңбыр тамшысының сенсоры: 8 қадам

Жаңбыр детекторы Arduino мен жаңбыр тамшысының сенсоры: Бұл оқулықта жаңбыр датчигі арқылы жаңбырды қалай анықтау керектігін, дыбыстық сигналды модуль мен OLED дисплейі мен Visuino көмегімен шығаруды үйренеміз
Ультрадыбыстық жаңбыр өлшегіш: Raspebbery Pi ашық ауа райы станциясы: 1 -бөлім: 6 қадам

Ультрадыбыстық жаңбыр өлшегіші: Raspebbery Pi ашық ауа райы станциясы: 1 -бөлім: Коммерциялық қол жетімді IoT (Интернет заттары) Ауа райы станциялары қымбат және барлық жерде қол жетімді емес (Оңтүстік Африка сияқты). Ауа райының қолайсыздығы бізге әсер етеді. SA ондаған жылдардағы ең қатты құрғақшылықты бастан кешуде, жер жылынып, егіншілікке
Темір жолдарды қорғау үшін Arduino -да температура, жаңбыр суы және діріл сенсорларын қолдану: 8 қадам (суреттермен)

Темір жолдарды қорғау үшін Arduino-дағы температура, жаңбыр суы және діріл датчиктерін қолдану: Қазіргі қоғамда теміржол жолаушыларының көбеюі темір жол компаниялары сұранысты қанағаттандыру үшін желілерді оңтайландыру үшін көп жұмыс жасауы керек дегенді білдіреді. Бұл жобада біз температура, жаңбыр суы мен діріл сенсорларының қалай болатынын шағын көлемде көрсететін боламыз
Жаңбыр суы: 11 қадам (суреттермен)

Жаңбыр суы: қатты нөсер біздің үстімізде толып кетуіне әкелуі мүмкін: тротуарлар, жаңбырлы су құдықтары, польдерлер мен біздің ойықтар. Бұған жол бермеу үшін біз жаңбыр суы шлюзін ойлап таптық! Жаңбыр суы шлюзі жаңбыр суының арасындағы қашықтықты сандық түрде есептейді
Үлкен сыйымдылығы бар UPS -ті қайта жасаңыз: 4 қадам (суреттермен)

Үлкен сыйымдылықпен UPS-ті қайта жасаңыз: Сіздің компьютерге сатып алатын UPS құрылғыларында әдетте бірнеше жылға созылатын гельдік батарея бар. Егер сіздің қуатыңыз жиі өшіп қалса. Сіз оларды ауыстырған кезде, сіз стандартты ұяшық болса да, пакетті төлейсіз. Бұл қысқа нұсқаулық көрсетеді