Valon voimakkuuden mittaus käyttämällä BH1715 ja Raspberry Pi: 5 vaihetta
Valon voimakkuuden mittaus käyttämällä BH1715 ja Raspberry Pi: 5 vaihetta
Anonim
Image
Image

Eilen työskentelimme LCD -näyttöjen parissa, ja kun käsittelimme niitä, ymmärsimme valon voimakkuuden laskennan tärkeyden. Valon voimakkuus ei ole tärkeä vain tämän maailman fyysisellä alueella, vaan sillä on hyvin sanottu rooli myös biologisella alueella. Valon voimakkuuden tarkalla arvioinnilla on keskeinen rooli ekosysteemissämme, kasvien kasvussa jne. Joten tätä tarkoitusta varten tutkimme tätä anturia BH1715, joka on 16-bittinen sarjalähtötyyppinen ympäristön valoanturi.

Tässä opetusohjelmassa aiomme esitellä BH1715: n työskentelyn Raspberry pi: n kanssa käyttämällä Java -ohjelmointikieltä.

Tähän tarkoitukseen tarvittavat laitteet ovat seuraavat:

1. BH1715 - Ympäristön valoanturi

2. Vadelma Pi

3. I2C -kaapeli

4. I2C -kilpi Raspberry Pi: lle

5. Ethernet -kaapeli

Vaihe 1: BH1715 -yleiskatsaus:

Mitä tarvitset..!!
Mitä tarvitset..!!

Ensinnäkin haluamme tutustua BH1715 -anturimoduulin perusominaisuuksiin ja tiedonsiirtoprotokollaan, jolla se toimii.

BH1715 on digitaalinen ympäristön valoanturi, jossa on I²C -väyläliitäntä. BH1715: tä käytetään yleisesti ympäristön valotietojen hankkimiseen nestekidenäytön ja näppäimistön taustavalon säätämiseksi mobiililaitteille. Tämä laite tarjoaa 16-bittisen resoluution ja säädettävän mittausalueen, joka mahdollistaa havaitsemisen 0,23-100 000 luksia.

Viestintäprotokolla, jolla anturi toimii, on I2C. I2C tarkoittaa integroitua piiriä. Se on viestintäprotokolla, jossa tiedonsiirto tapahtuu SDA- (sarjatiedot) ja SCL (sarjakello) -linjojen kautta. Se mahdollistaa useiden laitteiden yhdistämisen samanaikaisesti. Se on yksi yksinkertaisimmista ja tehokkaimmista viestintäprotokollista.

Vaihe 2: Mitä tarvitset..

Mitä tarvitset..!!
Mitä tarvitset..!!
Mitä tarvitset..!!
Mitä tarvitset..!!
Mitä tarvitset..!!
Mitä tarvitset..!!

Tavoitteemme saavuttamiseen tarvittavat materiaalit sisältävät seuraavat laitteistokomponentit:

1. BH1715 - Ympäristön valoanturi

2. Vadelma Pi

3. I2C -kaapeli

4. I2C -kilpi Raspberry Pi: lle

5. Ethernet -kaapeli

Vaihe 3: Laitteiston kytkentä:

Laitteiston kytkentä
Laitteiston kytkentä
Laitteiston kytkentä
Laitteiston kytkentä

Laitteiston liitäntäosa selittää periaatteessa anturin ja vadelmapi: n väliset tarvittavat johdotusliitännät. Oikeiden liitosten varmistaminen on perustarve, kun työskentelet minkä tahansa järjestelmän kanssa halutun lähdön saavuttamiseksi. Tarvittavat liitännät ovat siis seuraavat:

BH1715 toimii I2C: n yli. Tässä on esimerkki kytkentäkaaviosta, joka osoittaa, miten anturin jokainen liitäntä kytketään.

Valmis levy on konfiguroitu I2C-rajapintaa varten, joten suosittelemme käyttämään tätä kytkentää, jos olet muuten agnostikko. Tarvitset vain neljä johtoa!

Tarvitaan vain neljä liitäntää Vcc, Gnd, SCL ja SDA, ja ne on kytketty I2C -kaapelin avulla.

Nämä yhteydet on esitetty yllä olevissa kuvissa.

Vaihe 4: Valon voimakkuuden mittaus Java -koodilla:

Valon voimakkuuden mittaus Java -koodilla
Valon voimakkuuden mittaus Java -koodilla
Valon voimakkuuden mittaus Java -koodilla
Valon voimakkuuden mittaus Java -koodilla

