Tartalomjegyzék:

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 BH1715 és Arduino Nano használatával: 5 lépés

Videó: Fényintenzitás -számítás BH1715 és Arduino Nano használatával: 5 lépés

Videó: Fényintenzitás -számítás BH1715 és Arduino Nano használatával: 5 lépés
Videó: Учебное пособие по преобразователю света в цифру Raspberry Pi TSL2561 Python 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 Arduino Nano -val.

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

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

2. Arduino nano

3. I2C kábel

4. I2C pajzs Arduino Nano számára

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. Arduino Nano

3. I2C kábel

4. I2C pajzs az Arduino nano számára

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ése Arduino kód:

Fényintenzitás mérés Arduino kód
Fényintenzitás mérés Arduino kód
Fényintenzitás mérés Arduino kód
Fényintenzitás mérés Arduino kód

Kezdjük most az Arduino kóddal.

Miközben az érzékelő modult használja az Arduino -val, a Wire.h könyvtárat is tartalmazza. A "Wire" könyvtár azokat a funkciókat tartalmazza, amelyek megkönnyítik az i2c kommunikációt az érzékelő és az Arduino kártya között.

A teljes Arduino kódot az alábbiakban adjuk meg a felhasználó kényelme érdekében:

#befoglalni

// A BH1715 I2C címe 0x23 (35) #define Addr 0x23 void setup () {// Inicializálja az I2C kommunikációt MASTER Wire.begin () néven; // Inicializálja a soros kommunikációt, állítsa be az átviteli sebességet = 9600 Serial.begin (9600); // Indítsa el az I2C átviteli vezetéket.beginTransmission (Addr); // Küldés bekapcsolása parancs Wire.write (0x01); // Stop I2C Transmission Wire.endTransmission (); // Indítsa el az I2C átviteli vezetéket.beginTransmission (Addr); // Folyamatos mérési parancs küldése Wire.write (0x10); // Stop I2C Transmission Wire.endTransmission (); késleltetés (300); } void loop () {unsigned int data [2]; // 2 bájt adat kérése Wire.requestFrom (Addr, 2); // 2 bájt adat olvasása // ALS msb, ALS lsb if (Wire.available () == 2) {data [0] = Wire.read (); adatok [1] = Wire.read (); } késleltetés (300); // konvertálja az adat float fényességét = ((adatok [0] * 256) + adatok [1]) /1.20; // Adatkimenet soros monitorra Serial.print ("Környezeti fény fényessége:"); Soros.nyomat (fényerő); Serial.println ("lux"); }

A kód következő része a Wire.begin () és a Serial.begin () függvények segítségével kezdeményezi az i2c kommunikációt és a soros kommunikációt.

// Inicializálja az I2C kommunikációt MASTER -ként

Wire.begin (); // Inicializálja a soros kommunikációt, állítsa be az átviteli sebességet = 9600 Serial.begin (9600); // Indítsa el az I2C átviteli vezetéket.beginTransmission (Addr); // Küldés bekapcsolása parancs Wire.write (0x01); // Stop I2C Transmission Wire.endTransmission (); // Indítsa el az I2C átviteli vezetéket.beginTransmission (Addr); // Folyamatos mérési parancs küldése Wire.write (0x10); // Stop I2C Transmission Wire.endTransmission (); késleltetés (300);

A fényerősséget a kód következő szakaszában mérik.

előjel nélküli int adatok [2];

// 2 bájt adat kérése Wire.requestFrom (Addr, 2); // 2 bájt adat olvasása // ALS msb, ALS lsb if (Wire.available () == 2) {data [0] = Wire.read (); adatok [1] = Wire.read (); } késleltetés (300); // konvertálja az adat float fényességét = ((adatok [0] * 256) + adatok [1]) /1.20; // Adatkimenet soros monitorra Serial.print ("Környezeti fény fényessége:"); Soros.nyomat (fényerő); Serial.println ("lux");

Mindössze annyit kell tennie, hogy a kódot arduino -ban égeti el, és a soros porton ellenőrzi az értékeket. A kimenet a fenti képen is 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: