Tartalomjegyzék:
- 1. lépés: Alkatrészek
- 2. lépés: Kábelezés
- 3. lépés: Kód
- 4. lépés: Szerelés és használat
- 5. lépés: Következtetés
Videó: A LED fényerejének kalibrálása: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Miközben tündérfényt készítettem, rájöttem, hogy a PWM érték nem lineárisan arányos a LED fényerejével. Egyszerűen szólva, ha a PWM érték kétszeres, a fényerő nem kétszeres; Különösen akkor, ha a PWM közel van a maximumhoz, a szemem nem ismer fel semmilyen változást. Azt hittem, egyszerű kalibrálási kérdésnek kell lennie! és így készítettem el ezt a projektet! Az ötlet az, hogy megmérjük a LED fényerejét valamilyen eszközzel (fényerő -érzékelő vagy fotorezisztor), és korrelációt találunk a PWM -érték és a fényerő között. Majd később Ha a fényerőt 50%-ra állítom, az Arduino kiszámítja a megfelelő PWM -et, és ennek megfelelően elhalványítja a LED -et.
Ezért fényerő -érzékelőre és LED -re van szükségem a fényerő méréséhez. SD -kártya használatával elmentem az adatokat a későbbi szereléshez. Az illesztés Excelben (vagy bármely más programban) történik. A kimenetet Arduino kódban fogják használni, és ennyi! Ezt egyszer kell elvégezni. Ezután örökre használhatja a kalibrációs paramétert!
1. lépés: Alkatrészek
1- WEMOS mini D1: Aliexpress 3 €
2- TSL 2561 (fényerő-érzékelő): Aliexpress 3 €
3- SD kártya modul: Aliexpress 1 €
4- LED
5- Ellenállás 220 ohm
6- vezetékek
teljes költség: 8-10 €
2. lépés: Kábelezés
Az SD kártya modul és a fényerő -érzékelő vezetékeit nem szabad kicserélni (legtöbbjük). A LED -et egy PWM csaphoz kell csatlakoztatni.
3. lépés: Kód
Három kódot kombináltam:
SD -kártya: használt példa> SD> ReadWrite az Arduino IDE -ben
TSL 2561: használt Adafruit TSL2561 könyvtári példa (sensorapi); példákban találja meg, ha telepíti a könyvtárat (feltételezem, hogy tudja, hogyan kell könyvtárat telepíteni az Arduino IDE -ben).
LED -fakulás: használt példák> Analóg> fakulás
A kód a modulok inicializálása után elhalványítja a LED -et, leolvassa a fényerőt, és elmenti SD -kártyára. így összegyűjtök néhány adatot a kalibráláshoz.
Minden kódot igényeimnek megfelelően változtattam. mellékelt végső kód.
A jelnek a mellékelt képen kell kinéznie. Sajnos elfelejtettem lefotózni, ezért újraterveztem az Excel -ben, hogy megmutassam, hogyan kell.
MEGJEGYZÉS: A wu mini D1 -et használom Arduino helyett. valamiért, amit nem tudok, a PWM 0 és 1023 között van. Arduino-ban 0-255 között kell lennie. Ha az arduino kódját szeretné használni, vigyázzon rá (90. sor).
4. lépés: Szerelés és használat
adatgyűjtés után Excelben megnyitottam a fájlt, és ábrázoltam az adatokat (nézd meg a képet). az első oszlop a PWM érték, a második pedig a lux (az érzékelő leolvasása, az egység nem sokat számít). Ezért ábrázolja a luxot (y tengely) vs. PWM (x tengely). Mint látható, a fényerő lineárisan arányos a PWM értékkel. Illesztettem rá egy sort.
Egy sor illesztéséhez kövesse az alábbiakat:
1- ábrázolja az adatokat (illessze be> szórja le a diagramot), feltételezem, hogy tudja, hogyan.
2- kattintson a jobb gombbal az ábrázolt adatokra
3- kattintson a trendvonalra.
4- (Excel 2013-ban) a jobb oldalon megjelenik egy panel. Válasszon lineárisat. Alul válassza a "megjelenítési egyenlet a diagramon" lehetőséget.
A lineáris összefüggés eltér az én felfogásomtól. Ezért azt gondolom, hogy logaritmikus összefüggésnek kell lennie az észlelésem és a fényerő között (ez a legegyszerűbb módja jutott eszembe!). Szóval vettem az illeszkedés lejtőjét. Az elfogás nem fontos, mert a környező fényszennyezéstől függ! helyette hozzáadtam az 1. Mivel a Log10 (0) végtelen. Tehát szükségem van egy lehallgatásra a probléma megoldásához. Esetemben az egyenlet így néz ki:
y = Log10 (0,08 x +1), y a fényerő és x a PWM érték (0-1023)
Normalizáltam az egyenletet a maximális értékre. akkor a kimeneti csengetés mindig 0-100 között van. így az arduino -tól kérhetek bizonyos relatív fényerőt, a maximális abszolút fényerő nélkül.
y = Log10 (0,08 x +1)*100/1,914
Mivel az arduino-ban a bemenetem a relatív fényerő, át kell rendeznem az x (PWM) egyenletét:
x = (10^(y*1,914 / 100) - 1) / 0,08
ezt az egyenletet használva a kódban lineáris fényerő -változást kaphatunk. Tehát az arduino-tól 0-100 közötti fényerőt (y) kér, és az arduino kiszámítja a megfelelő PWM értéket. ily módon, ha megduplázza a fényerőt, az észlelése is ugyanaz.
Ha ezt szeretné használni a kódjában, akkor jobb, ha hozzáadja ezeket a sorokat:
fényerő = 50; // százalékban
PWM = pow (10, fényerő*1,914/100) -1)/0,7979;
analogWrite (ledpin, PWM);
MEGJEGYZÉS: a normalizálás legfeljebb 1023 PWM esetén történik (Wemos mini D1 esetén). Az Arduino esetében a PWM 0-255 között van. ennek megfelelően kell kiszámítania.
2. MEGJEGYZÉS: Hozzáadtam egy log-lineáris diagramot, hogy megmutassam, hogyan függ össze észlelésünk és PWM értékünk. szerelésre nem szabad használni!
5. lépés: Következtetés
nekem jól működik a kalibrálás. Ha nagy a PWM érték, látom a különbséget. Korábban nagy értékként nem láttam a tompítás hatását. A változtatások nagy része alapvetően a PWM kis tartományában történt. most kalibrálva van!
minden LED -nek, különösen a különböző színeknek, saját kalibrálási paraméterekkel kell rendelkeznie. Azonban kalibráltam egy kék LED -et, és a paramétert egy fehér LED -re használtam, és az eredmény elfogadható volt. így talán használhatja a kalibrálási paramétereimet anélkül, hogy zavarná magát !!
Ajánlott:
Visuino Az impulzusszélesség -moduláció (PWM) használata a LED fényerejének megváltoztatásához: 7 lépés
Visuino Az impulzusszélesség -moduláció (PWM) használata a LED fényerejének megváltoztatásához: Ebben az oktatóanyagban az Arduino UNO -hoz és a Visuino -hoz csatlakoztatott LED -et használjuk a fényerő megváltoztatásához az impulzusszélesség -moduláció (PWM) segítségével. Nézzen meg egy bemutató videót
A LED fényerejének szabályozása potenciométerrel Arduino segítségével: 3 lépés
A LED fényerejének szabályozása potenciométerrel Arduino segítségével: Ebben a projektben a LED fényerejét a potenciométer által biztosított változó ellenállás segítségével fogjuk szabályozni. Ez egy nagyon alapvető projekt egy kezdő számára, de sok mindent megtanít a potenciométerről és a LED -ek működéséről, amelyek szükségesek a fejlesztéshez
A Led fényerejének szabályozása a Raspberry Pi és az egyéni weboldal segítségével: 5 lépés
A Led fényerejének szabályozása a Raspberry Pi és az egyéni weboldal segítségével: Apache szervert használva a pi -n php -vel, megtaláltam a módot a led fényerejének szabályozására egy csúszkával, egy testreszabott weblappal, amely elérhető bármely olyan eszközön, amely ugyanahhoz a hálózathoz csatlakozik, mint a pi .Sokféleképpen lehet ezt elérni
A LED fényerejének szabályozása potenciométerrel és OLED kijelzővel: 6 lépés
A LED fényerejének szabályozása potenciométerrel és OLED kijelzővel: Ebben az oktatóanyagban megtanuljuk, hogyan lehet a LED fényerejét egy potenciométerrel szabályozni, és megjeleníteni az értéket az OLED kijelzőn
A LED fényerejének szabályozása potenciométerrel és Arduino -val: 6 lépés
A LED fényerejének szabályozása potenciométerrel és Arduino -val: Ebben az oktatóanyagban megtanuljuk, hogyan lehet szabályozni a LED fényerejét potenciométerrel és Arduino -val. Nézzen meg egy bemutató videót