Мазмуну:
- 1 -кадам: Математика…
- 2 -кадам: Иш жүзүндө
- 3 -кадам: Ингредиенттер
- 4 -кадам: Прототипти (жана кодду) тестирлөө
- 5 -кадам: Жамгыр суусун өлчөөчү Ino Sketch
- 6 -кадам: Arduino Pro Miniге код жүктөө (USB жок)
- 7 -кадам: Ассамблея
- 8 -кадам: Бүткөн макала
- 9 -кадам: Postscript - Жүз (жана беш) пайыз?
- 10 -кадам: Кийинки ойлор
Video: Ultrasonic Rainwater Tank Capacity Meter: 10 Кадамдар (Сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Эгерде сиз мага окшош болсоңуз жана экологиялык абийириңиз бир аз болсо (же бир нече долларды үнөмдөөгө умтулган скинфлинт болсоңуз, анда мен дагы …), сизде жамгыр суусу үчүн резервуар болушу мүмкүн. Менде Австралияда өтө сейрек кездешүүчү жамгырды жыйнай турган танк бар, бирок бала, балам, бул жерде жамгыр жааганда, чындап эле жамгыр жаайт! Менин танкымдын бийиктиги болжол менен 1,5 м жана плинтуста турат, демек, мен суунун деңгээлин текшерүү үчүн кадамдарды жасашым керек (же - мен жалкоо болгондуктан, барбекюдан алынган эски газ бөтөлкөсүнүн үстүндө тең салмактуулукту сактайм) танктын жанындагы "кадам" катары туруктуу жашоого чейин).
Мен резервуардагы суунун деңгээлин текшерип турууну кааладым, эч кандай көтөрүлбөстөн жана бир колум менен дренаждык түтүккө илинбестен (анын артында кандай жөргөмүштөр болушу мүмкүн деп тынчсызданып жатып - австралиялык жөргөмүштөр жөнүндө уккансыз - туурабы?) … Ошентип, электроникага жаңыдан кызыгуу пайда болуп, Кытайдан келген арзан Arduino клондору ebayде, мен үчүн жумуш жасоо үчүн "виджет" курууну чечтим.
Эми менин "кыялым" виджети резервуарга биротоло орнотулуп, күндүн заряддуу энергия булагын колдонуу, гаражымда алыстан окуу, же телефонунан текшере турган Bluetooth аркылуу зымсыз өткөргүч, же балким Автоматтык түрдө жаңыртылган веб -баракчаны камтыган ESP түрүндөгү түзмөк, мен танкасындагы суунун деңгээлин интернеттен дүйнөнүн каалаган жеринен текшере алам … бирок чынында - мунун баары мага эмне үчүн керек? Ошентип, мен улуу идеалдарымды бир аз артка чалдым (жана жакшы), жана чечимдин зымсыздыгын, туруктуу орнотулгандыгын, күндүн кубатталуусун жана танктын деңгээлин арткы четинен текшерүү жөндөмүн жок кылдым (дайыма Арткы четинде WiFi бар деп ойлосок, башкача айтканда …)
Алынган долбоор жогоруда көрүнгөн колго түшүрүлдү, муну танктын ачылышында кармап туруу жана баскыч баскычы менен иштетүү, санарип окуу менен, жер деңгээлинен окууга болот - алда канча практикалык.
1 -кадам: Математика…
Суунун деңгээлин кантип аныктоо боюнча бир нече идеялар менен ойногондон кийин - мен виджеттин негизи катары УЗИ өткөргүчүн/ресиверин жана Arduino колдонуп, окууларды кабыл алып, бардык математиканы кылууну чечтим. Сенсордон кайтарылган көрсөткүчтөр (кыйыр түрдө) аралык түрүндө болот - УЗИ сенсорунан секирген бетине чейин (суунун бети - же танктын түбү, эгер бош болсо) жана кайра кайра, ошондуктан бизге керек танкта калган пайызга жетүү үчүн муну менен бир нече нерсени жасоо.
Эскертүү - чындыгында, сенсордон кайтарылган маани чындыгында сигналдын эмитент тараптан чыгып, алуучуга кайтуусуна кеткен убакыт. Бул микросекундтарда - бирок үндүн ылдамдыгын билүү см үчүн 29 микросекундду түзөт (Эмне? Сиз муну билбедиңиз беле? Pfft…) бир мезгил аралыгынан аралыкты өлчөөгө оңой айландырат.
Биринчиси - албетте, сенсорду жер үстүндөгү аралыкка жеткирүү үчүн аралыкты 2ге бөлүшүбүз керек. Андан кийин, сенсордон 'max' суунун тереңдигине чейинки туруктуу аралыкты алып салыңыз. Калган баа - бул суунун тереңдиги. Андан кийин, резервуарда калган суунун тереңдигин табуу үчүн бул сууну эң чоң тереңдиктен алып салыңыз.
Бул маани суунун көлөмүн алуу үчүн суунун тереңдигин максималдуу тереңдикке карата пайыз катары иштеп чыгуу же тереңдикти "бетинин аянты" менен көбөйтүү сыяктуу башка эсептөөлөр үчүн негиз болуп саналат. литрде (же галлондордо же башка бирдиктерде - муну математиканы билгениңерде, мен жөнөкөйлүк үчүн пайызга карманам).
2 -кадам: Иш жүзүндө
Бөлүктү кол менен кармап турууга болот, бирок бул бирдикти бир жерде жана ар дайым бир бурчта кармабаса, анча -мынча так эместиктердин кичине мүмкүнчүлүгүн алып келет. Бул өтө кичинекей ката болмок, жана, балким, каттала турган да эмес, бул мени шылдыңдаган нерсе болмок.
Бирок, колго кармоо, каргыш тийген нерсенин танкка түшүп кетишине жана аны эч качан көрбөө мүмкүнчүлүгүнө ээ болот. Ошентип, бул мүмкүнчүлүктөрдүн экөөнү тең жумшартуу үчүн, ал жыгачтын узундугуна бекитилет, андан кийин ал танктын тешигинин үстүнө коюлат - ошентип өлчөө дайыма бирдей бийиктиктен жана бурчтан алынат (жана эгерде танк, жок дегенде жыгач калкып чыгат).
Баскыч баскычы агрегатты иштетет (ошону менен күйгүзүү/өчүрүү өчүргүчтүн зарылдыгы жок болуп калат, жана кокустан батарейканын батып кетүү мүмкүнчүлүгү жок кылынат) жана Arduinoдогу эскизди күйгүзөт. Бул HC-SR04тен бир катар окууларды талап кылат жана алардын орточо маанисин талап кылат (кандайдыр бир катаал окууларды жумшартуу үчүн).
Мен ошондой эле Arduino санариптик I/O төөнөгүчтөрүнүн биринде жогорку же төмөн экендигин текшерүү үчүн бир аз код киргизип, аны "Калибрлөө" режимине киргизген элем. Бул режимде дисплей жөн эле сенсор кайтарган чыныгы аралыкты (2ге бөлүнгөн) көрсөтөт, андыктан мен анын тууралыгын рулетка менен текшере алам.
3 -кадам: Ингредиенттер
Бирдик үч негизги компоненттен турат…
- HC-SR04 УЗИ өткөргүч/алуучу модулу
- An Arduino Pro Mini микроконтроллери
- 4 орундуу 7 сегменттүү LED дисплей же дисплей 'модулун' TM1637 сыяктуу
Жогоруда айтылгандардын бардыгын жонокой тамгалар менен көрсөтүлгөн терминдерди издөө аркылуу ebayден оңой эле табууга болот.
Бул тиркемеде дисплей 3 цифраны колдонот жана 0-100 % көрсөткүчүн көрсөтөт же литрдин санын көрсөтүү үчүн 4 цифраны колдонот (менин жагдайымда максимум 2000), андыктан 4 орундуу дисплей аткарат - сизге кереги жок модулда ондук чекит же эки чекит барбы деп тынчсыздангыла. Дисплейдин "модулу" (интерфейстин чипи бар, үзүлүү тактасына орнотулган LED) жеңилирээк, анткени ал азыраак пин туташууларын колдонот, бирок 12 казыктары бар чийки LED дисплейди Arduino кодго кичине өзгөртүүлөр менен жайгаштыра алат (чындыгында менин баштапкы дизайным ушул орнотууга негизделген). Эскертүү, бирок чийки LED дисплейди колдонуу ар бир сегмент тарткан токту чектөө үчүн 7 резисторду талап кылат. Менде TM1637 сааты бар дисплей модулу бар болчу, ошондуктан аны колдонууну чечтим.
Кошумча биттер жана бобдорго 9 в батарея батырмасы (жана, албетте, батарейка), "басуу" баскычынын убактылуу баскычы, долбоор кутусу, баштыктар, туташтыруучу зымдар жана узундугу 2 "x4" жыгач ашат танк ачуу диаметри.
Кошумча биттер жана бобдор (жыгачтан башка) менин жергиликтүү хобби электроника тармагынан сатылып алынган - бул Австралиядагы Джейкар. Мен Улуу Британиядагы Маплинди алгылыктуу альтернатива деп ойлойм жана АКШда Digikey жана Mouser сыяктуу бир нече бар деп ойлойм. Башка өлкөлөр үчүн, мен билбейм деп корком, бирок эгер сизде эгер сиздин өлкөдө ылайыктуу бийик көчө соода түйүнү же онлайн жеткирүүчү жок болсо, анда кытайлык ebay сатуучулар сиз үчүн өтөт деп ишенем. жеткирүү үчүн бир нече жума күткөн акыл (таң каларлыктай, биздин эң жакын кошуналарыбыздын бири болгонуна карабай, 6 жума же андан көп Кытайдан Австралияга жеткирүү адаттан тыш эмес!).
Долбоордун кутусуна ээ экениңизди текшериңиз - мен компоненттерди колдонгонго чейин меники боюнча болжолдоп койгом, жана бул чындыгында тыгыз кысуу - мага азыраак орунду колдонуучу башка баскычты алуу керек болушу мүмкүн.
Оо, айтмакчы, жыгачтын узундугу мен гараждын бурчунда сактаган кээ бир сыныктардан келип чыкты (ошол сүйкүмдүү жөргөмүштөрдүн үйү катары).
Сематикалык жана функционалдуулукту түшүнгөндөн кийин, сиз өзүңүздүн версияңызды ыңгайлаштырууну, күйгүзүү/өчүрүүнү кошууну же 18650 Li-Ion энергия булагын, күн панели жана заряд контроллерин колдонуу менен, аны дайыма толуктап турууга даяр болушуңуз керек., же жөнөкөй LED дисплейин көп саптуу ЖК же графикалык OLED үчүн көбүрөөк маалыматты көрсөтүү параметрлери менен алмаштырыңыз, мисалы пайыз менен ЖАНА литрди көрсөтүү. Же болбосо, күн ыргытуу менен танкка орнотулган, баардык ырдап, бийлеп турган зымсыз IoT бирдигине кайрылсаңыз болот. Мен сиздин вариацияларыңыз жана өзгөртүүлөрүңүз жөнүндө уккум келет.
4 -кадам: Прототипти (жана кодду) тестирлөө
HC-SR04ти ebayдеги кытайдын арзан булагынан сатып алгандан кийин, мен абдан так бирдикти алам деп күткөн эмесмин, андыктан аралыкты оңдоо кодун киргизишим керек болсо, мен аны биринчи кезекте нан тактасында сынап көргүм келди. менин эскизим
Бул жерде мен HC-SR04'ге кантип туташуу жана колдонуу боюнча негизги маалыматты сурап жаттым жана jsvesterдин "Simple Arduino жана HC-SR04 мисалын" моюнга алышым керек. Анын үлгүсү жана тажрыйбасы мен үчүн кодду баштоо үчүн эң сонун башталыш болду.
Мен HC-SR04 үчүн NewPing функцияларынын китепканасын таптым, анын ичине бир нече окуунун орточо көлөмүн алуу үчүн камтылган функция кирет, ошону менен менин кодум бир топ жөнөкөй.
Мен TM1637 саатын көрсөтүү модулунун китепканасын таптым, бул сандарды көрсөтүүнү бир топ жөнөкөй кылды. Менин баштапкы кодумда (4 орундуу 7 сегменттүү дисплей үчүн), мен номерди жеке цифраларга бөлүп, анан дисплейдеги ар бир жеке цифраны кайсы сегменттерди жарыктандыруу керек экенин билип, анан цифранын ар бир цифрасы аркылуу велосипед менен айланып өтүшүм керек болчу. жана бул номерди тиешелүү дисплей цифрасына куруу. Бул ыкма мультиплексирлөө деп аталат жана эффективдүү түрдө бир эле цифраны көрсөтөт, бирок алар аркылуу бир цифрадан экинчи цифрага өтө тез өтөт, адамдын көзү байкабайт жана сизди бардык цифралар күйүп турат деп ишендирет. Ошол эле учурда. HC-SR04 китепканасы өлчөө иштерин жеңилдеткендей эле, бул китепкана бардык мультиплекстөө жана цифраларды иштетүү боюнча кам көрөт. Arduino Reference баракчалары жогоруда шилтеме кылып, кээ бир мисалдарды келтирет жана, албетте, ар бир китепкана чоң жардам бере турган үлгү коду менен келет.
п
Ошентип, жогорудагы сүрөттөр менин тест жабдуумду көрсөтөт - мен аны Arduino Unoдо жөнөкөйлүк үчүн сынап жатам, анткени бул прототиптештирүү үчүн убактылуу кайра колдонулуучу байланыштар үчүн орнотулган. Аппарат бул жерде "Калибрлөө" режиминде иштеп жатат (санарип пин 10 - ак зым жерге туташтырылганын байкаңыз) жана рулеткада көрсөтүлгөндөй, туш келди тушума койгон кутуга чейин 39см так окуп жатат. Бул режимде мен кичинекей 'c' белгисин ченөөнүн алдында көрсөтөм, бул кадимкидей эмес экенин көрсөтүү үчүн.
Vcc (5v) жана Ground сыяктуу эле, HC -SR04 дагы 2 башка туташууга муктаж - триггер (сарыдан 6 -га чейин) жана жаңырык (жашылдан 7 -ге чейин). Дисплейге Vcc (5v) жана Ground жана дагы 2 туташуу керек - саат (көккө чейин 8 -ге чейин) жана DIO (кызгылт -9 -га чейин). Жогоруда айтылгандай, иштөө режими 10 -пиндин жогорку же төмөн тарабынан көзөмөлдөнөт (ак). Байланыштар Arduino Pro Mini боюнча ошол эле төөнөгүчтөрдү колдонушат, бирок биротоло ширетилет. Иштөө режими Vcc, pin 10 жана жерге туташкан үч баштыктын экөөнөн секирүүчү аркылуу тандалат.
HC -SR04 үчүн расмий мүнөздөмөлөр максималдуу ката катары 3 миллиметрди түзөт, максималдуу иштөө аралыгы 4 метрге чейин, андыктан менин бирдигим 2 метрге чейин так болгонун түшүнүп таң калам. ал мага керектүү нерседен ашып түшөт. Тез жана кир тестти орнотуу үчүн орун чектелгендиктен, менин тестирлөөнүн жыйынтыктары менин сыноо максатымдан башка беттердин чагылышы менен бузулган, анткени өткөргүчтүн нуру жайылып, кеңирээк аймакты ээлеген. Бирок 1,5 метрге чейин жакшы болсо - бул мени жакшы кылат, чоң рахмат:-)
5 -кадам: Жамгыр суусун өлчөөчү Ino Sketch
Толук код тиркелген, бирок мен кээ бир кадамдарды түшүндүрүү үчүн төмөндө бир нече үзүндү киргизем.
Биринчиден, орнотуу…
#кошуу
#кошуу #кошуу // HC-SR04 үчүн казыктар #pinTrig 6 аныктоо #аныктоо pinEcho 7 NewPing sonar (pinTrig, pinEcho, 155); // 400cms HC-SR04 үчүн максималдуу, 155cms танк үчүн максималдуу // LED модулунун туташуу казыктары (Digital Pins) #define CLK 8 #define DIO 9 TM1637Display display (CLK, DIO); // Башка казыктар #аныктоо opMode 10
TM1637 жана NewPing китепканалары сыяктуу эле, мен "тегеректөө" функциясына кирүүгө мүмкүнчүлүк берген математика китепканасын да коштум. Мен муну кээ бир математикада колдонуп, мисалы, пайызды 5% га чейин көрсөтүүгө мүмкүнчүлүк берем.
Андан кийин эки түзмөктүн казыктары аныкталып, түзмөктөр башталды.
Акыр -аягы, мен иштөө режими үчүн 10 -пинди аныктайм.
// бардык цифралар үчүн бардык сегменттерди өчүрүү
uint8_t байт = {0x00, 0x00, 0x00, 0x00}; display.setSegments (байттар);
Коддун бул бөлүмү дисплей модулун башкаруунун бир жолун көрсөтүп, ар бир цифрада ар бир сегменттин жекече көзөмөлүнө мүмкүндүк берет. Мен массивдеги байт деп аталган 4 элементтин баарын нөлгө койдум. Бул ар бир байттын ар бир бити нөлгө барабар экенин билдирет. 8 бит 7 сегменттин ар бирин жана ондук чекитти (же саат тибиндеги дисплейдеги кош чекитти) көзөмөлдөө үчүн колдонулат. Ошентип, эгерде бардык биттер нөлгө барабар болсо, анда сегменттердин бири да күйбөйт. SetSegments операциясы массивдин мазмунун дисплейге жөнөтөт жана (бул учурда) эч нерсе көрсөтпөйт. Бардык сегменттер өчүрүлгөн.
Бир байттагы эң маанилүү бит DPди көзөмөлдөйт, андан кийин калган 7 бит G сегизди Aдан тескери тартипте башкарат. Мисалы, 1 санын көрсөтүү үчүн B жана C сегменттери талап кылынат, андыктан бинардык өкүлчүлүк '0b00000110' болмок. (Жогорудагы сүрөт үчүн CircuitsToday.com сайтына рахмат).
// 10 окууну алып, медиананын узактыгын колдонуңуз.
int узактыгы = sonar.ping_median (10); // узактыгы микросекундтарда, эгерде (Duration == 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 ISP катары" деп аталат. Кыскача айтканда, сиз "эс алуу" Arduinoго атайын эскиз жүктөйсүз, бул аны Сериялык интерфейске айландырат. Андан кийин чыныгы эскизиңизди жүктөңүз, бирок кадимки жүктөө параметринин ордуна, IDE менюсунан "Arduino провайдери катары" жүктөгөн вариантты колдоносуз. "Арасында жүрүү" Arduino анда IDEден сиздин чыныгы эскизиңизди алат жана аны өзүнүн эсине жүктөөнүн ордуна, аны Pro Mini провайдеринин казыктарына өткөрүп берет. Башыңызды кантип иштеткениңиз кыйын эмес, бирок бул сиз качкыңыз келген татаалдыктын кошумча катмары. Эгер ушундай болсо, же сизде "өтмөк" катары колдоно турган башка Arduino жок болсо, анда сиз Arduino Nano же USB интерфейсин камтыган башка кичинекей форма факторлорунун моделдерин сатып алгыңыз келиши мүмкүн. жана программалоону жөнөкөй перспективага айландырат.
Бул жерде процессти түшүнүүгө жардам бере турган бир нече ресурстар бар. Arduino Reference атайын жаңы жүктөгүчтү максаттуу түзмөккө күйгүзүүнү билдирет, бирок сиз дагы эскизди ушинтип оңой эле жүктөй аласыз. Мен Джулиан Илеттин видеосу түшүнүктү бир топ түшүнүктүүрөөк деп таптым, бирок ал Arduino шилтемесиндеги эки Ардуинону кантип бириктирүүнү түшүндүргөн бөлүгүн өткөрүп жиберип, анын ордуна нан тактасында жылаңач чипти программалайт.
- Arduino Reference Manual - ISP катары Arduino колдонуу
- Юлиан Илеттин YouTube видеосу - Arduino провайдери катары колдонуу
Pro Miniде ыңгайлуу топтолгон 6 провайдер жок болгондуктан, санарип казыктардын кайсынысы 4 программалоо төөнөгүчүнө тиешелүү экенин чечишиңиз керек (калган эки байланыш Vcc жана Gnd - ушунчалык жөнөкөй). Бактыга жараша, мен буга чейин эле башымдан өткөрдүм жана сиздер менен болгон билимимди бөлүшүүгө даярмын - мен кандай берешен адаммын !!
Arduino Uno жана Arduino үй -бүлөсүнүн көптөгөн башка мүчөлөрү 6 пинди 3х2 блокко бөлүп коюшкан (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 -кадам: Бүткөн макала
Бир нече пост -монтаждоо сыноолорунан кийин жана жыгачтын тереңдигин эсепке алуу үчүн менин кодумду оңдоп чыккандан кийин, мен аны түзмөккө сайып койгом (бул менин эсептөөлөрүмдө таптакыр көз жаздымда калган - d'oh !!), баары жасалды. Акыры!
Чогулган тестирлөө
Бирдик менин отургучумда жүзүн ылдый каратып отурганда, эч кандай чагылдырылган сигнал болбойт, андыктан аппарат катанын абалын туура көрсөтөт. Эң жакын чагылтуучу бети бирдиктин диапазонунан тышкары болсо, ошондой болот.
Менин отургучтун үстүнөн полго чейин 76см окшойт (72см плюс жыгачтын 4 см тереңдиги).
Агрегаттын астыңкы жагында, өткөргүч менен кабыл алгычтын жыгачтын кесиндисин көрсөтүп турушу - мен аны чынында жыгач деп атоону токтотушум керек - ал мындан ары ченегичти стабилдештирүү жана так жайгаштыруу платформасы деп аталат! Бактыга жараша, бул, балким, акыркы жолу айтып жатам;-)
Ох - бул жерде сиз бардык жагымсыз чийиктерди жана коньки белгилерин көрө аласыз …
… Жана бул жерде кадимки иштөө режиминде жайгаштырылган, чындыгында менин танктын кубаттуулугун 5%жакын ченегенде даяр продукт. Жекшемби күнү (абдан) жамгыр жаап, бул долбоорду бүтүргөнүмдү көрдүм, ошондуктан жамгырдын тамчылары жана 90% окуу абдан жагымдуу болду.
Бул нускаманы окуу сизге жакты деп үмүттөнөм жана сиз Arduino программалоо, физика жана сонар/УЗИ чагылтуусун колдонуу, долбоорду пландаштырууда божомолдорду колдонуунун тузу жөнүндө бир аз үйрөндүңүз деп үмүттөнөм. жеке жамгыр суу сактагычын өлчөөчү прибор - анан экологияга бир аз жардам берип, суу эсепти үнөмдөө менен бирге, аны колдонуу үчүн жамгыр суусуна орнотуу керек.
Сураныч, окуңуз - кийинки күнү эмне болгонун …!
9 -кадам: Postscript - Жүз (жана беш) пайыз?
Ошентип, дүйшөмбү күнү жамгырлуу жекшембиден кийин, танк мүмкүн болушунча толук болду. Мен аны толугу менен көргөн бир нече жолу көргөндүктөн, мен ченегичти салыштыруу үчүн идеалдуу убакыт болот деп ойлогом, бирок эмнени болжолдойм - бул 105%катталган, демек, туура эмес бир нерсе болгон.
Мен калдыкты алып чыгып, суунун максималдуу тереңдиги катары 140см жана 16см боштуктун баштапкы божомолдору (танктын сыртынан жасалган визуалдык маалыматтарга негизделген) экөө тең чыныгы өлчөөлөрдөн бир аз алыс экенин билдим. Ошентип, менин 100% эталонумдагы чыныгы маалыматтар менен куралдангандыктан, мен кодумду оңдоп, Arduino -ны кайра жүктөй алдым.
Суунун максималдуу тереңдиги 147см болуп чыгат, өлчөө чекити 160см болуп, 13см боштукту берет (танктын ичиндеги боштуктун суммасы, танктын моюнунун бийиктиги жана …, Жок, эмне?! Мен ченегичти турукташтыруу жана тактыкты жайгаштыруу платформасынын тереңдигин айтып жатам!).
MaxDepth жана headroom өзгөрмөлөрүн ошого жараша тууралагандан кийин, ошондой эле sonar объектисинин максималдуу диапазонун 160см кылып баштапкы абалга келтиргенден кийин, тез кайра тестирлөө 100% көрсөтүп, 95% га түштү. суу колдонулган).
Жумуш бүттү!
PS - бул менин инструктивдүү биринчи аракетим. Эгерде сизге менин стилим, юмор сезимим, каталарды моюнга алуудагы чынчылдык (эй - мен идеалдуу эмесмин …) ж.
10 -кадам: Кийинки ойлор
Колдонууга жөндөмдүүлүк
Ошентип, мен бул Нускаманы жарыялагандан бери бир нече жума өттү, мен жооп катары көптөгөн комментарийлерге ээ болдум, алардын кээ бирлери альтернативдүү механизмдерди сунушташты - электрондук жана кол менен. Бирок бул мени ойлондуруп койду, мен башында белгилешим керек болгон нерсе бар.
- Менин танкымда насос бар, ал жер деңгээлинде орнотулган - танктын түбүнөн бир аз төмөн. Насос системанын эң төмөнкү чекити болгондуктан жана насостун суусу басым астында болгондуктан, мен резервуарымдын толук кубаттуулугун колдоно алам.
- БИРОК - эгер сиздин танкыңызда насос жок болсо жана тартылуу күчүнө таянса, анда танктын эффективдүү кубаттуулугу краныңыздын бийиктиги менен чектелет. Сиздин резервуарыңызда калган суу крандан төмөн болгондо, суу чыкпайт.
Демек, сиз электрондук өлчөгүчтү, же кол менен көрүүчү айнекти, же калкып жүрүүчү жана желек түрүндөгү системаны колдонуп жатканыңызга карабастан, насостуксуз танкаңыздын эффективдүү "базасы" чындыгында танктын розеткасынын бийиктигин же таптоо
Сунушталууда:
Жогорку чечим Frequency Counter: 5 кадамдар (Сүрөттөр менен)
Жогорку токтомдун жыштыгын эсептегич: Бул көрсөтмө жыштыктарды тез жана акылга сыярлык тактык менен өлчөөгө жөндөмдүү өз ара жыштык эсептегичти көрсөтөт. Бул стандарттык компоненттерден жасалган жана дем алыш күндөрү жасалышы мүмкүн (бул мага бир аз көбүрөөк убакытты алды :-)) ТҮЗӨТҮҮ: Код азыр жеткиликтүү
USB-C Powered Bench Power Supply: 10 Кадамдар (Сүрөттөр менен)
USB-C менен иштөөчү отургучтун электр менен камсыздалышы: Электрондук жабдыктар менен иштөөдө, долбооруңуздун муктаждыгын так чыңдоодо, ошондой эле пландаштырылган нерселер үчүн токту чектөөдө керектүү курал. Бул менин портативдүү USB-C кубатым
Ultrasonic Sensor Regulable Mount: 9 Кадамдар (Сүрөттөр менен)
Ultrasonic Sensor Regulable Mount: Hi! Мен Алехандро. Мен 8 -класста окуйм жана IITA технологиялык институтунун студентимин. Бул конкурс үчүн мен робототехниканын ультрадыбыштуу сенсоруна жөнгө салынуучу тетик жасадым, аны роботко түз же сервого кошууга болот, жана мен
Жөнөкөй кадамдар жана сүрөттөр менен компьютерди кантип ажыратуу керек: 13 кадам (сүрөттөр менен)
Жөнөкөй кадамдар жана сүрөттөр менен компьютерди кантип ажыратуу керек: Бул компьютерди кантип ажыратуу керектиги жөнүндө көрсөтмө. Негизги компоненттердин көбү модулдук жана оңой эле алынып салынат. Ошентсе да, бул боюнча уюштуруу маанилүү. Бул сизди бөлүктөрдү жоготпоого, ошондой эле кайра чогултууга жардам берет
PCB дизайны жөнөкөй жана оңой кадамдар менен: 30 кадам (сүрөттөр менен)
ПКБнын дизайны жөнөкөй жана оңой кадамдар менен: САЛАМ ДОСТОР ПКБ дизайнын үйрөнүүнү каалагандар үчүн анын абдан пайдалуу жана оңой үйрөткүчү башталат