Სარჩევი:

სინათლის ინტენსივობის გამოთვლა 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– სთან ერთად სენსორული მოდულის გამოყენებისას, ჩვენ მოიცავს Wire.h ბიბლიოთეკას. "მავთულის" ბიბლიოთეკა შეიცავს ფუნქციებს, რომლებიც ხელს უწყობს სენსორსა და არდუინოს დაფას შორის i2c კომუნიკაციას.

მთელი Arduino კოდი მოცემულია მომხმარებლის კომფორტისთვის ქვემოთ:

#ჩართეთ

// BH1715 I2C მისამართი არის 0x23 (35) #განსაზღვრეთ Addr 0x23 void setup () {// ინიციალიზაცია I2C კომუნიკაცია როგორც MASTER Wire.begin (); // სერიული კომუნიკაციის ინიციალიზაცია, დაყენებული baud rate = 9600 Serial.begin (9600); // დაწყება I2C გადამცემი მავთული. BeginTransmission (Addr); // გააგზავნე ძალა Wire.write (0x01) ბრძანებაზე; // შეაჩერე I2C გადამცემი Wire.endTransmission (); // დაწყება I2C გადამცემი მავთული. BeginTransmission (Addr); // უწყვეტი გაზომვის ბრძანების გაგზავნა Wire.write (0x10); // შეაჩერე I2C გადამცემი Wire.endTransmission (); დაგვიანება (300); } void loop () {ხელმოუწერელი int მონაცემები [2]; // მოითხოვეთ მონაცემთა 2 ბაიტი Wire.requestFrom (Addr, 2); // წაიკითხეთ მონაცემების 2 ბაიტი // ALS msb, ALS lsb if (Wire.available () == 2) {data [0] = Wire.read (); მონაცემები [1] = Wire.read (); } დაყოვნება (300); // გადააქციეთ მონაცემთა float luminance = ((მონაცემები [0] * 256) + მონაცემები [1]) /1.20; // სერიული მონიტორის მონაცემების გამოტანა Serial.print ("Ambient Light Luminance:"); სერიული. ბეჭდვა (სიკაშკაშე); Serial.println ("ლუქსი"); }

კოდის შემდეგი ნაწილი იწყებს i2c კომუნიკაციას და სერიულ კომუნიკაციას Wire.begin () და Serial.begin () ფუნქციების დახმარებით.

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

Wire.begin (); // სერიული კომუნიკაციის ინიციალიზაცია, დაყენებული baud rate = 9600 Serial.begin (9600); // დაწყება I2C გადამცემი მავთული. BeginTransmission (Addr); // გააგზავნე ძალა Wire.write (0x01) ბრძანებაზე; // შეაჩერე I2C გადამცემი Wire.endTransmission (); // დაწყება I2C გადამცემი მავთული. BeginTransmission (Addr); // უწყვეტი გაზომვის ბრძანების გაგზავნა Wire.write (0x10); // შეაჩერე I2C გადამცემი Wire.endTransmission (); დაგვიანება (300);

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

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

// მოითხოვეთ მონაცემთა 2 ბაიტი Wire.requestFrom (Addr, 2); // წაიკითხეთ მონაცემების 2 ბაიტი // ALS msb, ALS lsb if (Wire.available () == 2) {data [0] = Wire.read (); მონაცემები [1] = Wire.read (); } დაყოვნება (300); // გადააქციეთ მონაცემთა float luminance = ((მონაცემები [0] * 256) + მონაცემები [1]) /1.20; // სერიული მონიტორის მონაცემების გამოტანა Serial.print ("Ambient Light Luminance:"); სერიული. ბეჭდვა (სიკაშკაშე); Serial.println ("ლუქსი");

ყველაფერი რაც თქვენ გჭირდებათ არის ჩაწეროთ კოდი arduino– ში და შეამოწმოთ თქვენი კითხვები სერიულ პორტზე. გამომავალი ნაჩვენებია ზემოთ მოცემულ სურათზე ასევე თქვენი მითითებისთვის.

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

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

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

გირჩევთ: