SI02 Senzor osvětlení
Kategorie: SI (inteligentní senzor)
Senzor osvetlenia SI02 je I2C senzor, základom ktorého je fotorezistor VT43N1. Fotorezistor je zapojený v odporovom deliči (obrázok 1). Svetelný tok dopadajúci na fotorezistor mení jeho odpor, čím sa mení aj výstupné napätie odporového deliča. Toto napätie je privádzané na vstup A/D prevodníka jednočipového mikropočítača ATmega48PA. Mikropočítač v pravidelných časových intervaloch prepočítava namerané napätie na odpor fotorezistora. Fotorezistor je pasívna elektronická súčiastka, druh polovodičového fotodetektora. Jeho elektrický odpor klesá s rastúcou intenzitou dopadajúceho svetla (elektrická vodivosť rastie). Princíp fotorezistoru je založený na vnútornom fotoelektrickom jave: fotorezistor je vyrobený z polovodiča s vysokým elektrickým odporom. Ak fotón svetla dostatočne krátkej vlnovej dĺžky narazí do elektrónu vo valenčnom pásme atómu, odovzdá mu svoju energiu. Elektrón tak získa dostatok energie na prekonanie zakázaného pásma a preskočí z valenčného pásma do vodivostného. Tým opustí svoj atóm a pohybuje sa ako voľný elektrón v priestore kryštálovej mriežky. Na jeho mieste vznikla tzv. diera – voľné miesto s kladným nábojom. Takto vzniknuté voľné elektróny a diery vedú elektrický prúd a znižujú tak elektrický odpor osvetleného fotorezistora.
Základné parametre senzora SI02 sú zhrnuté v nasledujúcej tabuľke:
Parametr | Hodnota | Jednotka |
---|---|---|
Napájecí napětí | 5 | V |
Odběr | <20 | mA |
Měřicí rozsah | 300 .. 10M | Ω |
Pracovní teplota | –40 .. 75 | °C |
Ke stažení
Příklad Java
/* * Jednoduchý příklad LigthSensorExample bude do konzole každých 200 milisekund * vypisovat hodnotu intenzity záření: */ package jBotBrain2.LightSensorExample; import jBotBrain2.hw.*; import jBotBrain2.sensors.LightSensor; public class LightSensorExampleMain { public static void main(String[] args) throws InterruptedException { Led.GREEN1.set(Led.MODE_BLINK, 300); LightSensor light = new LightSensor(); while (true) { System.out.print("Odpor: " + light.getFloatValue() + " Ω \r"); Thread.sleep(200); } } }