Raspberry pi: n käytön etuna on, että se tarjoaa joustavuuden ohjelmointikielelle, jolla haluat ohjelmoida levyn, jotta liitäntä anturiin sen kanssa. Hyödynnämme tämän levyn etua ja demonstroimme tässä sen ohjelmointia Javalla. BH1715: n Java -koodin voi ladata GitHub -yhteisöltämme, joka on Dcube Store.

Käyttäjien helpottamiseksi selitämme koodin myös täällä:

Koodauksen ensimmäisenä vaiheena sinun on ladattava pi4j -kirjasto java -tapauksessa, koska tämä kirjasto tukee koodissa käytettyjä toimintoja. Joten voit ladata kirjaston seuraavasta linkistä:

pi4j.com/install.html

Voit myös kopioida tämän anturin toimivan Java -koodin täältä:

// Jaetaan vapaaehtoisella lisenssillä.

// Käytä sitä haluamallasi tavalla, voittoa tai ilmaiseksi, jos se sopii siihen liittyvien teosten lisensseihin.

// BH1715

// Tämä koodi on suunniteltu toimimaan BH1715_I2CS I2C Mini -moduulin kanssa, joka on saatavana osoitteesta ControlEverything.com.

//

tuonti com.pi4j.io.i2c. I2CBus;

tuoda com.pi4j.io.i2c. I2CDevice;

tuonti com.pi4j.io.i2c. I2CFactory;

tuoda java.io. IOException;

julkinen luokka BH1715

{

public staattinen void main (String args ) heittää Poikkeus

{

// Luo I2C -väylä

I2CBus -väylä = I2CFactory.getInstance (I2CBus. BUS_1);

// Hanki I2C -laite, BH1715 I2C -osoite on 0x23 (35)

I2CDlaitelaite = väylä.getDevice (0x23);

// Lähetä virta päälle -komento

device.write ((tavu) 0x01);

// Lähetä jatkuvan mittauksen komento

device.write ((tavu) 0x10);

Kierteet.unen (500);

// Lue 2 tavua dataa

// luminanssi msb, luminanssi lsb

tavu data = uusi tavu [2];

device.read (data, 0, 2);

// Muunna tiedot

kaksinkertainen luminanssi = ((data [0] & 0xFF) * 256 + (data [1] & 0xFF)) / 1,20;

// Tulosta tiedot näytölle

System.out.printf ("Ympäristön valon kirkkaus: %.2f lux %n", luminanssi);

}

}

Kirjasto, joka helpottaa i2c -tiedonsiirtoa anturin ja levyn välillä, on pi4j, ja sen eri paketit I2CBus, I2CDevice ja I2CFactory auttavat muodostamaan yhteyden.

tuoda com.pi4j.io.i2c. I2CBus; tuoda com.pi4j.io.i2c. I2CDevice; tuonti com.pi4j.io.i2c. I2CFactory; tuoda java.io. IOException;

Tämä koodin osa saa anturin toimimaan valon voimakkuuden mittaamiseksi kirjoittamalla vastaavat komennot kirjoitus () -toiminnolla ja sitten tiedot luetaan luku () -toiminnolla.

device.write ((tavu) 0x01); // Käynnistä komento

device.write ((tavu) 0x10); // jatkuva mittauskomento

tavu data = uusi tavu [2]; // Lue 2 tavua dataa

device.read (data, 0, 2);

Anturilta saadut tiedot muunnetaan sopivaan muotoon käyttämällä seuraavaa:

kaksinkertainen luminanssi = ((data [0] & 0xFF) * 256 + (data [1] & 0xFF)) / 1,20;

Tulos tulostetaan System.out.println () -toiminnolla seuraavassa muodossa.

System.out.printf ("Ympäristön valon kirkkaus: %.2f lux %n", luminanssi);

Anturin lähtö näkyy yllä olevassa kuvassa.

Vaihe 5: Sovellukset:

Sovellukset
Sovellukset

BH1715 on digitaalilähtöinen ympäristön valoanturi, joka voidaan sisällyttää matkapuhelimeen, LCD -televisioon, NOTE PC: hen jne. Sitä voidaan käyttää myös kannettavassa pelikoneessa, digitaalikamerassa, digitaalisessa videokamerassa, PDA: ssa, LCD -näytössä ja monissa muissa laitteissa, jotka vaativat tehokkaat valon tunnistussovellukset.

Suositeltava: