Përmbajtje:

Llogaritja e intensitetit të dritës duke përdorur BH1715 dhe Arduino Nano: 5 hapa
Llogaritja e intensitetit të dritës duke përdorur BH1715 dhe Arduino Nano: 5 hapa

Video: Llogaritja e intensitetit të dritës duke përdorur BH1715 dhe Arduino Nano: 5 hapa

Video: Llogaritja e intensitetit të dritës duke përdorur BH1715 dhe Arduino Nano: 5 hapa
Video: Контрольная лампа переменного тока с диммером Arduino AC 2024, Nëntor
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 Arduino Nano.

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

3. Kabllo I2C

4. Mburoja I2C Për Arduino Nano

Hapi 1: Përmbledhje BH1715:

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

Para së gjithash, ne dëshirojmë t'ju njohim 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. Arduino Nano

3. Kabllo I2C

4. Mburoja I2C për Arduino nano

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 Kodi Arduino:

Kodi Arduino i Matjes së Intensitetit të Dritës
Kodi Arduino i Matjes së Intensitetit të Dritës
Kodi Arduino i Matjes së Intensitetit të Dritës
Kodi Arduino i Matjes së Intensitetit të Dritës

Le të fillojmë me kodin Arduino tani.

Ndërsa përdorim modulin e sensorit me Arduino, ne përfshijmë bibliotekën Wire.h. Biblioteka "Wire" përmban funksione të cilat lehtësojnë komunikimin i2c midis sensorit dhe bordit Arduino.

I gjithë kodi Arduino është dhënë më poshtë për lehtësinë e përdoruesit:

#përfshi

// Adresa BH1715 I2C është 0x23 (35) #define Addr 0x23 void setup () {// Filloni komunikimin I2C si MASTER Wire.begin (); // Filloni Komunikimin Serial, vendosur normën e baud = 9600 Serial.filloni (9600); // Fillo I2C Transmetimi Wire.beginTransmission (Addr); // Dërgo fuqinë në komandën Wire.write (0x01); // Ndalo I2C Transmetimi Wire.endTransmission (); // Fillo I2C Transmetimi Wire.beginTransmission (Addr); // Dërgo komandën e matjes së vazhdueshme Wire.write (0x10); // Ndalo I2C Transmetimi Wire.endTransmission (); vonesë (300); } void loop () {të dhëna të panënshkruara int [2]; // Kërko 2 bajt të dhënash Wire.requestFrom (Addr, 2); // Lexoni 2 byte të të dhënave // ALS msb, ALS lsb nëse (Wire.available () == 2) {data [0] = Wire.read (); të dhëna [1] = Wire.read (); } vonesë (300); // konvertoni ndriçimin e notës së të dhënave = ((të dhënat [0] * 256) + të dhënat [1]) /1.20; // Dalja e të dhënave në monitorin serik Serial.print ("Ndriçimi i dritës së ambientit:"); Serial.print (shkëlqim); Serial.println ("lux"); }

Pjesa e mëposhtme e kodit inicon komunikimin i2c dhe komunikimin serik me ndihmën e funksionit Wire.begin () dhe Serial.begin ().

// Filloni komunikimin I2C si MASTER

Wire.begin (); // Filloni Komunikimin Serial, vendosur normën e baud = 9600 Serial.filloni (9600); // Fillo I2C Transmetimi Wire.beginTransmission (Addr); // Dërgo fuqinë në komandën Wire.write (0x01); // Ndalo I2C Transmetimi Wire.endTransmission (); // Fillo I2C Transmetimi Wire.beginTransmission (Addr); // Dërgo komandën e matjes së vazhdueshme Wire.write (0x10); // Ndalo I2C Transmetimi Wire.endTransmission (); vonesë (300);

Intensiteti i dritës matet në pjesën e mëposhtme të kodit.

të dhëna int të panënshkruara [2];

// Kërko 2 bajt të dhënash Wire.requestFrom (Addr, 2); // Lexoni 2 byte të të dhënave // ALS msb, ALS lsb nëse (Wire.available () == 2) {data [0] = Wire.read (); të dhëna [1] = Wire.read (); } vonesë (300); // konvertoni ndriçimin e notës së të dhënave = ((të dhënat [0] * 256) + të dhënat [1]) /1.20; // Dalja e të dhënave në monitorin serik Serial.print ("Ndriçimi i dritës së ambientit:"); Serial.print (shkëlqim); Serial.println ("lux");

E tëra çfarë ju duhet të bëni është të digjni kodin në arduino dhe të kontrolloni leximet tuaja në portin serik. Dalja tregohet në figurën e mësipërme edhe për referencën tuaj.

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: