INHOUDSOPGAWE:
Video: Kalibrasie van LED -helderheid: 5 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
Terwyl ek 'n sprokieslig maak, besef ek dat die PWM-waarde nie-lineêr in verhouding is tot die helderheid van die LED. Eenvoudig gesê, as die PWM -waarde dubbel is, is die helderheid nie dubbel nie; veral as PWM naby die maksimum is, is my verandering nie aan my oë herkenbaar nie. Ek het gedink dit moet 'n eenvoudige kalibrasieprobleem wees! en dit was hoe ek hierdie projek gemaak het! Die idee is om die helderheid van 'n LED met 'n toestel (luminiteitssensor of fotoresistor) te meet en 'n verband te vind tussen PWM -waarde en die helderheid. As ek later die helderheid op 50%stel, sal Arduino die ooreenstemmende PWM bereken en die LED dienooreenkomstig verdof.
Daarom het ek 'n ligsensor en 'n LED nodig om die helderheid te meet. Met 'n SD -kaart stoor ek die data vir 'n latere aanpassingsprosedure. Die aanpassing sal in Excel (of enige ander program) gedoen word. Die out put word gebruik in die Arduino -kode, en dit is dit! Dit moet een keer gedoen word. Dan kan u die kalibrasieparameter vir ewig gebruik!
Stap 1: Onderdele
1- WEMOS mini D1: Aliexpress 3 €
2- TSL 2561 (Lichtsensor): Aliexpress 3 €
3- SD-kaartmodule: Aliexpress 1 €
4- LED
5- Weerstand 220 ohm
6- drade
totale koste: 8-10 €
Stap 2: Bedrading
SD -kaartmodule en stralingsensorsdrade moet nie verander word nie (die meeste daarvan). Led moet aan 'n PWM -pen gekoppel word.
Stap 3: Kodeer
Ek het drie kodes saamgevoeg:
SD -kaart: gebruikte voorbeeld> SD> ReadWrite in Arduino IDE
TSL 2561: gebruikte Adafruit TSL2561 biblioteekvoorbeeld (sensorapi); U sal dit in voorbeelde vind as u die biblioteek installeer (ek neem aan dat u weet hoe u 'n biblioteek in Arduino IDE moet installeer).
LED -vervaag: gebruikte voorbeelde> Analoog> vervaag
Die kode, na die inisialisering van die modules, sal die LED verdof en die helderheid lees en dit op 'n SD -kaart stoor. op hierdie manier sal ek 'n paar data versamel vir kalibrasie.
Ek het elke kode verander volgens my behoeftes. die finale kode aangeheg.
Die sein moet soos die aangehegte prentjie lyk. Ongelukkig het ek vergeet om 'n foto te neem, so ek plaas dit weer in Excel om jou te wys hoe dit moet wees.
NOTA: ek gebruik wemo mini D1 in plaas van Arduino. om een of ander rede wat ek nie weet nie, is die PWM tussen 0 en 1023. In Arduino behoort dit tussen 0-255 te wees. As u die kode vir arduino wil gebruik, moet u dit versorg (reël 90).
Stap 4: Pas en gebruik
Nadat ek data versamel het, het ek die lêer in Excel oopgemaak en die data uitgebeeld (kyk na die prentjie). die eerste kolom is PWM -waarde en die tweede een is lux (lesing van die sensor, die eenheid maak nie veel saak nie). Teken dus lux (y-as) versus PWM (x-as). Soos u kan sien, is die helderheid lineêr eweredig aan die PWM -waarde. Ek het 'n lyn daarby gepas.
Om 'n lyn te pas, volg as volg:
1- teken die data (invoeg> strooi plot) ek neem aan dat u weet hoe.
2- klik met die rechtermuisknop op die gegewe data
3- klik op die tendenslyn.
4- (in Excel 2013) aan die regterkant verskyn 'n paneel. Kies lineêr. Kies onderaan "vertoon vergelyking op grafiek".
Die lineêre verband verskil van my persepsie. Daarom dink ek dat daar 'n logaritmiese verband moet wees tussen my waarneming en die helderheid (dit is die eenvoudigste manier waarop ek gedink het!). So ek het die helling van die pas geneem. Die afsnit is nie belangrik nie, want dit hang af van die omliggende ligbesoedeling! in plaas daarvan het ek bygevoeg 1. Omdat Log10 (0) oneindig is. Ek het dus 'n afsnypunt nodig om die probleem op te los. In my geval lyk die vergelyking so:
y = Log10 (0,08 x +1), y is die helderheid en x is die PWM-waarde (0-1023)
Ek het die vergelyking tot die maksimum waarde genormaliseer. dan is die uitset altyd tussen 0-100. op hierdie manier kan ek arduino vra vir 'n sekere relatiewe helderheid, sonder om die maksimum absolute helderheid.
y = Log10 (0,08 x +1)*100/1,914
Omdat my inset die relatiewe helderheid in arduino is, moet ek die vergelyking vir x (PWM) herrangskik:
x = (10^(y*1.914 / 100) - 1) / 0.08
Deur hierdie vergelyking in die kode te gebruik, kan ons 'n lineêre helderheidsverandering kry. U vra arduino vir 'n helderheid (y) tussen 0-100, en arduino bereken die ooreenstemmende PWM-waarde. op hierdie manier, as u die helderheid verdubbel, is u persepsie ook dieselfde.
As u dit in u kode wil gebruik, is dit beter om hierdie reëls by te voeg:
helderheid = 50; // in persentasie
PWM = pow (10, helderheid*1.914/100) -1) /0.0793;
analogWrite (ledpin, PWM);
LET WEL: die normalisering word gedoen vir 'n maksimum PWM van 1023 (vir Wemos mini D1). Vir Arduino is PWM tussen 0-255. u moet dit dienooreenkomstig bereken.
NOTA2: Ek het 'n log-lineêre plot bygevoeg om aan te toon hoe ons persepsie en PWM-waarde verband hou. jy moet dit nie gebruik om te pas nie!
Stap 5: Gevolgtrekking
die kalibrasie werk goed vir my. As die PWM -waardes groot is, kan ek die verskil sien. Voorheen, as die groot waardes, kon ek nie die effek van verduistering sien nie. Die meeste veranderinge is basies in 'n klein reeks PWM aangebring. nou is dit gekalibreer!
elke LED, veral verskillende kleure, moet sy eie kalibrasieparameters hê. Ek het egter 'n blou LED gekalibreer en die parameter vir 'n wit LED gebruik, en die resultaat was aanvaarbaar. so miskien kan u my kalibrasie -parameter gebruik sonder om uself te pla !!
Aanbeveel:
Kalibrasie van grondvogsensor: 5 stappe
Kalibrasie van grondvogsensor: daar is baie grondvogmeters op die mark om die tuinier te help besluit wanneer hy hul plante moet natmaak. Ongelukkig is 'n handvol grond gryp en die kleur en tekstuur ondersoek, net so betroubaar soos baie van hierdie toestelle! Sommige sondes registreer selfs
ARDUINO ORP SENSOR KALIBRASIE: 3 stappe
ARDUINO ORP SENSOR KALIBRASIE: In hierdie tutoriaal kalibreer ons Atlas Scientific se EZO ORP (oksidasie-reduksie potensiaal) sensor met behulp van Arduino Uno. KALIBRASIE TEORIE Die belangrikste deel van kalibrasie is om na die lesings te kyk tydens die kalibrasieproses. Dit is maklik
Hoe om 'n baba-gewigmasjien te maak met behulp van Arduino Nano, HX-711-laadsel en OLED 128X64 -- Kalibrasie van HX-711: 5 stappe
Hoe om 'n baba-gewigmasjien te maak met behulp van Arduino Nano, HX-711-laadsel en OLED 128X64 || Kalibrasie van HX-711: Hallo instruksies, ek het 'n paar dae gelede pa geword van 'n oulike baba?. Toe ek in die hospitaal was, het ek gevind dat die gewig van die baba so belangrik is om die groei van die baba te monitor. So ek het 'n idee? om self 'n baba -gewigmasjien te maak. in hierdie instruksionele ek
Kalibrasie van humiditeitsensor: 7 stappe
Kalibrasie van humiditeitsensor: ek het 3 sensors wat die relatiewe humiditeit van die lug kan meet: BME280, SHT21, DHT22. Hulle het die vermoë om akkuraat te meet +/- 3% van 20 tot 80% bepaal, maar toe ek in dieselfde toestand vir 3 sensors toets, het ek 3 verskillende resultate gekry. Miskien o
Kalibrasie van DS18B20 -sensor met Arduino UNO: 3 stappe (met foto's)
Kalibrasie van DS18B20 -sensor met Arduino UNO: DISCLAIMER: Die toestel wat u op die foto's sien, word in 'n ander projek gebruik as 'n termostaat vir die ontwikkeling van films. U kan die projek hier vind. Om 'n sensor of meer as een te kalibreer, benodig u net wat u in hierdie projek sal vind