Matja e intensitetit të dritës duke përdorur BH1715 dhe Raspberry Pi: 5 hapa
Matja e intensitetit të dritës duke përdorur BH1715 dhe Raspberry Pi: 5 hapa
Anonim
Image
Image

Dje ne po punonim në ekranet LCD, dhe ndërsa punonim mbi to kuptuam rëndësinë e llogaritjes së intensitetit të dritës. Intensiteti i dritës nuk është i rëndësishëm vetëm në fushën fizike të kësaj bote, por ai ka rolin e tij të thënë mirë edhe në fushën biologjike. Vlerësimi i saktë i intensitetit të dritës luan një rol kryesor në ekosistemin tonë, në rritjen e bimëve, etj. Pra, për t'i shërbyer këtij qëllimi, ne studiuam këtë sensor BH1715, i cili është një sensor i dritës së ambientit i tipit dalës 16-bit.

Në këtë tutorial, ne do të demonstrojmë punën e BH1715 me Raspberry pi, duke përdorur Java si gjuhë programimi.

Pajisjet kompjuterike që do t'ju nevojiten për këtë qëllim janë si më poshtë:

1. BH1715 - Sensori i dritës së ambientit

2. Raspberryy Pi

3. Kabllo I2C

4. Mburoja I2C Për Raspberry Pi

5. Kabllo Ethernet

Hapi 1: Përmbledhje BH1715:

Ajo qe ju nevojitet.. !!
Ajo qe ju nevojitet.. !!

Para së gjithash, ne do të donim t'ju njihnim me veçoritë themelore të modulit të sensorit që është BH1715 dhe protokollin e komunikimit në të cilin funksionon.

BH1715 është një Sensor dixhital i dritës së ambientit me një ndërfaqe autobusi I²C. BH1715 përdoret zakonisht për të marrë të dhënat e dritës së ambientit për rregullimin e fuqisë së dritës së pasme të LCD dhe tastierës për pajisjet mobile. Kjo pajisje ofron një rezolucion 16-bit dhe një gamë të rregullueshme të matjes, duke lejuar zbulimin nga.23 në 100, 000 lux.

Protokolli i komunikimit në të cilin punon sensori është I2C. I2C qëndron për qarkun e integruar. Shtë një protokoll komunikimi në të cilin komunikimi zhvillohet përmes linjave SDA (të dhëna serike) dhe SCL (ora seriale). Mundëson lidhjen e shumë pajisjeve në të njëjtën kohë. Shtë një nga protokollet më të thjeshtë dhe më efikas të komunikimit.

Hapi 2: Ajo që ju nevojitet.. !

Ajo qe ju nevojitet.. !!
Ajo qe ju nevojitet.. !!
Ajo qe ju nevojitet.. !!
Ajo qe ju nevojitet.. !!
Ajo qe ju nevojitet.. !!
Ajo qe ju nevojitet.. !!

Materialet që na duhen për të arritur qëllimin tonë përfshijnë përbërësit e mëposhtëm të harduerit:

1. BH1715 - Sensori i dritës së ambientit

2. Raspberry Pi

3. Kabllo I2C

4. Mburoja I2C Për Raspberry Pi

5. Kabllo Ethernet

Hapi 3: Bashkimi i harduerit:

Lidhja e harduerit
Lidhja e harduerit
Lidhja e harduerit
Lidhja e harduerit

Seksioni i lidhjes së harduerit në thelb shpjegon lidhjet e telave të kërkuara midis sensorit dhe mjedrës pi. Sigurimi i lidhjeve të sakta është nevoja themelore gjatë punës në çdo sistem për daljen e dëshiruar. Pra, lidhjet e nevojshme janë si më poshtë:

BH1715 do të funksionojë mbi I2C. Këtu është shembulli i diagramit të instalimeve elektrike, duke demonstruar se si të lidhni secilën ndërfaqe të sensorit.

Jashtë kutisë, bordi është i konfiguruar për një ndërfaqe I2C, si i tillë ne rekomandojmë përdorimin e këtij bashkimi nëse përndryshe jeni agnostik. Gjithçka që ju nevojitet janë katër tela!

Vetëm katër lidhje kërkohen kunjat Vcc, Gnd, SCL dhe SDA dhe këto janë të lidhura me ndihmën e kabllit I2C.

Këto lidhje demonstrohen në fotot e mësipërme.

Hapi 4: Matja e intensitetit të dritës duke përdorur kodin Java:

Matja e intensitetit të dritës duke përdorur kodin Java
Matja e intensitetit të dritës duke përdorur kodin Java
Matja e intensitetit të dritës duke përdorur kodin Java
Matja e intensitetit të dritës duke përdorur kodin Java

Avantazhi i përdorimit të mjedrës pi është, që ju siguron fleksibilitetin e gjuhës programuese në të cilën dëshironi të programoni bordin në mënyrë që të ndërlidhni sensorin me të. Duke shfrytëzuar këtë avantazh të këtij bordi, ne po demonstrojmë këtu se është duke programuar në Java. Kodi Java për BH1715 mund të shkarkohet nga komuniteti ynë GitHub që është Dyqani Dcube.

Si dhe për lehtësinë e përdoruesve, ne po shpjegojmë kodin edhe këtu:

Si hapi i parë i kodimit, duhet të shkarkoni bibliotekën pi4j në rast java, sepse kjo bibliotekë mbështet funksionet e përdorura në kod. Pra, për të shkarkuar bibliotekën mund të vizitoni lidhjen e mëposhtme:

pi4j.com/install.html

Ju gjithashtu mund të kopjoni kodin java të punës për këtë sensor nga këtu:

// Shpërndarë me një licencë me vullnet të lirë.

// Përdoreni atë në çdo mënyrë që dëshironi, fitimprurëse ose falas, me kusht që të përshtatet në licencat e veprave të tij shoqëruese.

// BH1715

// Ky kod është krijuar për të punuar me Mini Modulin BH1715_I2CS I2C i disponueshëm nga ControlEverything.com.

//

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

klasa publike BH1715

{

public static void main (String args ) hedh Exception

{

// Krijo autobus I2C

Autobusi I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);

// Merrni pajisjen I2C, adresa BH1715 I2C është 0x23 (35)

Pajisja I2CDevice = bus.getDevice (0x23);

// Dërgoni fuqinë në komandë

pajisje.shkruaj ((bajt) 0x01);

// Dërgo komandën e matjes së vazhdueshme

pajisje.shkruaj ((bajt) 0x10);

Thread.sleep (500);

// Lexoni 2 bajt të dhëna

// ndriçimi msb, ndriçimi lsb

bajt të dhëna = bajt i ri [2];

pajisje. lexo (të dhëna, 0, 2);

// Shndërroni të dhënat

ndriçim i dyfishtë = ((të dhëna [0] & 0xFF) * 256 + (të dhëna [1] & 0xFF)) / 1.20;

// Dalja e të dhënave në ekran

System.out.printf ("Ndriçimi i dritës së ambientit: %.2f lux %n", ndriçimi);

}

}

Biblioteka që lehtëson komunikimin i2c midis sensorit dhe bordit është pi4j, paketat e saj të ndryshme I2CBus, I2CDevice dhe I2CFactory ndihmojnë për të vendosur lidhjen.

import com.pi4j.io.i2c. I2CBus; import com.pi4j.io.i2c. I2CDevice; import com.pi4j.io.i2c. I2CFactory; import java.io. IOException;

Kjo pjesë e kodit e bën sensorin të funksionojë për matjen e intensitetit të dritës duke shkruar komandat përkatëse duke përdorur funksionin e shkrimit () dhe më pas të dhënat lexohen duke përdorur funksionin e leximit ().

pajisje.shkruaj ((bajt) 0x01); // fuqia në komandë

pajisje.shkruaj ((bajt) 0x10); // komanda e matjes së vazhdueshme

bajt të dhëna = bajt i ri [2]; // Lexoni 2 bajt të dhëna

pajisje. lexo (të dhëna, 0, 2);

Të dhënat e marra nga sensori shndërrohen në formatin e duhur duke përdorur sa vijon:

ndriçim i dyfishtë = ((të dhëna [0] & 0xFF) * 256 + (të dhëna [1] & 0xFF)) / 1.20;

Dalja shtypet duke përdorur funksionin System.out.println (), në formatin e mëposhtëm.

System.out.printf ("Ndriçimi i dritës së ambientit: %.2f lux %n", ndriçimi);

Dalja e sensorit tregohet në figurën e mësipërme.

Hapi 5: Aplikimet:

Aplikimet
Aplikimet

BH1715 është një sensor dalës dixhital i dritës së ambientit i cili mund të inkorporohet në celular, TV LCD, SHENIM PC etj. Gjithashtu mund të përdoret në makinën e lojës portative, aparatin dixhital, videokamera dixhitale, PDA, ekran LCD dhe shumë pajisje të tjera të cilat kërkojnë aplikime efikase të ndriçimit të dritës.

Recommended: