Satura rādītājs:
- 1. darbība: pamata aprēķini | No luksusa līdz EV
- 2. darbība. Vērtību parādīšana displejā | Adafruit GFX bibliotēka
- 3. solis: Lux vērtību lasīšana un kompensēšana | VEML7700
- 4. darbība: Arduino / C kods
- 5. solis: salieciet to kopā
Video: DIY fotografēšanas gaismas mērītājs: 5 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:53
Šajā instrukcijā ir dažas idejas, kā izveidot vienkāršu mazu un lētu krītošo gaismas mērītāju.
Tā kā Instructables neļauj man ievietot savus videoklipus, izmēģiniet šo saiti:
www.youtube.com/embed/avQD10fd52s
Mērķis man bija gaismas mērītājs, lai pavadītu manu Bronica ETRSi vidēja formāta filmu kameru.
Lietas, kuras es vēlējos, lai tajā tiktu parādīts:
- viena ASA (100), jo es gandrīz izmantoju tikai ASA 100 plēvi
- pēc iespējas mazāks
- dodiet man tikai kombinācijas, kuras var reproducēt mana Bronica, kas nozīmē f2.8-f22 un 1s līdz 1/500 sek.
- nav muļķīgu funkciju, izņemot vienkāršus laikus un diafragmas vērtības
Lietas, ko izmantoju:
- Adafruit (Vishay) VEML 7700 digitālais Lux-metrs (aptuveni 5 ASV dolāri)
- Adafruit Trinket M0 mikrokontrolleris (aptuveni 9 USD)
- 128x32 OLED displejs (aptuveni 10 USD)
- spiedpoga, lai to īslaicīgi ieslēgtu (daži centi)
- niecīgs sloksnes plāksnes gabals, jo es cenšos neizmantot kabeļus, bet jūs noteikti varat izmantot arī kabeļus
1. darbība: pamata aprēķini | No luksusa līdz EV
Iegādātais sensors izmanto divas funkcijas, kas ļauj man izlemt par to:
- izvada 16 bitu luksa vērtības, nevis gaismas dimensijas
- izvada vērtības, izmantojot I2C
Fotogrāfijas gaismas mērītājs izmanto ekspozīcijas vērtības (EV), ko es nopirku, izmantojot Lux vērtības, kas ir pilnīgi atšķirīga skala. Tātad pirmais solis ir iegūt EV no Lux vērtībām, ja ir sensors.
Īss ieskats wikipēdijā, un jūs varat atrast formulu incidentu mērīšanai un pārveidot EV uz Lux:
E = 2,5 * 2^EV
kur E tiek mērīts luksos.
Tā kā mēs jau saņēmām Lux vērtību no sensora un vēlamies EV vērtību, mums ir jāpārveido formula, kas ļauj mums:
EV = log2 (E/2,5)
Tātad tas ir pirmais aprēķins, kas jāveic, lai no gaismas mērītāja iegūtu fotogrāfiskas vērtības.
Pievienotajā uzmeklēšanas tabulā varat redzēt visas vērtības, kas tiks izmantotas šajā gaismas mērītājā, kopā ar atbilstošajām Lux un EV vērtībām.
2. darbība. Vērtību parādīšana displejā | Adafruit GFX bibliotēka
Vispirms es centos parādīt vērtības veselos soļos, jo tas ir tas, uz ko es varu iestatīt savu Bronica, bet tas noved pie problēmas:
Pieņemsim, ka Lux sensors izvada vērtību tieši 20480, kas nozīmētu, ka tā ir tieši EV 13, lai es, piemēram, varētu iestatīt kameru uz f4 un 1/500 sekundes, un būtu labi iet
Tālāk pieņemsim, ka Lux sensors izvadīs 20479 Lux, 1 Lux zem EV13, kas radītu EV vērtību 12, bet tas ir tikai Lux attālumā no EV13
Tāpēc es iestatītu savu kameru uz f2.8 un 1/500 sekundes, kas pārspīlētu vienu pieturu, man pat nezinot, cik tuvu esmu EV13.
Secinājums: mums ir nepieciešams sava veida vērtību displejs, lai vismaz redzētu, cik tuvu vai tālu skaitītājs atrodas no nākamā vai iepriekšējā EV soļa.
Mēģinot izmantot GFX bibliotēkas iebūvētos burtus un fontu, es nolēmu izmantot divas pielāgotas grafikas, kas pārvietosies pa OLED ekrānu.
Viens par diafragmas vērtībām, viens par laiku.
GFX bibliotēka grafikas attēlošanai izmanto 8 bitu vērtības, tāpēc es izveidoju xls lapu (skatiet attēlu iepriekš).
- katrai vērtībai ir tieši tāds pats pikseļu skaits uz vērtību
- laikiem un atverēm vienā rindā ir tieši tāds pats vērtību skaits
- Katra baita sākumā es pievienoju vajadzīgo "B" un beigās ""
- Pēc tam es to eksportēju uz vienkāršu tekstu un voila: pievienoju trešo grafiku
Laika vērtības sākas ar 1/8 sekundi, un diafragmas atvēruma vērtības sākas ar f2.8
Izmantojot iepriekšējā soļa uzmeklēšanas tabulu, mēs zinām, ka tas nozīmē 160 Lux vai EV6.
Tumšākās vērtības būtu f22 un 1/500 sekundes daļa
Atkal, izmantojot uzmeklēšanas tabulu, mēs varam redzēt, ka tas nozīmē 655360 Lux vai EV18
Tik tālu, labi.
Tātad EV6 diafragmas grafikai jābūt kreisajā malā, laikiem - labajā pusē un otrādi - EV18
3. solis: Lux vērtību lasīšana un kompensēšana | VEML7700
Ritinot Vishay VEML7700 Adafruit datu lapai, ko izmanto savai dēlei, es atklāju diezgan satraucošu paziņojumu:
Sensors darbojas tikai lineāri no 0 līdz 1000Lux (!)
skatiet ekrānuzņēmumu ar oranžu (lineāru) līniju un zilu (faktiskā sensora izejas) līniju
Saules gaisma (EV15) ir aptuveni 80 000 luksu, kas nozīmē, ka bez kompensācijas par nelineāro sensora daļu tas būtu pilnīgi bezjēdzīgi kā gaismas mērītājs.
Vishay to zina, tāpēc viņi saviem klientiem nodrošināja citu pdf failu ar nosaukumu VEML7700 izstrāde lietojumprogrammā.
Šajā pdf failā varat atrast formulu, lai kompensētu sensoru nelinearitāti:
LUX_CORR = 6.0135e-13*pow (LUX, 4) -9.3924e-9*pow (LUX, 3)+8.1488e-5*pow (LUX, 2)+1.0023*LUX
Kur LUX_CORR ir labotā Lux vērtība un LUX ir vērtība, ko sensors izvada.
Tie ir mainīgie, kurus es izmantoju, savā lapā izmantoti dažādi.
Mani mazliet apgrūtina tas, ka Adafruit to nepiemin ar vienu vārdu savā lapā, dokumentācijā, bibliotēkā vai citur.
Tāpēc pirmajās dienās man radās jautājums, kāpēc mans gaismas mērītājs pat tiešos saules staros izvada maksimumu 20000 Lux.
Ja paskatāties uz grafiku ar sarkano un zilo līniju, jūs varat saprast, kāpēc: jo bez kompensācijas formulas tas nevar būt augstāks.
Bet sensora dokumentācijā ir paslēpts vēl viens mājiens:
Šī kompensācijas formula darbojas tikai tad, ja sensoru iestatāt uz 25 ms un pastiprinājuma koeficientu 1/8.
Ar Adafruits bibliotēku to var izdarīt diezgan viegli, pievienojot:
veml.setGain (VEML7700_GAIN_1_8); veml.setIntegrationTime (VEML7700_IT_25MS);
jūsu spēkā neesošajā iestatījumā ()
Tātad, iestatot to uz 1/8 un 25 ms un pievienojot kompensācijas formulu, jūs varat izmērīt līdz 120000 luksiem, kas ir pietiekami, lai aptvertu saules gaismu 80-100k Lux
4. darbība: Arduino / C kods
Tā kā tas ir atkarīgs no jūsu izmantotā displeja un vēlamā kontroliera, es pārāk neiedziļināšos detaļās, pievienoju tikai dažas domas un ieteikumus, it īpaši, ja izmantojat Adafruit bibliotēkas un 128 x 32 pikseļu OLED:
tukšuma iestatījumā:
Es iestatīju VEML bibliotēkas daļu uz:
veml.setGain (VEML7700_GAIN_1_8);
veml.setIntegrationTime (VEML7700_IT_25MS);
veml.setLowThreshold (10000);
veml.setHighThreshold (20000);
veml.interruptEnable (true);
tukšuma cilpā:
noteikti pievienojiet kompensāciju:
int LUX_CORR = 6.0135e-13*pow (LUX, 4) -9.3924e-9*pow (LUX, 3)+8.1488e-5*pow (LUX, 2)+1.0023*LUX;
lai iegūtu EV no Lux, izmantojiet šo līniju:
pludiņš EV = log2 ((LUX_CORR/2.5));
pārvietojot bitkartes
lai pārliecinātos, ka bitkartes pārvietojas tikai tad, ja vērtības ir no 160Lux līdz 655360Lux, kā norādīts iepriekšējā solī, ietiniet to šādā klauzulā:
ja (LUX_CORR> 159 && LUX_CORR <655361)
Tālāk mums ir jāsaskaņo EV vērtības ar koordinātām, jo EV diapazons ir divciparu skaitlis, un mēs vēlamies tos pārvietot no displeja vairāk nekā 128 pikseļi visā displejā, un mums ir vajadzīgas lielākas vērtības.
Tā kā mums jau ir peldošs skaitlis, mēs to reizinām ar 100 un izmantojam šo veselu skaitli, lai kartētu koordinātas
int EV_DSPL = EV*100;
un:
TIME = karte (EV_DSPL, 600, 1900, -260, 39); APERTURE = karte (EV_DSPL, 600, 1900, 39, -260);
Kā redzat manā gadījumā, bitkartes minimālā pozīcija būtu -260 pikseļi, bet maksimālā -39 pikseļi
Šeit redzams arī tas, ka es pārslēdzu koordinātas tā, lai abas bitkartes pārvietotos pretējā virzienā
Tālāk mums jāpārvieto bitkartes saskaņā ar koordinātām:
display.drawBitmap ((TIME), (0), TIMES_bmp, 352, 16, 1); display.drawBitmap ((APERTURE), (15), APERTURES_bmp, 352, 16, 1);
Un tas ir viss, kas jādara
Kā bonuss es parādīšu taisnas EV un Lux vērtības, kad sensors izvada vērtības zem 160Lux, tikai tāpēc, ka es gribēju redzēt lietas, pārbaudot to.
5. solis: salieciet to kopā
Tā kā displejs un sensors saziņai izmanto I2C, faktiskās aparatūras izveidošana ir tik vienkārša, cik vien iespējams.
Vienkārši savienojiet datus, pulksteņa zemi un 3 V līnijas ar Arduino, un jūs esat gatavs doties.
Es pievienoju grafiku, kā es to darīju ar sloksnes dēli, bet, kā jau tika teikts iepriekš, varat izmantot kabeļus vai pat uzbūvēt tam spārnu, tas viss ir atkarīgs no tā, kuru kontrolieri un displeju izmantojat.
Manā grafikā baltie punkti ir jāpievieno displejam un sensoram, bet dzeltenie punkti - piekariņam.
Vienīgais izņēmums būtu I2C līnijas datu tapa, kas savienojas ar displeju, un šī tapa savienojas arī ar piekariņu datu tapu.
Es izvēlējos neizmantot ieslēgšanas/izslēgšanas slēdzi, bet gan izmantot spiedpogu un divas 3 V pogas šūnas, lai to īslaicīgi ieslēgtu, kamēr es nospiežu pogu. Tas tiek ieslēgts mazāk nekā 1/10 sekundē, tāpēc tas ir pietiekami ātri, lai es varētu rezervēt pogu un padarīt to mazāku.
Ieteicams:
Netīrumu lēts netīrumu mērītājs-9 USD uz Arduino balstīts skaņas augstuma mērītājs: 4 soļi (ar attēliem)
Netīrumi Lēts netīrumu mērītājs-9 ASV dolāri uz Arduino balstīts skaņas augstuma mērītājs: Dytters (A.K.A dzirdamie augstuma mērītāji) tik daudzus gadus izglāba izpletņlēcēju dzīvības. Tagad arī Audible Abby ietaupīs viņiem naudu. Basic Dytters ir četri trauksmes signāli, viens ceļā uz augšu un trīs lejup. Lidmašīnā paceļoties, izpletņlēcējiem jāzina, kad
DIY-grīdas ventilatora pārstrāde fotografēšanas gaismas pārveidotājā/viss vienā lampā: 11 soļi
DIY-grīdas ventilatora pārstrāde fotografēšanas gaismas pārveidotājā/viss vienā lampā: Tāpēc es nesen veicu pavasara tīrīšanu un saskāros ar grīdas ventilatoru, kuram bija izdegis motors. Un man vajadzēja galda lampu. 2+2 un es nedaudz izdomājām prātu un izdomāju pārvērst ventilatoru par 20 collu platu gaismas pārveidotāju. Lasiet tālāk s
Fotografēšanas gaismas kaste ar krāsu kontroli: 5 soļi
Fotografēšanas gaismas kaste ar krāsu vadību: gaismas kaste ir ierīce, ko izmanto fotogrāfijā, lai kontrolētu, cik balta ir uz objekta krītošā gaisma. Lielākā daļa gaismas kastes plānu, ko esmu redzējis internetā, balstās uz dabisku gaismu vai baltu mākslīgo apgaismojumu, piemēram, no spuldzēm, dienasgaismas spuldzēm un
Makro fotografēšanas gaismas avots, izmantojot aukstā katoda gaismas: 9 soļi (ar attēliem)
Makrofotografēšanas gaismas avots, izmantojot aukstā katoda gaismas: Fotografējot, izmantojot vieglu telti, zemas intensitātes gaismas avots ir diezgan noderīgs. Šim nolūkam CCFL (aukstā katoda fluorescējošā gaisma), kas atrodama LCD ekrānos. CCFL un ar to saistītie gaismas izkliedes paneļi ir atrodami salauztajā lapto
Fotografēšanas gaismas kaste: 6 soļi (ar attēliem)
Fotografēšanas gaismas kaste: Fotogrāfijas gaismas kaste, lai fotografētu mazus un vidējus priekšmetus. :: Daļas :: Liela kartona kaste (biezāka kaste izturēs pret griešanas un apstrādes ļaunprātīgu izmantošanu) Vairāki pagalmi balta auduma (man ir 3 jardi ) Plaša/Think Double stick lente (es izmantoju