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í

SKP model: 
PDF dokumentace: 

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);
        }
    }
}