====== Fény- és színérzékelés ======
===== Fotoellenállás =====
A legegyszerűbb fényérzékelési megoldást a [[hu:main:dict#fotoellenallas|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:
{{:wiki:arduino:photo_res.png|Fotoellenállás}}
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 [[hu:arduino:other_hw#lm393_komperator_modul|LM393 modul]]:
{{:wiki:arduino:lm393_photo.png?200|LM 393 + fotoellenállás}}
int readIt;
void setup() {
Serial.begin(9600);
}
void loop() {
readIt = analogRead(A0);
Serial.println(readIt);
delay(1000);
}
===== Lángszenzor =====
{{ :wiki:arduino:ir_sensor.png?200|Lángszenzor}}
en: Flame Sensor \\
A [[hu:main:dict#langszenzor|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 [[hu:arduino:other_hw#lm393_komperator_modul|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 ([[hu:arduino:pir#pir_szenzor|PIR-szenzorok]]) nagy része is az IR szenzor ellenállás kiértékelését végzi.
{{ :wiki:arduino:apds_9930.jpg?150|APDS-9930 környezeti fényérzékelő szenzor}}
===== APDS-9930 környezeti fényérzékelő szenzor =====
Az APDS-9930 egy [[hu:main:dict#als|ALS]] szenzor. Jellemzően a szenzort modulként lehet beszerezni, ilyen például a CJMCU-9930 is:
==== CJMCU-9930 ====
{{ :wiki:arduino:cjmcu_9930.png?200|CJMCU-9930}}
Technikai jellemzők:
* Környezeti fényérzékelés ([[hu:main:dict#als|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 [[hu:comm:bus_i2c|I²C]] mód (400 kHz)
További, I²C-s megoldások: [[hu:arduino:comm_example#arduino_kommunikacios_megoldasok_peldak|Arduino I²C kommunikáció]]
==== CJMCU-9930 pinek ====
^pin^leírás|
|VL|opcionális betáp az infravörös LED-hez. Ez 3.0..4.5V lehet|
|GND|grund|
|VCC|Táp, 2.4..3.6V|
|SDA|[[hu:comm:bus_i2c|I²C]] adatjel|
|SCL|[[hu:comm:bus_i2c|I²C]] órajel|
|INT|Külső megszakítás PIN (opcionális)|
==== CJMCU-9930 vezetékezés ====
{{:wiki:arduino:cjmcu_9930_wiring.png?300|CJMCU-9930 vezetékezés}}
==== CJMCU-9930 szoftver ====
https://github.com/Davideddu/APDS9930
===== 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ő:
{{:wiki:sensor:cny70_sema1.png|CNY70 optikai érzékelő sémája}}
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ó:
{{:wiki:sensor:cny70_sema2.png|CNY70 optikai érzékelő felülnézet}}
==== 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 ====
{{:wiki:sensor:cny70_sema3.png|CNY70 optikai érzékelő 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ő:
{{:wiki:sensor:cny70_sema4.png|CNY70 optikai érzékelő / nyomkövető robot }}
==== Szoftver ====
Github tachométer program a CNY70-hez: https://github.com/fmilburn3/Tachometer_CNY70