Სარჩევი:

სინათლის ინტენსივობის გამოთვლა BH1715 და ნაწილაკების ფოტონის გამოყენებით: 5 ნაბიჯი
სინათლის ინტენსივობის გამოთვლა BH1715 და ნაწილაკების ფოტონის გამოყენებით: 5 ნაბიჯი

ვიდეო: სინათლის ინტენსივობის გამოთვლა BH1715 და ნაწილაკების ფოტონის გამოყენებით: 5 ნაბიჯი

ვიდეო: სინათლის ინტენსივობის გამოთვლა BH1715 და ნაწილაკების ფოტონის გამოყენებით: 5 ნაბიჯი
ვიდეო: სინათლის ინტენსივობის გავლენა გლუკოზის წარმოქმნაზე 2024, ნოემბერი
Anonim
Image
Image

გუშინ ჩვენ ვმუშაობდით LCD დისპლეებზე და მათზე მუშაობისას მივხვდით სინათლის ინტენსივობის გამოთვლის მნიშვნელობას. სინათლის ინტენსივობა არა მხოლოდ მნიშვნელოვანია ამ სამყაროს ფიზიკურ სფეროში, არამედ მას აქვს თავისი კარგად გამოხატული როლი ბიოლოგიურ სფეროშიც. სინათლის ინტენსივობის ზუსტი შეფასება მნიშვნელოვან როლს ასრულებს ჩვენს ეკოსისტემაში, მცენარეების ზრდაში და ა.შ. ამრიგად, ამ მიზნის მისაღწევად ჩვენ შევისწავლეთ ეს სენსორი BH1715, რომელიც არის 16 ბიტიანი სერიული გამომავალი ტიპის გარე განათების სენსორი.

ამ გაკვეთილში ჩვენ ვაპირებთ წარმოვაჩინოთ BH1715– ის მუშაობა ნაწილაკების ფოტონთან ერთად. ნაწილაკების ფოტონი არის დაფა, რომელსაც შეუძლია ხელი შეუწყოს ნებისმიერი მოწყობილობის კონტროლს ინტერნეტის საშუალებით.

აპარატურა, რომელიც დაგჭირდებათ ამ მიზნით, არის შემდეგი:

1. BH1715 - გარემოს სინათლის სენსორი

2. ნაწილაკების ფოტონი

3. I2C კაბელი

4. I2C ფარი ნაწილაკების ფოტონისთვის

ნაბიჯი 1: BH1715 მიმოხილვა:

Რა გჭირდება..!!
Რა გჭირდება..!!

უპირველეს ყოვლისა, ჩვენ გვსურს გაეცნოთ სენსორული მოდულის ძირითად მახასიათებლებს, რომელიც არის BH1715 და საკომუნიკაციო პროტოკოლი, რომელზეც ის მუშაობს.

BH1715 არის ციფრული გარემოს სენსორი I²C ავტობუსის ინტერფეისით. BH1715 ჩვეულებრივ გამოიყენება გარე განათების მონაცემების მოსაპოვებლად, მობილური მოწყობილობებისთვის LCD და კლავიატურის შუქნიშნის სიმძლავრის შესაცვლელად. ეს მოწყობილობა გთავაზობთ 16 ბიტიან გარჩევადობას და რეგულირებადი გაზომვის დიაპაზონს, რაც საშუალებას იძლევა აღმოაჩინოს.23-დან 100 000 ლუქსამდე.

საკომუნიკაციო ოქმი, რომელზეც მუშაობს სენსორი არის I2C. I2C ნიშნავს ინტეგრირებულ წრეს. ეს არის საკომუნიკაციო პროტოკოლი, რომელშიც კომუნიკაცია ხდება SDA (სერიული მონაცემები) და SCL (სერიული საათი) ხაზებით. ეს საშუალებას გაძლევთ დააკავშიროთ რამდენიმე მოწყობილობა ერთდროულად. ეს არის ერთ -ერთი ყველაზე მარტივი და ეფექტური საკომუნიკაციო პროტოკოლი.

ნაბიჯი 2: რაც გჭირდებათ..

Რა გჭირდება..!!
Რა გჭირდება..!!
Რა გჭირდება..!!
Რა გჭირდება..!!
Რა გჭირდება..!!
Რა გჭირდება..!!

მასალები, რომლებიც ჩვენ გვჭირდება ჩვენი მიზნის მისაღწევად, მოიცავს შემდეგ ტექნიკურ კომპონენტებს:

1. BH1715 - გარემოს სინათლის სენსორი

2. ნაწილაკების ფოტონი

3. I2C კაბელი

4. ნაწილაკების ფოტონის I2C ფარი

ნაბიჯი 3: აპარატურის დაკავშირება:

აპარატურის დაკავშირება
აპარატურის დაკავშირება
აპარატურის დაკავშირება
აპარატურის დაკავშირება

აპარატურის დაკავშირების განყოფილება ძირითადად განმარტავს გაყვანილობის კავშირებს სენსორსა და ჟოლოს პი შორის. სწორი კავშირების უზრუნველყოფა არის ძირითადი აუცილებლობა ნებისმიერ სისტემაზე მუშაობისას სასურველი გამომუშავებისთვის. ამრიგად, საჭირო კავშირები შემდეგია:

BH1715 იმუშავებს I2C– ზე. აქ არის გაყვანილობის დიაგრამა, რომელიც აჩვენებს, თუ როგორ უნდა დააკავშიროთ სენსორის თითოეული ინტერფეისი.

ყუთის გარეშე, დაფა კონფიგურირებულია I2C ინტერფეისისთვის, ამიტომ ჩვენ გირჩევთ გამოიყენოთ ეს კავშირი, თუ სხვაგვარად ხართ აგნოსტიკოსი. ყველაფერი რაც თქვენ გჭირდებათ არის ოთხი მავთული!

მხოლოდ ოთხი კავშირია საჭირო Vcc, Gnd, SCL და SDA ქინძისთავები და ეს დაკავშირებულია I2C კაბელის დახმარებით.

ეს კავშირები ნაჩვენებია ზემოთ მოცემულ სურათებში.

ნაბიჯი 4: სინათლის ინტენსივობის გაზომვის ნაწილაკების კოდი:

სინათლის ინტენსივობის გაზომვის ნაწილაკების კოდი
სინათლის ინტენსივობის გაზომვის ნაწილაკების კოდი
სინათლის ინტენსივობის გაზომვის ნაწილაკების კოდი
სინათლის ინტენსივობის გაზომვის ნაწილაკების კოდი

დავიწყოთ ნაწილაკების კოდით ახლა.

სენსორული მოდულის arduino– ს გამოყენებისას, ჩვენ ვიყენებთ application.h და spark_wiring_i2c.h ბიბლიოთეკას. "application.h" და spark_wiring_i2c.h ბიბლიოთეკა შეიცავს ფუნქციებს, რომლებიც ხელს უწყობს სენსორსა და ნაწილაკს შორის i2c კომუნიკაციას.

მომხმარებლის ნაწილის მოხერხებულობისთვის ქვემოთ მოცემულია ნაწილაკების მთელი კოდი:

#ჩართეთ

#ჩართეთ

// BH1715 I2C მისამართი არის 0x23 (35)

#განსაზღვრეთ Addr 0x23

int luminance = 0;

ბათილად დაყენება ()

{

// ცვლადის დაყენება

ნაწილაკი. ცვლადი ("i2cdevice", "BH1715");

ნაწილაკი. ცვალებადი ("სიკაშკაშე", სიკაშკაშე);

// I2C კომუნიკაციის ინიციალიზაცია, როგორც MASTER

Wire.begin ();

// სერიული კომუნიკაციის ინიციალიზაცია, დაყენებული baud rate = 9600

სერიული.დაწყება (9600);

// დაიწყეთ I2C გადაცემა

Wire.beginTransmission (Addr);

// გაგზავნეთ ძალაუფლება ბრძანებაზე

Wire.write (0x01);

// შეაჩერე I2C გადაცემა

Wire.endTransmission ();

// დაიწყეთ I2C გადაცემა

Wire.beginTransmission (Addr);

// უწყვეტი გაზომვის ბრძანების გაგზავნა

Wire.write (0x10);

// შეაჩერე I2C გადაცემა

Wire.endTransmission ();

დაგვიანება (300);

}

ბათილი მარყუჟი ()

{

ხელმოუწერელი int მონაცემები [2];

// მოითხოვეთ მონაცემების 2 ბაიტი

მავთული. მოთხოვნა (Addr, 2);

// წაიკითხეთ 2 ბაიტი მონაცემები

// ALS msb, ALS lsb

თუ (Wire.available () == 2)

{

მონაცემები [0] = Wire.read ();

მონაცემები [1] = Wire.read ();

}

დაგვიანება (300);

// მონაცემების კონვერტაცია

სიკაშკაშე = ((მონაცემები [0] & 0xFF) * 256 + (მონაცემები [1] & 0xFF)) / 1.20;

// მონაცემების გამოტანა საინფორმაციო დაფაზე

Particle.publish ("Ambient Light Luminance:", String (luminance));

}

ნაბიჯი 5: პროგრამები:

პროგრამები
პროგრამები

BH1715 არის ციფრული გამომავალი გარე განათების სენსორი, რომელიც შეიძლება ჩართული იყოს მობილურ ტელეფონში, LCD ტელევიზორში, შენიშვნა კომპიუტერში და ა.შ. ეფექტური განათების პროგრამები.

გირჩევთ: