Tartalomjegyzék:
- 1. lépés: A BH1715 áttekintése:
- 2. lépés: Amire szüksége van..
- 3. lépés: Hardver csatlakoztatása:
- 4. lépés: Fényintenzitás mérés Java kód használatával:
- 5. lépés: Alkalmazások:
Videó: Fényintenzitás mérése a BH1715 és a Raspberry Pi használatával: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
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:
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..
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:
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:
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:
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:
Hőmérséklet mérése AD7416ARZ és Raspberry Pi használatával: 4 lépés
Hőmérsékletmérés az AD7416ARZ és a Raspberry Pi segítségével: Az AD7416ARZ 10 bites hőmérséklet-érzékelő négy egycsatornás analóg-digitális átalakítóval és egy beépített hőmérséklet-érzékelővel. Az alkatrészek hőmérséklet -érzékelője multiplexer csatornákon keresztül érhető el. Ez a nagy pontosságú hőmérséklet
Mágneses mező mérése HMC5883 és Raspberry Pi használatával: 4 lépés
Mágneses mező mérése HMC5883 és Raspberry Pi használatával: A HMC5883 egy digitális iránytű, amelyet alacsony mezőű mágneses érzékelésre terveztek. Ennek a készüléknek a széles mágneses tartománya +/- 8 Oe, és a kimeneti sebessége 160 Hz. A HMC5883 érzékelő magában foglalja az automatikus kivezető heveder meghajtókat, az eltolás törlését és egy
Fényintenzitás ábrázolása az Arduino és a Python Arduino Master Library használatával: 5 lépés
Fényintenzitás -ábrázolás az Arduino és a Python Arduino Master Library használatával: Az Arduino gazdaságos, ugyanakkor rendkívül hatékony és funkcionális eszköz, és az Embedded C -be programozva unalmassá teszi a projektek készítésének folyamatát! A Python Arduino_Master modulja leegyszerűsíti ezt, és lehetővé teszi számítások elvégzését, a szemétértékek eltávolítását
Fényintenzitás -számítás BH1715 és Arduino Nano használatával: 5 lépés
Fényintenzitás -számítás a BH1715 és az Arduino Nano használatával: Tegnap az LCD -kijelzőkön dolgoztunk, és azokon dolgozva 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 életben is jól megfogalmazott
Fényintenzitás -számítás BH1715 és részecskefoton használatával: 5 lépés
Fényintenzitás -számítás a BH1715 és a részecskefoton segítségével: Tegnap LCD kijelzőkön dolgoztunk, és azokon dolgozva 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 életben is jól megfogalmazott