Indholdsfortegnelse:
Video: Kalibrering af LED -lysstyrke: 5 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
Mens jeg lavede et eventyrlys, indså jeg, at PWM-værdien er ikke-lineært proportional med lysstyrken på LED'en. Kort sagt, hvis PWM -værdien er dobbelt, er lysstyrken ikke dobbelt; især når PWM er tæt på maksimum, genkendes enhver ændring ikke af mine øjne. Jeg tænkte, at det skulle være et simpelt kalibreringsproblem! og det var sådan jeg lavede dette projekt! Ideen er at måle lysstyrken på en LED med en eller anden enhed (lysstyrkesensor eller fotoresistor) og finde en sammenhæng mellem PWM -værdi og lysstyrken. Så senere Hvis jeg indstiller lysstyrken til 50%, vil Arduino beregne den tilsvarende PWM og dæmpe LED'en i overensstemmelse hermed.
Derfor har jeg brug for en lysstyrkesensor og en LED for at måle lysstyrken. Ved hjælp af et SD -kort gemmer jeg dataene til senere tilpasningsprocedure. Tilpasningen foretages i Excel (eller ethvert andet program). Out -put’en vil blive brugt i Arduino -kode, og det er det! Det skal gøres en gang. Derefter kan du bruge kalibreringsparameteren for altid!
Trin 1: Dele
1- WEMOS mini D1: Aliexpress 3 €
2- TSL 2561 (Luminosity sensor): Aliexpress 3 €
3- SD-kortmodul: Aliexpress 1 €
4- LED
5- Modstand 220 ohm
6- ledninger
samlede omkostninger: 8-10 €
Trin 2: Ledningsføring
SD -kortmodul og lysstyrkesensortråde bør ikke ændres (de fleste af dem). LED skal tilsluttes en PWM -pin.
Trin 3: Kode
Jeg kombinerede tre koder:
SD -kort: brugt eksempel> SD> ReadWrite i Arduino IDE
TSL 2561: brugt Adafruit TSL2561 bibliotekseksempel (sensorapi); du finder det i eksempler, hvis du installerer biblioteket (jeg går ud fra, at du ved, hvordan du installerer et bibliotek i Arduino IDE).
LED fading: brugte eksempler> Analog> fading
Koden vil efter initialisering af modulerne dæmpe lysdioden og læse lysstyrken og gemme den på SD -kort. på denne måde vil jeg indsamle nogle data til kalibrering.
Jeg ændrede hver af koder i henhold til mine behov. den endelige kode vedhæftet.
Signalet skal ligne det vedhæftede billede. Desværre glemte jeg at tage et foto, så jeg genplacerede det i excel for at vise dig, hvordan det skulle være.
BEMÆRK: Jeg bruger wemo mini D1 i stedet for Arduino. af en eller anden grund, som jeg ikke ved, er PWM mellem 0 og 1023. I Arduino burde det være mellem 0-255. Hvis du vil bruge koden til arduino, skal du passe på den (linje 90).
Trin 4: Montering og brug
efter indsamling af data åbnede jeg filen i excel og plot dataene (se billedet). den første kolonne er PWM -værdi, og den anden er lux (aflæsning af sensoren, enheden betyder ikke meget). Plot derfor lux (y-akse) kontra PWM (x-akse). Som du kan se er lysstyrken lineært proportional med PWM -værdien. Jeg satte en streg på den.
Følg som følger for at passe til en linje:
1- plot dataene (indsæt> spred plot) jeg antager, at du ved hvordan.
2- højreklik på de plottede data
3- klik på trendlinjen.
4- (i excel 2013) på højre side dukker et panel op. Vælg lineær. I bunden vælges "vis ligning på diagram".
Den lineære relation er forskellig fra min opfattelse. Derfor synes jeg, at der burde være en logaritmisk relation mellem min opfattelse og lysstyrken (det er den enkleste måde, jeg tænkte på!). Så jeg tog skråningen af pasformen. Aflytningen er ikke vigtig, fordi den afhænger af den omgivende lysforurening! i stedet tilføjede jeg 1. Fordi Log10 (0) er uendelig. Så jeg har brug for en aflytning for at løse problemet. I mit tilfælde ser ligningen sådan ud:
y = Log10 (0,08 x +1), y er lysstyrken og x er PWM-værdien (0-1023)
Jeg normaliserede ligningen til den maksimale værdi. derefter er output-ringetiden altid mellem 0-100. på denne måde kan jeg bede arduino om en vis relativ lysstyrke uden at angive den maksimale absolutte lysstyrke.
y = Log10 (0,08 x +1)*100/1,914
Fordi min input er den relative lysstyrke i arduino, skal jeg omarrangere ligningen for x (PWM):
x = (10^(y*1.914 / 100) - 1) / 0.08
ved hjælp af denne ligning i koden er vi i stand til at få en lineær lysstyrkeændring. Så du beder arduino om en lysstyrke (y) mellem 0-100, og arduino beregner den tilsvarende PWM-værdi. på denne måde, hvis det dobbelte af lysstyrken, er din opfattelse også den samme.
hvis du vil bruge den i din kode, er det bedre at tilføje disse linjer:
lysstyrke = 50; // i procent
PWM = pow (10, lysstyrke*1,914/100) -1)/0,0793;
analogWrite (ledpin, PWM);
BEMÆRK: normaliseringen udføres for en maksimal PWM på 1023 (for Wemos mini D1). For Arduino er PWM mellem 0-255. du skal beregne det i overensstemmelse hermed.
NOTE2: Jeg tilføjede et log-lineært plot for at vise, hvordan vores opfattelse og PWM-værdi er relateret. du bør ikke bruge den til montering!
Trin 5: Konklusion
kalibreringen fungerer fint for mig. Når PWM -værdierne er store, kan jeg se forskellen. Før som de store værdier kunne jeg ikke se effekten af dæmpning. Grundlæggende blev de fleste ændringer foretaget i et lille udvalg af PWM. nu er den kalibreret!
hver LED, specielt forskellige farver, skal have sine egne kalibreringsparametre. Jeg kalibrerede imidlertid en blå LED og brugte parameteren til en hvid LED, og resultatet var acceptabelt. så måske kan du bruge min kalibreringsparameter uden at genere dig selv !!
Anbefalede:
Jordfugtighedssensor kalibrering: 5 trin
Jordfugtighedssensor kalibrering: Der er mange jordfugtighedsmålere på markedet, der hjælper gartneren med at beslutte, hvornår de skal vandes. Desværre er det lige så pålideligt at gribe en håndfuld jord og kontrollere farven og teksturen som mange af disse gadgets! Nogle sonder registrerer endda
ARDUINO ORP SENSOR KALIBRERING: 3 trin
ARDUINO ORP SENSOR KALIBRERING: I denne vejledning kalibrerer vi Atlas Scientifics EZO ORP (oxidationsreduktionspotentiale) sensor ved hjælp af Arduino Uno. KALIBRERINGSTEORI Den vigtigste del af kalibreringen er at se målingerne under kalibreringsprocessen. Det er let
ARDUINO OPLØST OXYGEN SENSOR KALIBRERING: 4 trin
ARDUINO OPLØST OXYGENSENSORKALIBRERING: I denne vejledning kalibrerer vi Atlas Scientifics EZO -opløst ilt (D.O) sensor ved hjælp af Arduino Uno. KALIBRERINGSTEORI Den vigtigste del af kalibreringen er at se målingerne under kalibreringsprocessen. Det er nemmest at kalibrere
ARDUINO SALINITY SENSOR KALIBRERING: 9 trin
ARDUINO SALINITY SENSOR CALIBRATION: I denne vejledning kalibrerer vi Atlas Scientifics EZO saltholdighed/konduktivitet K1.0 sensor ved hjælp af Arduino Uno. KALIBRERINGSTEORI Den vigtigste del af kalibrering er at se målingerne under kalibreringsprocessen. Det er lettest at
Sådan laver du babyvægtmaskine ved hjælp af Arduino Nano, HX-711 Load Cell og OLED 128X64 -- Kalibrering af HX-711: 5 trin
Sådan laver du babyvægtmaskine ved hjælp af Arduino Nano, HX-711 Load Cell og OLED 128X64 || Kalibrering af HX-711: Hej Instructables, For få dage siden blev jeg far til en sød baby?. Da jeg var på hospitalet, fandt jeg ud af, at babyens vægt er så afgørende for at overvåge babyens vækst. Så jeg har en idé? at lave en babyvægtmaskine af mig selv. i denne instruktive jeg