Բովանդակություն:

Պոստինո. Փոստարարը որևէ բան մատուցե՞լ է: 6 քայլ (նկարներով)
Պոստինո. Փոստարարը որևէ բան մատուցե՞լ է: 6 քայլ (նկարներով)

Video: Պոստինո. Փոստարարը որևէ բան մատուցե՞լ է: 6 քայլ (նկարներով)

Video: Պոստինո. Փոստարարը որևէ բան մատուցե՞լ է: 6 քայլ (նկարներով)
Video: Подруги_Рассказ_Слушать 2024, Հուլիսի
Anonim
Պոստինո. Փոստատարը որևէ բան հասցրե՞լ է
Պոստինո. Փոստատարը որևէ բան հասցրե՞լ է

Իմ գաղափար չէ. Մի օր ընկերս ինձանից միջոց խնդրեց, որ հեռակա կարգով ստուգեմ, թե արդյոք փոստարկղը դրված է իր փոստարկղի մեջ: Փոստարկղը իր դռան հետիոտնային ուղու վրա չէ, ուստի, քանի որ նա ծույլ տղա է, նա մտածեց, թե արդյոք տեխնոլոգիական գործիքը պետք է կարողանա նրան զգուշացնել փոստարկղում գրված որևէ նամակի մասին: Ես նայեցի շուկային և չգտա նրա կարիքներին համապատասխան որևէ պատրաստ սարք, ուստի ես ինքս ինձ համար մարտահրավեր բարձրացրեցի.

Խոչընդոտներն էին.

  • մարտկոցով աշխատող ՝ մարտկոցի փոփոխությունների միջև ողջամիտ կյանքով;
  • WiFi կապ;
  • օրական մեկ անգամ ստուգեք ՝ փոստ կա, թե ոչ.

Հիմնական հարցը հետևյալն էր. Ո՞ր սենսորը կարող է համապատասխանել իմ պահանջներին: Հարևանության տվիչը չի կարող աշխատել, քանի որ ստուգումը պետք է կատարվեր օրական մեկ անգամ և ոչ թե իրական ժամանակում. քաշի սենսոր ոչ մեկը, քանի որ դա կավելացներ բարդության և զգայունության խնդիրներ (թղթի թերթիկը կարող է շատ թեթև լինել): Իմ ընտրությունը ընկավ Time-of-Flight (միկրո լազերային) տվիչով: Փոստարկղի չափի չափագրումից հետո, մեջտեղում դրված ցանկացած բան սենսորին կհանգեցներ: Հաշվի առնելով 3 սահմանափակումները ՝ ես որոշեցի օգտագործել ESP8266 (ծրագրակազմը գործարկելը և WiFi- ին կապելը), չափման համար VL6180 Time-of-Flight սենսորը և իրական ժամանակի DS3231 ժամացույցը ՝ օրական մեկ անգամ միացնելու համար. Պոստինոն ծնվեց:

Քայլ 1: Մասեր և բաղադրիչներ

  • ESP8266-01 (կամ ESP-12E NodeMCU)
  • VL6108 Թռիչքի ժամանակի տվիչ
  • DS3231 Իրական ժամանակի ժամացույց
  • IRLZ44 N- ալիք MosFET
  • BC547 Տրանզիստոր
  • Ռեզիստորներ
  • CR123 մարտկոց

Քայլ 2: Սենսոր

Սենսորը
Սենսորը

Համակարգի սիրտը VL6180 սենսորն է: Սա նորարար տեխնոլոգիա է, որը թույլ է տալիս բացարձակ հեռավորությունը չափել անկախ թիրախի անդրադարձումից: VL6180X- ը օբյեկտից հետադարձվող լույսի չափման միջոցով (որը զգալիորեն ազդում է գույնի և մակերևույթի վրա), հեռավորությունը գնահատելու փոխարեն, ճշգրիտ չափում է այն ժամանակը, որը պահանջում է լույսը մոտակա օբյեկտ ճանապարհորդելու և սենսորին անդրադառնալու համար (Timeամանակ -թռիչքի): Համատեղելով IR ճառագայթիչը, միջակայքի սենսորը և շրջակա միջավայրի լույսի տվիչը երեք-մեկում պատրաստ օգտագործման համար փչվող փաթեթում, VL6180X- ը հեշտ է ինտեգրվել և խնայում է վերջնական արտադրանքի արտադրողին երկար և ծախսատար օպտիկական և մեխանիկական դիզայնի օպտիմալացում:

Մոդուլը նախատեսված է ցածր էներգիայի շահագործման համար: Ես օգտագործեցի Pololu ճեղքման տախտակը, որն ունի լարման կարգավորիչներ, որոնք թույլ են տալիս այն աշխատել մուտքային լարման միջակայքում `2.7 Վ -ից մինչև 5.5 Վ:

Սենսորը թույլ է տալիս չափման 3 վավեր գործոններ, որոնք չափման առավելագույն սահմանը սահմանում են 20 -ից 60 սմ -ի սահմաններում ՝ տարբեր զգայունությամբ: Կարգավորելով միջակայքի մասշտաբի գործոնը, սենսորի պոտենցիալ առավելագույն տիրույթը կարող է մեծացվել ավելի ցածր լուծաչափի գնով: Սանդղակի գործակիցը 2 -ի սահմանելը ապահովում է մինչև 40 սմ միջակայք ՝ 2 մմ թույլտվությամբ, մինչդեռ 3 -ի գործակիցը ՝ մինչև 60 սմ, 3 մմ լուծույթով: Դուք պետք է փորձարկեք 3 սանդղակները ձեր փոստարկղի չափսերով: Քանի որ իմը 25 սմ (H) էր, ես օգտագործեցի սանդղակի գործակից = 1:

Քայլ 3: Իրական ժամանակի ժամացույցի հարմարեցում

RTC- ի համար ես օգտագործել եմ DS3231 ջարդման տախտակ, որը ներառում է EEPROM (իմ նպատակի համար անօգուտ) և մետաղադրամի չափի մարտկոց: Երբ որոշեցի RTC- ն սնուցել հիմնական սարքի մարտկոցի միջոցով (a 3v CR123), ես հանեցի մետաղադրամների մարտկոցը. էներգիա խնայելու համար ես հեռացրեցի նաև EEPROM- ը (զգուշորեն կտրելով դրա կապումներն) ու ինքնաթիռի ղեկավարը:

Մետաղադրամների մարտկոցն ինձ համար օգտակար չէր, քանի որ ինձ պետք չէր պահել իրական ժամանակի ամսաթիվը/ժամը/րոպեն/վայրկյան, բայց RTC- ին մնում էր հաշվել միայն 24 ժամ, այնուհետև սարքը միացնելու ահազանգը:

Քայլ 4. Այլ այլ տարբերակներ նավի վրա

Այլ այլ տարբերակներ նավի վրա
Այլ այլ տարբերակներ նավի վրա
Այլ այլ տարբերակներ նավի վրա
Այլ այլ տարբերակներ նավի վրա

Սարքի միացումն իրականացվում է տրանզիստորի և MosFET սխեմայի միջոցով, որը գործարկվում է RTC ահազանգով: Theարթուցիչը զրոյացնելուց հետո միացումն անջատում է սարքը ևս 24 ժամ ցիկլով: Երբ ահազանգը հասնում է, DS3231- ը մի քորոցը փոխում է բարձրից ցածրի. Նորմալ պայմաններում տրանզիստորը հագեցած է և կարճ է դեպի MosFET- ի դարպասը: Երբ ահազանգը գետնին է հասցնում տրանզիստորի հիմքը, այն բացվում է և թույլ է տալիս MosFET- ին փակել միացումը և սնուցել մնացած բաղադրիչներին:

Բացի այդ, ես ավելացրեցի «test-1M» ցատկիչը: Այս անջատիչի նպատակն է `ակտիվացված լինելու դեպքում` ցիկլը փոխել օրական մեկից րոպեի մեկ անգամ `տեղակայման փորձարկումներ կատարելու համար: Մեկ օրից մեկ րոպեի միջակայքը փոխելու համար նախ պետք է մոտ 15 վայրկյան փակել «Test-C» թռիչքը, շրջանցել ժամացույցի ազդանշանի ակտիվացման շրջանը և միացնել սարքը: Փորձարկումներն ավարտելուց հետո բացեք թռիչքները և վերագործարկեք սարքը (ցիկլի հզորություն):

Քայլ 5: Սխեմատիկ

Սխեմատիկ
Սխեմատիկ

Քայլ 6: Softwareրագրակազմ և տրամաբանություն

Թեստերի ընթացքում ես օգտագործել եմ (գործնական պատճառներով) NodeMCU վերահսկիչ, ուստի ծրագրակազմը հոգ է տանում դրա մասին ՝ CHIP- ի տարբերակը դնելով «NodeMCU» կամ «esp8266»:

Էսքիզը իրականացնում է WiFiManager գրադարանը, որը թույլ է տալիս սարքին միանալ վավեր WiFi AP- ին առաջին իսկ գործարկման ընթացքում: Նման դեպքում սարքը անցնում է AP ռեժիմի ՝ թույլ տալով միանալ դրան և ընտրել ճիշտ WiFi ցանցը միանալու համար: Դրանից հետո ցանցի կազմաձևումը պահպանվում է EPROM- ում ՝ հաջորդ ցիկլերի համար:

REST_MSG փոփոխականը պարունակում է http հաղորդագրություն ուղարկելու համար, երբ սենսորը փոստարկղում օբյեկտ է գտնում: Իմ դեպքում այն հաղորդագրություն է ուղարկում domotic REST սերվերին, բայց դուք կարող եք այն փոխել ըստ ձեր նախընտրության ՝ Telegram BOT հաղորդագրություն, IFTTT WebHook միջոցառում և այլն:

Մնացած ուրվագիծը բոլորը գտնվում են setup () գործառույթում, քանի որ հանգույցը երբեք չի հասնում: Մի քանի գրադարանների համար անհրաժեշտ կազմաձևերից հետո ծրագրակազմը ժամացույցի ժամը սահմանում է 00:00:01, իսկ ահազանգը `օրական մեկ անգամ (կամ րոպեը մեկ, եթե« test-1M »թռիչքն ակտիվացված է): Այնուհետև այն կատարում է միջոցը, ուղարկում է ծանուցումը (եթե փոստարկղում որևէ առարկա է հայտնաբերվում) և վերակայում է ահազանգի քորոցը ՝ անջատելով սարքը: Cycleիկլերի վերջում միայն RTC- ն է միացված ՝ հաշվելով 24 ժամ: Թռչկոտիչ Test-1M- ը միացված է ESP8266- ի RX կապին, որն օգտագործվում է որպես GPIO-3 կարգաբերման միջոցով `setMode (PIN, FUNCTION_3): Դրա շնորհիվ, ESP8266- ի գործարկման ընթացքում դուք չեք կարող օգտագործել Սերիական մոնիտորը. «#Define DEBUG» տողը (որը թույլ է տալիս ուրվագծի բոլոր սերիական տպումները) օգտագործվում է միայն այն դեպքում, երբ ESP8266- ի փոխարեն տեղադրվում է NodeMCU:

ESP8266- ը կարգավորում է I2C հաղորդակցությունը RTC- ի և սենսորի հետ `GPIO-0 և GPIO-2 կապանքների միջոցով, որոնք նախաստորագրված են Wire գրադարանում:

Ամբողջական կոդը կարելի է ներբեռնել այս հղումից:

Օժանդակ տեխնիկական մրցույթ
Օժանդակ տեխնիկական մրցույթ
Օժանդակ տեխնիկական մրցույթ
Օժանդակ տեխնիկական մրցույթ

Օգնական տեխնիկայի մրցույթում երկրորդ տեղը զբաղեցնողը

Խորհուրդ ենք տալիս: