Fény- és színérzékelés
Fotoellenállás
A legegyszerűbb fényérzékelési megoldást a fotoellenállás szolgáltatja. Ez egy olyan ellenállás, melynek megvilágítás hatására csökken az ellenállása. A legegyszerűbb alapesetben ez (illetve az ezen keresztül érkező feszültség) közvetlenül az analóg bemeneten beolvasható, mindössze egy lehúzó-ellenállásra van szükség ehhez a grund felé, hogy a mérés rendesen működjön:
A fenti képen az ellenállásnak nagyjából 6-10 kΩ-osnak kell lennie.
Egy fokkal professzionálisabb megoldás, ha komperáló-IC-vel értékeljük ki a fénymennyiséget, és egy ellenállási határértéket alulhaladva ez az áramkör ad ki digitális jelet. Ilyen megoldást kínál az LM393 modul:
int readIt; void setup() { Serial.begin(9600); } void loop() { readIt = analogRead(A0); Serial.println(readIt); delay(1000); }
Lángszenzor
A lángszenzor technikailag egy egyszerű infravörös érzékelőt rejt magában. A lángok nagy mennyiségű (az emberi szem számára láthatatlan) IR-t bocsátanak ki, a lángérzékelő modul az innen érkező infravörös sugázást érzékeli. Az IR érzékelő szenzorok olyan fotoellenállások, melyek változó ellenállást generálnak az infravörös fény hatására. Általában olyan optikai szűrővel látják el ezeket a szenzorokat, hogy más fénytartományt nem eresztenek át; azaz nem is érzékelik ezeket.
Az IR által generált ellenállást az Arduino akár közvetlenül is kiértékelheti (lásd fent, a fotoellenállásnál), vagy egy komperáló-modulon keresztül teszi ezt meg (ez jellemzően szintén egy LM393-as). Ezt a kombót (LM393 + IR szűrős fotoellenállás) KY-026 néven is megtalálhatjuk. A digitális riasztás határértéke a modulon található potméterrel hangolható.
Technikai adatok:
Érzékelési (hullámhossz) tartomány: 760-1100nm
Tápfeszültség: max. 15V DC
Érzékelési szög: 60°
Gyakorlatilag az optikai (nem CMOS) mozgásérzékelők (PIR-szenzorok) nagy része is az IR szenzor ellenállás kiértékelését végzi.
APDS-9930 környezeti fényérzékelő szenzor
Az APDS-9930 egy ALS szenzor. Jellemzően a szenzort modulként lehet beszerezni, ilyen például a CJMCU-9930 is:
CJMCU-9930
Technikai jellemzők:
- Környezeti fényérzékelés (ALS)
- megközelítőleg az emberi szemre adott válaszokat tudja produkálni
- Programozható megszakítási funkció felső és alsó küszöbértékekkel
- 16 bites felbontás
- jól érzékel bepépítve, például sötét üveg mögött
- 0,01 Lux érzékelési felbontás
- 100 mm-es érzékelésig működik
- integrált infravörös LED
- készenléti állapotban az áramfélvétele 90 μA
- Gyors I²C mód (400 kHz)
További, I²C-s megoldások: Arduino I²C kommunikáció
CJMCU-9930 pinek
CJMCU-9930 vezetékezés
CJMCU-9930 szoftver
CNY70 optikai érzékelő
A CNY70 a Vishay Semiconductors által gyártott optikai érzékelő egység, mely egy infravörös fényforrásból és a visszaverődő infravörös fényt érzékelő fototranzisztorból áll. A szenzor napfény elleni blokkoló szűrőt is tartalmaz, az IR LED 950 nm hullámhosszú fényt bocsájt ki. Működési sémája a következő:
Ha az érzékelőt fentről nézzük, jobb oldalra fordítva a típusmegjelölését, akkor az érzékelő a jobb, az IR LED bal oldalon található:
Technikai jellemzők
- Érzékelő típusa: fototranzisztor
- Méretek: 7 x 7 x 6 (mm)
- Érzékelési távolság: < 0.5 mm
- Maximális áramfelvétel: 1 mA
- Üzemeltetési hőmérséklet: –40..+85°C
- IR LED feszültség maximum: 1.6 V
- VCEO: 32 V (IC: 1 mA)
- VECO: 5 V ( IE = 100 μA)
Vezetékezés
Nyomkövető robot
A szenzort gyakran nyomkövető robotokhoz szokták alkalmazni. A nyom általában egy kontrasztos sötét felfestés szokott lenni világos felületen, ami elég ívelt és széles ahhoz, hogy a robot le tudja követni. Ennek a működési elve a következő:
Szoftver
Github tachométer program a CNY70-hez: https://github.com/fmilburn3/Tachometer_CNY70