Tartalomjegyzék:

Fényintenzitás mérése a BH1715 és a Raspberry Pi használatával: 5 lépés
Fényintenzitás mérése a BH1715 és a Raspberry Pi használatával: 5 lépés

Videó: Fényintenzitás mérése a BH1715 és a Raspberry Pi használatával: 5 lépés

Videó: Fényintenzitás mérése a BH1715 és a Raspberry Pi használatával: 5 lépés
Videó: Kodak Gold 120 is it up to the Flash Test? 2024, November
Anonim
Image
Image

Tegnap az LCD kijelzőkön dolgoztunk, és amikor rájuk dolgoztunk, rájöttünk a fényintenzitás számításának fontosságára. A fény intenzitása nemcsak a világ fizikai területén fontos, hanem a biológiai területen is jól kimondott szerepe van. A fényintenzitás pontos becslése kulcsfontosságú szerepet játszik az ökoszisztémánkban, a növények növekedésében, stb. Ezért e célból tanulmányoztuk ezt a BH1715 érzékelőt, amely egy 16 bites soros kimeneti típusú környezeti fényérzékelő.

Ebben az oktatóanyagban bemutatjuk a BH1715 működését a Raspberry pi segítségével, Java -t használva programozási nyelvként.

A hardver, amire szüksége lesz erre a célra, a következő:

1. BH1715 - Környezeti fényérzékelő

2. Málnás Pi

3. I2C kábel

4. I2C pajzs a Raspberry Pi számára

5. Ethernet kábel

1. lépés: A BH1715 áttekintése:

Amire szükséged van..!!
Amire szükséged van..!!

Először is szeretnénk megismerni Önt a BH1715 típusú érzékelő modul alapvető jellemzőivel és a kommunikációs protokollal, amelyen működik.

A BH1715 digitális környezeti fényérzékelő I²C busz interfésszel. A BH1715 -öt általában a környezeti fényadatok megszerzésére használják az LCD és a billentyűzet háttérvilágításának beállításához mobil eszközökön. Ez az eszköz 16 bites felbontást és állítható mérési tartományt kínál, amely lehetővé teszi a 0,23 és 100 000 lux közötti észlelést.

A kommunikációs protokoll, amelyen az érzékelő működik, I2C. Az I2C az integrált áramkört jelenti. Ez egy kommunikációs protokoll, amelyben a kommunikáció SDA (soros adat) és SCL (soros óra) vonalakon keresztül történik. Lehetővé teszi több eszköz egyidejű csatlakoztatását. Ez az egyik legegyszerűbb és leghatékonyabb kommunikációs protokoll.

2. lépés: Amire szüksége van..

Amire szükséged van..!!
Amire szükséged van..!!
Amire szükséged van..!!
Amire szükséged van..!!
Amire szükséged van..!!
Amire szükséged van..!!

A célunk eléréséhez szükséges anyagok a következő hardverkomponenseket tartalmazzák:

1. BH1715 - Környezeti fényérzékelő

2. Málna Pi

3. I2C kábel

4. I2C Shield For Raspberry Pi

5. Ethernet kábel

3. lépés: Hardver csatlakoztatása:

Hardver csatlakoztatása
Hardver csatlakoztatása
Hardver csatlakoztatása
Hardver csatlakoztatása

A hardvercsatlakozási szakasz alapvetően elmagyarázza az érzékelő és a málna pi között szükséges vezetékeket. A megfelelő kapcsolatok biztosítása az alapvető szükséglet, amikor bármilyen rendszeren dolgozik a kívánt kimenet érdekében. Tehát a szükséges kapcsolatok a következők:

A BH1715 az I2C -n keresztül fog működni. Íme a példa kapcsolási rajz, amely bemutatja, hogyan kell bekötni az érzékelő egyes interfészeit.

A doboz készenlétben I2C interfészre van konfigurálva, ezért javasoljuk, hogy használja ezt a csatlakozást, ha egyébként agnosztikus. Csak négy vezetékre van szüksége!

Csak négy csatlakozóra van szükség Vcc, Gnd, SCL és SDA csapokra, és ezeket I2C kábel segítségével kell csatlakoztatni.

Ezeket az összefüggéseket a fenti képek mutatják be.

4. lépés: Fényintenzitás mérés Java kód használatával:

Fényintenzitás mérés Java kód használatával
Fényintenzitás mérés Java kód használatával
Fényintenzitás mérés Java kód használatával
Fényintenzitás mérés Java kód használatával

A málna pi használatának előnye az, hogy rugalmasságot biztosít a programozási nyelvben, amelyen a táblát programozni szeretné, hogy az érzékelőt hozzá lehessen illeszteni. A tábla ezen előnyét kihasználva bemutatjuk, hogy Java nyelven programozunk. A BH1715 Java -kódja letölthető a GitHub közösségünkből, azaz a Dcube Store -ból.

A felhasználók kényelme érdekében itt is elmagyarázzuk a kódot:

A kódolás első lépéseként le kell töltenie a pi4j könyvtárat java esetén, mert ez a könyvtár támogatja a kódban használt funkciókat. Tehát a könyvtár letöltéséhez látogasson el az alábbi linkre:

pi4j.com/install.html

Innen is másolhatja az érzékelő működő java kódját:

// Szabad akaratú licenccel terjesztik.

// Bármilyen módon használhatja, haszonnal vagy ingyen, feltéve, hogy illeszkedik a kapcsolódó művek licenceihez.

BH1715

// Ezt a kódot úgy tervezték, hogy működjön a ControlEverything.com webhelyen elérhető BH1715_I2CS I2C Mini modullal.

//

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

nyilvános osztály BH1715

{

public static void main (String args ) dobások Kivétel

{

// I2C busz létrehozása

I2CBus busz = I2CFactory.getInstance (I2CBus. BUS_1);

// I2C eszköz beszerzése, BH1715 Az I2C cím 0x23 (35)

I2CDevice device = bus.getDevice (0x23);

// Küldés bekapcsolás parancs

device.write ((byte) 0x01);

// Folyamatos mérési parancs küldése

device.write ((byte) 0x10);

Téma.alvás (500);

// 2 bájt adat olvasása

// fényerő msb, fényerő lsb

bájt adat = új bájt [2];

device.read (adatok, 0, 2);

// Adatok konvertálása

kettős fényerő = (([0] és 0xFF) * 256 + ([1] & 0xFF)) / 1,20;

// Adatok megjelenítése a képernyőn

System.out.printf ("Környezeti fény fényessége: %.2f lux %n", fényerő);

}

}

A könyvtár, amely megkönnyíti az i2c kommunikációt az érzékelő és a kártya között, a pi4j, különféle csomagjai, az I2CBus, az I2CDevice és az I2CFactory segítenek a kapcsolat létrehozásában.

import com.pi4j.io.i2c. I2CBus; import com.pi4j.io.i2c. I2CDevice; import com.pi4j.io.i2c. I2CFactory; import java.io. IOException;

A kódnak ez a része az érzékelőt a fényintenzitás mérésére működteti azáltal, hogy írja a megfelelő parancsokat a write () függvénnyel, majd az adatokat a read () függvénnyel olvassa be.

device.write ((byte) 0x01); // bekapcsolás parancs

device.write ((byte) 0x10); // folyamatos mérési parancs

bájt adat = új bájt [2]; // 2 bájt adat olvasása

device.read (adatok, 0, 2);

Az érzékelőtől kapott adatok a megfelelő formátumba konvertálhatók az alábbiak használatával:

kettős fényerő = (([0] és 0xFF) * 256 + ([1] és 0xFF)) / 1,20;

A kimenet a System.out.println () függvénnyel kerül nyomtatásra, a következő formátumban.

System.out.printf ("Környezeti fény fényessége: %.2f lux %n", fényerő);

Az érzékelő kimenete a fenti képen látható.

5. lépés: Alkalmazások:

Alkalmazások
Alkalmazások

A BH1715 egy digitális kimeneti környezeti fényérzékelő, amely beépíthető mobiltelefonba, LCD TV -be, MEGJEGYZÉS PC -be stb. Hordozható játékgépben, digitális fényképezőgépben, digitális videokamerában, PDA -ban, LCD kijelzőben és sok más olyan eszközben is használható hatékony fényérzékelő alkalmazások.

Ajánlott: