Berekening van lichtintensiteit met BH1715 en Particle Photon - Ajarnpa
Berekening van lichtintensiteit met BH1715 en Particle Photon - Ajarnpa
Anonim
Image
Image

Gisteren werkten we aan LCD-schermen en terwijl we erover werkten, realiseerden we ons hoe belangrijk het is om de lichtintensiteit te berekenen. Lichtintensiteit is niet alleen belangrijk in het fysieke domein van deze wereld, maar het heeft ook zijn welbekende rol in het biologische domein. Nauwkeurige schatting van de lichtintensiteit speelt een cruciale rol in ons ecosysteem, in de groei van planten, enz. Daarom hebben we deze sensor BH1715 bestudeerd, een 16-bit seriële uitgangstype omgevingslichtsensor.

In deze tutorial gaan we de werking van BH1715 met Particle Photon demonstreren. Particle Photon is dat bord dat het besturen van elk apparaat via internet kan vergemakkelijken.

Hardware die je hiervoor nodig hebt is als volgt:

1. BH1715 - Omgevingslichtsensor

2. Deeltjesfoton

3. I2C-kabel

4. I2C-schild voor deeltjesfoton

Stap 1: BH1715 Overzicht:

Wat je nodig hebt..!!
Wat je nodig hebt..!!

Allereerst willen we u vertrouwd maken met de basiskenmerken van de sensormodule BH1715 en het communicatieprotocol waarop deze werkt.

BH1715 is een digitale omgevingslichtsensor met een I²C-businterface. De BH1715 wordt vaak gebruikt om gegevens over het omgevingslicht te verkrijgen voor het aanpassen van de achtergrondverlichting van LCD en toetsenbord voor mobiele apparaten. Dit apparaat biedt een 16-bits resolutie en een instelbaar meetbereik, waardoor detectie van 0,23 tot 100.000 lux mogelijk is.

Het communicatieprotocol waarop de sensor werkt is I2C. I2C staat voor de inter-geïntegreerde schakeling. Het is een communicatieprotocol waarbij de communicatie plaatsvindt via SDA (seriële data) en SCL (seriële klok) lijnen. Het maakt het mogelijk om meerdere apparaten tegelijkertijd aan te sluiten. Het is een van de eenvoudigste en meest efficiënte communicatieprotocollen.

Stap 2: Wat je nodig hebt.

Wat je nodig hebt..!!
Wat je nodig hebt..!!
Wat je nodig hebt..!!
Wat je nodig hebt..!!
Wat je nodig hebt..!!
Wat je nodig hebt..!!

De materialen die we nodig hebben om ons doel te bereiken, omvatten de volgende hardwarecomponenten:

1. BH1715 - Omgevingslichtsensor

2. Deeltjesfoton

3. I2C-kabel

4. I2C-schild voor deeltjesfoton

Stap 3: Hardware-aansluiting:

Hardware-aansluiting
Hardware-aansluiting
Hardware-aansluiting
Hardware-aansluiting

De hardware-aansluitingssectie legt in feite de bedradingsverbindingen uit die nodig zijn tussen de sensor en de Raspberry Pi. Zorgen voor correcte verbindingen is de basisbehoefte bij het werken aan elk systeem voor de gewenste output. De vereiste verbindingen zijn dus als volgt:

De BH1715 werkt via I2C. Hier is het voorbeeldbedradingsschema, dat laat zien hoe elke interface van de sensor moet worden aangesloten.

Out-of-the-box, het bord is geconfigureerd voor een I2C-interface, daarom raden we aan om deze aansluiting te gebruiken als je verder agnostisch bent. Alles wat je nodig hebt zijn vier draden!

Er zijn slechts vier aansluitingen nodig Vcc, Gnd, SCL en SDA-pinnen en deze worden verbonden met behulp van I2C-kabel.

Deze verbindingen worden gedemonstreerd in de bovenstaande afbeeldingen.

Stap 4: Lichtintensiteitsmeting Deeltjescode:

Lichtintensiteitsmeting Deeltjescode
Lichtintensiteitsmeting Deeltjescode
Lichtintensiteitsmeting Deeltjescode
Lichtintensiteitsmeting Deeltjescode

Laten we nu beginnen met de deeltjescode.

Bij het gebruik van de sensormodule met de arduino nemen we de library application.h en spark_wiring_i2c.h op. "application.h" en spark_wiring_i2c.h bibliotheek bevat de functies die de i2c-communicatie tussen de sensor en het deeltje vergemakkelijken.

De volledige deeltjescode wordt hieronder gegeven voor het gemak van de gebruiker:

#erbij betrekken

#erbij betrekken

// BH1715 I2C-adres is 0x23(35)

#define Addr 0x23

int luminantie = 0;

ongeldige setup()

{

// Variabele instellen

Particle.variable ("i2cdevice", "BH1715");

Particle.variable ("luminantie", luminantie);

// Initialiseer I2C-communicatie als MASTER

Draad.begin();

// Initialiseer seriële communicatie, stel baudrate in = 9600

Serieel.begin(9600);

// Start I2C-verzending

Wire.beginTransmission (Addr);

// Stuur power on commando

Draad.schrijven (0x01);

// Stop I2C-verzending

Wire.endTransmission();

// Start I2C-verzending

Wire.beginTransmission (Addr);

// Stuur continue meetopdracht

Draad.schrijven (0x10);

// Stop I2C-verzending

Wire.endTransmission();

vertraging (300);

}

lege lus()

{

niet-ondertekende int-gegevens[2];

// Verzoek 2 byte aan gegevens

Wire.requestFrom(Addr, 2);

// Lees 2 bytes aan gegevens

// ALS msb, ALS lsb

if(Draad.beschikbaar()==2)

{

data[0] = Draad.lezen();

data[1] = Draad.lezen();

}

vertraging (300);

// Converteer de gegevens

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

// Gegevens uitvoeren naar dashboard

Particle.publish ("Luminantie van omgevingslicht:", String (luminantie));

}

Stap 5: Toepassingen:

Toepassingen
Toepassingen

BH1715 is een omgevingslichtsensor met digitale uitgang die kan worden ingebouwd in mobiele telefoons, lcd-tv's, NOTE-pc's, enz. Het kan ook worden gebruikt in draagbare spelcomputers, digitale camera's, digitale videocamera's, PDA's, lcd-schermen en nog veel meer apparaten die efficiënte lichtgevoelige toepassingen.

Aanbevolen: