Բովանդակություն:
- Քայլ 1. Հիմնական հաշվարկներ | Lux դեպի EV
- Քայլ 2: Արժեքների ներկայացում էկրանին | Adafruit GFX գրադարան
- Քայլ 3. Լյուքս արժեքների ընթերցում և փոխհատուցում | VEML7700
- Քայլ 4: Arduino / C-code
- Քայլ 5: Միավորել այն
Video: DIY լուսանկարչական լուսաչափ ՝ 5 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
Այս Instructable- ը կիսում է մի քանի գաղափար ՝ պարզ փոքր և էժան միջադեպի թեթևաչափ կառուցելու վերաբերյալ:
Քանի որ Instructables- ը թույլ չի տա տեղադրել իմ սեփական տեսանյութերը, փորձեք այս հղումը.
www.youtube.com/embed/avQD10fd52s
Ինձ համար նպատակն էր լուսաչափը ՝ ուղեկցել իմ միջին ձևաչափի Bronica ETRSi տեսախցիկին:
Այն, ինչ ես ուզում էի, որ այն ցուցադրվեր.
- միայնակ ASA (100), քանի որ ես գրեթե օգտագործում եմ միայն ASA 100 ֆիլմը
- հնարավորինս փոքր
- տվեք ինձ միայն այն համադրությունները, որոնք կարող է վերարտադրել իմ Բրոնիկան, ինչը նշանակում է f2.8-f22 և 1 վրկ 1/500-րդ վրկ
- ոչ անհեթեթ հատկություններ, բացառությամբ պարզ ժամանակների և բացվածքի արժեքների
Գործեր, որոնք ես օգտագործել եմ.
- Adafruit (Vishay) VEML 7700 թվային լյուքս-մետր (մոտ 5 $)
- Adafruit Trinket M0 միկրո վերահսկիչ (մոտ 9 դոլար)
- 128x32 OLED էկրան (մոտ $ 10)
- այն ժամանակավորապես միացնելու կոճակ (որոշ ցենտներ)
- մի փոքր կտոր տախտակ, քանի որ ես փորձում եմ չօգտագործել մալուխներ, բայց դուք, անշուշտ, կարող եք նաև օգտագործել մալուխներ
Քայլ 1. Հիմնական հաշվարկներ | Lux դեպի EV
Գնված սենսորը օգտագործում է երկու հատկություն, որոնք թույլ են տալիս ինձ որոշել դրա մասին.
- թողարկում է 16 բիթ լյուքս արժեքներ `« առանց չափի »լուսային արժեքների փոխարեն
- դուրս է բերում արժեքները I2C- ի միջոցով
Լուսանկարչական լուսաչափը օգտագործում է Exposure Values (EV) ցուցիչը, որը ես գնել եմ, օգտագործում է Lux արժեքները, ինչը բոլորովին այլ սանդղակ է: Այսպիսով, առաջին քայլը սենսորով նախատեսված Lux արժեքներից էլեկտրամատակարարում ստանալն է:
Արագ հայացք wikipedia- ին, և դուք կարող եք գտնել միջադեպերի չափման բանաձև և EV- ը վերածել Lux- ի.
E = 2.5 * 2^EV
որտեղ E- ն չափվում է Լյուքսով:
Քանի որ մենք արդեն ստացել ենք Lux- ի արժեքը սենսորից և ցանկանում ենք EV արժեքը, մենք պետք է նորից ձևավորենք բանաձևը, որը մեզ ստիպում է.
EV = log2 (E/2.5)
Այսպիսով, դա առաջին հաշվարկն է, որը պետք է արվի լուսաչափից լուսանկարի արժեքները հանելու համար:
Կցված որոնման աղյուսակում կարող եք տեսնել բոլոր արժեքները, որոնք կօգտագործվեն այս լուսաչափի մեջ ՝ ըստ Lux- ի և EV- ի արժեքների:
Քայլ 2: Արժեքների ներկայացում էկրանին | Adafruit GFX գրադարան
Ես առաջին հերթին փորձեցի արժեքները ներկայացնել ամբողջական քայլերով, քանի որ դա այն է, ինչին կարող եմ դասավորել իմ Բրոնիկան, բայց դա ինձ տանում է դեպի մի խնդիր.
Ենթադրենք, Lux սենսորը թողարկում է ուղիղ 20480 արժեք, դա կնշանակի, որ այն հենց EV 13 -ն է, այնպես որ ես կարող էի, օրինակ, իմ տեսախցիկը դնել f4- ի և վայրկյանի 1/500 -ի վրա և լավ կլիներ գնալ:
Հաջորդը, ենթադրենք, որ Lux սենսորը թողարկելու է 20479 Lux, 1 Lux ՝ EV13- ով, որը թողարկելու է EV արժեքը 12, բայց դա EV13- ից ընդամենը մեկ Lux է:
Այսպիսով, ես տեսախցիկս կդնեի f2.8 և վայրկյանի 1/500 -րդ մասի վրա, ինչը կբարձրացներ 1 կանգառ ՝ առանց նույնիսկ իմանալու, թե որքան մոտ էի EV13- ին:
Եզրակացություն. Մեզ անհրաժեշտ է արժեքների մի տեսակ անալոգային ցուցադրում, որպեսզի գոնե տեսնենք, թե որքան մոտ կամ հեռու է հաշվիչը հաջորդ կամ նախորդ EV քայլից:
Փորձելով օգտագործել GFX գրադարանի ներկառուցված տառերն ու տառատեսակը, որոշեցի օգտագործել երկու սովորական գրաֆիկա, որոնք կշարժվեն OLED էկրանով:
Մեկը `բացվածքի արժեքների համար, մեկը` ժամանակների համար:
GFX գրադարանը օգտագործում է 8 բիթ արժեքներ գրաֆիկա ներկայացնելու համար, այնպես որ ես պատրաստել եմ xls թերթ (տե՛ս վերևի պատկերը):
- յուրաքանչյուր արժեք ունի ճշգրիտ նույն քանակությամբ պիքսել մեկ արժեքի համար
- ժամանակներն ու բացվածքներն ունեն ճիշտ նույն քանակի արժեքներ մեկ տողի համար
- Յուրաքանչյուր բայտի սկզբում ավելացրի անհրաժեշտ «Բ» -ն և վերջում `« »
- Այնուհետև ես այն արտահանում եմ պարզ տեքստի և վոյլայի. Ես կցեցի երրորդ գրաֆիկը
Timeամանակի արժեքները սկսվում են վայրկյանի 1/8 -ով, իսկ բացվածքի արժեքները `f2.8- ով:
Օգտագործելով նախորդ քայլի որոնման աղյուսակը, մենք գիտենք, որ դա ներկայացնում է 160 Lux կամ EV6:
Այդ դեպքում ամենամութ արժեքները կլինեն f22 և 1/500 -րդ վայրկյանը:
Կրկին որոնման աղյուսակի միջոցով մենք կարող ենք տեսնել, որ դա նշանակում է 655360 Lux կամ EV18
Առայժմ ամեն ինչ լավ է:
Այսպիսով, EV6- ում բացվածքի գրաֆիկը պետք է լինի ձախ կողմում, ծայրերը ՝ աջ և հակառակը ՝ EV18- ում
Քայլ 3. Լյուքս արժեքների ընթերցում և փոխհատուցում | VEML7700
Vishay VEML7700 Adafruit- ի օգտագործման տվյալների թերթիկի միջոցով թերթելիս ես գտա բավականին անհանգստացնող ծանուցում.
Սենսորը աշխատում է միայն գծային ՝ 0 -ից մինչև 1000Lux (!)
տեսեք սքրինշոթը նարնջագույն (գծային) և կապույտ (սենսորների իրական ելքի) տողերով
Արևի լույսը (EV15) մոտ 80.000 լյուքս է, ինչը նշանակում է, որ առանց սենսորի ոչ գծային մասի փոխհատուցման այն լիովին անօգուտ կլիներ որպես լուսաչափ:
Vishay- ն դա գիտի, ուստի նրանք իրենց հաճախորդներին տրամադրեցին մեկ այլ pdf, որը կոչվում էր Designing the VEML7700 into an Application.
Այս pdf- ում կարող եք գտնել ոչ գծային սենսորների փոխհատուցման բանաձև.
LUX_CORR = 6.0135e-13*հզորություն (LUX, 4) -9.3924e-9*հզորություն (LUX, 3)+8.1488e-5*հզորություն (LUX, 2)+1.0023*LUX
Որտեղ LUX_CORR- ը ուղղված Lux-Value- ն է, իսկ LUX- ը `սենսորի թողարկած արժեքը:
Սրանք այն փոփոխականներն են, որոնք ես օգտագործել եմ, որոնք իրենց թերթում օգտագործել են տարբեր:
Ինձ մի փոքր անհանգստացնում է այն, որ Ադաֆրութը դա չի նշում մեկ բառով իրենց էջում, փաստաթղթերում, գրադարանում կամ այլուր:
Այսպիսով, առաջին մի քանի օրն ինձ հետաքրքրում էր, թե ինչու է իմ լուսաչափը միայն արևի ուղիղ ճառագայթների տակ թողնում առավելագույնը 20000 Լյուքս:
Եթե նայեք կարմիր և կապույտ գծերով գրաֆիկին, կարող եք տեսնել, թե ինչու. Քանի որ առանց փոխհատուցման բանաձևի այն չի կարող բարձրանալ:
Բայց սենսորի փաստաթղթերում թաքնված է մեկ այլ հուշում.
Այս փոխհատուցման բանաձևը գործում է միայն այն դեպքում, երբ սենսորը սահմանում եք 25ms և շահույթի հարաբերակցությունը 1/8:
Դա բավականին հեշտությամբ արվում է Adafruits գրադարանի միջոցով ՝ ավելացնելով.
veml.setGain (VEML7700_GAIN_1_8); veml.setIntegrationTime (VEML7700_IT_25MS);
ձեր դատարկ կարգավորման մեջ ()
Այսպիսով, այն սահմանելով 1/8-ի և 25ms- ի վրա և փոխհատուցման բանաձևը ավելացնելուց հետո կարող եք չափել մինչև 120000 լյուքս, այնքան, որքան բավարար է արևի լույսը ծածկելու 80-100k Lux- ով:
Քայլ 4: Arduino / C-code
Քանի որ դա կախված է ձեր օգտագործած ցուցադրումից և նախընտրած վերահսկիչից, ես շատ չեմ մանրամասնի, ընդամենը մի քանի մտքեր և հուշումներ կավելացնեմ, հատկապես Adafruit գրադարաններից և 128x32 px OLED- ից օգտվելիս.
դատարկ կարգավորման մեջ
Ես VEML գրադարանի մաս եմ սահմանել.
veml.setGain (VEML7700_GAIN_1_8);
veml.setIntegrationTime (VEML7700_IT_25MS);
veml.setLowThreshold (10000);
veml.setHighThreshold (20000);
veml.interruptEnable (ճշմարիտ);
դատարկ օղակում
անպայման ավելացրեք փոխհատուցումը.
int LUX_CORR = 6.0135e-13*pow (LUX, 4) -9.3924e-9*pow (LUX, 3)+8.1488e-5*pow (LUX, 2)+1.0023*LUX;
Lux- ից էլեկտրամատակարարում ստանալու համար օգտագործեք այս տողը.
բոց EV = log2 ((LUX_CORR/2.5));
տեղափոխելով bitmaps
համոզվելու համար, որ bitmaps- ը շարժվում է միայն այն դեպքում, երբ արժեքները գտնվում են 160Lux- ից և 655360Lux- ի միջև, ինչպես նշված է նախորդ քայլին, փաթեթավորեք այն if- ի նման կետով.
եթե (LUX_CORR> 159 && LUX_CORR <655361)
Հաջորդը մենք պետք է քարտեզագրենք EV- ի արժեքները կոորդինատների վրա, քանի որ EV- ների միջակայքը երկնիշ է, և մենք ցանկանում ենք դրանք ցուցադրումից 128px- ով տեղափոխել ամբողջ ցուցադրման վրա, մեզ պետք են ավելի մեծ արժեքներ:
Քանի որ մենք արդեն ստացել ենք բոց թիվ, մենք պարզապես այն բազմապատկում ենք 100 -ով և օգտագործում ենք այդ ամբողջ թիվը `կոորդինատները քարտեզագրելու համար
int EV_DSPL = EV*100;
և ՝
IMEԱՄԱՆԱԿ = քարտեզ (EV_DSPL, 600, 1900, -260, 39); APERTURE = քարտեզ (EV_DSPL, 600, 1900, 39, -260);
Ինչպես տեսնում եք, իմ դեպքում bitmap- ի նվազագույն դիրքը կլինի -260px, իսկ առավելագույնը `39px
Այն, ինչ նույնպես կարելի է տեսնել այստեղ, այն է, որ ես փոխեցի կոորդինատները, որպեսզի երկու բիթ քարտեզները շարժվեն հակառակ ուղղությամբ
Հաջորդը, մենք պետք է բիտ քարտեզները տեղափոխենք ըստ կոորդինատների ՝
display.drawBitmap ((TIME), (0), TIMES_bmp, 352, 16, 1); display.drawBitmap ((APERTURE), (15), APERTURES_bmp, 352, 16, 1);
Եվ դա այն ամենն է, ինչ պետք է անել
Որպես բոնուս ես ցուցադրում եմ ուղիղ EV և Lux արժեքները, երբ սենսորը դուրս է բերում արժեքներ 160Lux- ից ցածր, միայն այն պատճառով, որ ես ուզում էի իրեր տեսնել այն փորձարկելիս:
Քայլ 5: Միավորել այն
Երկուսն էլ, դիսփլեյը և սենսորը օգտագործում են I2C հաղորդակցության համար, իսկական սարքավորումների ստեղծումը այնքան պարզ է, որքան հնարավոր է:
Պարզապես միացրեք Data, Clock ground և 3V գծերը Arduino- ի հետ, և դուք պատրաստվում եք գնալ:
Ես ավելացրեցի գրաֆիկական պատկեր, թե ինչպես դա արեցի գավազանով, բայց ինչպես արդեն նշվեց, դուք կարող եք օգտագործել մալուխներ կամ նույնիսկ դրա համար թև կառուցել, ամեն ինչ կախված է, թե որ վերահսկիչից և էկրանից եք օգտվում:
Իմ գծապատկերում ենթադրվում է, որ սպիտակ կետերը միացված են ցուցադրման և սենսորին, իսկ դեղին կետերը `մանրուքին:
Միակ բացառությունը կլինի I2C գծի տվյալների կապը, որը միանում է էկրանին, այդ կապը միանում է նաև Trinkets տվյալների քորոցին:
Ես նախընտրեցի չօգտագործել միացման/անջատման անջատիչ, այլ փոխարենը օգտագործել մի կոճակ և երկու 3V կոճակի բջիջներ ՝ այն ժամանակավորապես միացնելու համար, քանի դեռ սեղմում եմ կոճակը: Այն հզորանում է վայրկյանի 1/10 -ից պակաս, այնպես որ բավականաչափ արագ է ինձ համար, որպեսզի ես պահեմ մեկ կոճակ և այն փոքրացնեմ:
Խորհուրդ ենք տալիս:
LED Heart Լուսանկարչական Շրջանակ - Կատարեք Վալենտինի կամ dayննդյան օրվա կատարյալ նվեր. 7 քայլ (նկարներով)
LED Heart Լուսանկարների Շրջանակ - Կատարեք Վալենտինի կամ dayննդյան Կատարյալ Նվեր. Բարև: Այս ուսանելի ուսուցման մեջ ես ձեզ ցույց կտամ, թե ինչպես կարող եք պատրաստել այս հիանալի LED Սրտի լուսանկարների շրջանակը: Բոլոր էլեկտրոնիկայի սիրահարների համար: Կատարեք կատարյալ նվեր Վալենտինի, dayննդյան կամ Տարեդարձի նվերներ ձեր սիրելիների համար: Դուք կարող եք դիտել դրա ցուցադրական տեսահոլովակը
Google Լուսանկարչական ժամացույց ՝ 7 քայլ (նկարներով)
Google Լուսանկարչական ժամացույց. Այս հրահանգները ցույց են տալիս, թե ինչպես օգտագործել ESP32- ը և LCD- ը `թվային ժամացույց պատրաստելու համար` ամեն րոպե ֆոնին պատահական պատկերված ցուցադրմամբ: Լուսանկարները ձեր ստացած Google Լուսանկարչական ալբոմից են, պարզապես մուտքագրեք համօգտագործման հղումը ESP32- ը կանի այդ աշխատանքը; >
DIY LED-լուսաչափ Arduino- ի հետ ֆիզիկայի կամ քիմիայի դասերի համար. 5 քայլ (նկարներով)
DIY LED- լուսաչափ ՝ Arduino– ի հետ ֆիզիկայի կամ քիմիայի դասերի համար. Այսպես կոչված ֆոտոմետրով կարելի է որոշել այդ գույները (ալիքի երկարությունները), որոնք ներծծվում են հեղուկների կողմից: Հիմնական առավելությունը
TESS-W Գիշերային երկնքի պայծառության լուսաչափ-8 քայլ (նկարներով)
TESS-W Գիշերային երկնքի պայծառության ֆոտոմետր. TESS-W- ը լուսաչափ է, որը նախատեսված է գիշերային երկնքի պայծառության չափման և շարունակական մոնիտորինգի համար կապանների աղտոտման ուսումնասիրությունների համար: Այն ստեղծվել է STARS4ALL H2020 եվրոպական նախագծի ընթացքում ՝ բաց դիզայնով (ապարատային և ծրագրային ապահովում): TESS-W լուսաչափը
DIY Լուսանկարչական ստուդիա ՝ 4 քայլ
DIY ֆոտոստուդիա. Երբևէ ցանկացե՞լ եք, որ կարողանաք ստանալ հիանալի, լուսանկարչական ստուդիայի որակի լուսանկարներ, բայց առանց գինը վճարելու: Այս ուսանելի միջոցով ես ձեզ կանցնեմ մինի ստուդիա կառուցելու գործընթացով