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ése Arduino kód:
- 5. lépés: Alkalmazások:
Videó: Fényintenzitás -számítás BH1715 és Arduino Nano használatával: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
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:
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. Arduino Nano
3. I2C kábel
4. I2C pajzs az Arduino nano számára
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ése 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:
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:
Fényintenzitás mérése a BH1715 és a Raspberry Pi használatával: 5 lépés
Fényintenzitás -mérés a BH1715 és a Raspberry Pi használatával: Tegnap LCD kijelzőn dolgoztunk, és közben 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 -lámpa: 4 lépés
Fényintenzitás-lámpa: Szia kódolók, ma megtanítom, hogyan kell lámpát készíteni fotóellenállással a TinkerCad-on. Lássunk neki
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
Vezeték nélküli távirányító 2,4 GHz -es NRF24L01 modul használatával Arduino - Nrf24l01 4 csatorna / 6 csatornás adó vevő négykópás - Rc Helikopter - Rc sík az Arduino használatával: 5 lépés (képekkel)
Vezeték nélküli távirányító 2,4 GHz -es NRF24L01 modul használatával Arduino | Nrf24l01 4 csatorna / 6 csatornás adó vevő négykópás | Rc Helikopter | Rc sík Arduino használatával: Rc autó működtetése | Quadcopter | Drone | RC sík | RC csónak, mindig szükségünk van vevőre és adóra, tegyük fel, hogy az RC QUADCOPTER esetében szükségünk van egy 6 csatornás adóra és vevőre, és az ilyen típusú TX és RX túl költséges, ezért készítünk egyet
Fényintenzitás -mérő programozás nélkül: 7 lépés (képekkel)
Fényintenzitás -mérő programozás nélkül: Ez az utasítás arról szól, hogy egy alapvető fényintenzitás -mérőt készítsen Arduino vagy más mikrovezérlő vagy programozás nélkül. A fényintenzitás -mérő különböző színű fényerősségeket jelenít meg, különböző színű LED -ekkel. A piros LED