Სარჩევი:
- ნაბიჯი 1: BH1715 მიმოხილვა:
- ნაბიჯი 2: რაც გჭირდებათ..
- ნაბიჯი 3: აპარატურის დაკავშირება:
- ნაბიჯი 4: სინათლის ინტენსივობის გაზომვის არდუინოს კოდი:
- ნაბიჯი 5: პროგრამები:
ვიდეო: სინათლის ინტენსივობის გამოთვლა BH1715 და არდუინო ნანოს გამოყენებით: 5 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
გუშინ ჩვენ ვმუშაობდით 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 ტელევიზორში, შენიშვნა კომპიუტერში და ა.შ. ეფექტური განათების პროგრამები.
გირჩევთ:
დაბრკოლება რობოტის თავიდან აცილება არდუინო ნანოს გამოყენებით: 5 ნაბიჯი
დაბრკოლება რობოტის თავიდან აცილების მიზნით, არდუინო ნანოს გამოყენებით: ამ სასწავლო ინსტრუქციაში მე ვაპირებ აღვწერო, თუ როგორ შეგიძლია დაბრკოლება რობოტის თავიდან აცილების მიზნით არდუინოს გამოყენებით
სინათლის ინტენსივობის გაზომვა BH1715 და ჟოლოს Pi გამოყენებით: 5 ნაბიჯი
სინათლის ინტენსივობის გაზომვა BH1715 და Raspberry Pi გამოყენებით: გუშინ ჩვენ ვმუშაობდით LCD დისპლეებზე და მათზე მუშაობისას მივხვდით სინათლის ინტენსივობის გამოთვლის მნიშვნელობას. სინათლის ინტენსივობა არა მხოლოდ მნიშვნელოვანია ამ სამყაროს ფიზიკურ სფეროში, არამედ მას აქვს თავისი კარგად გამოხატული როლი ბიოლოგიაში
სინათლის ინტენსივობის შეთქმულება არდუინოს და პითონის არდუინოს სამაგისტრო ბიბლიოთეკის გამოყენებით: 5 ნაბიჯი
სინათლის ინტენსივობის შეთქმულება არდუინოს და პითონის არდუინოს სამაგისტრო ბიბლიოთეკის გამოყენებით: არდუინო არის ეკონომიური, მაგრამ მაღალეფექტური და ფუნქციონალური ინსტრუმენტი, ჩაშენებულ C- ში პროგრამირება ხდის პროექტების დამღლელ პროცესს! პითონის Arduino_Master მოდული ამარტივებს ამას და გვაძლევს საშუალებას გამოვთვალოთ, ამოიღოთ ნაგვის მნიშვნელობები
სინათლის ინტენსივობის გამოთვლა BH1715 და ნაწილაკების ფოტონის გამოყენებით: 5 ნაბიჯი
სინათლის ინტენსივობის გამოთვლა BH1715 და ნაწილაკების ფოტონის გამოყენებით: გუშინ ვმუშაობდით LCD დისპლეებზე და მათზე მუშაობისას მივხვდით სინათლის ინტენსივობის გამოთვლის მნიშვნელობას. სინათლის ინტენსივობა არა მხოლოდ მნიშვნელოვანია ამ სამყაროს ფიზიკურ სფეროში, არამედ მას აქვს თავისი კარგად გამოხატული როლი ბიოლოგიაში
სინათლის ინტენსივობის ენერგიის დამზოგი ფოტოელექტორებისა და თერმისტორების გამოყენებით: 6 ნაბიჯი
სინათლის ინტენსივობის ენერგიის დამზოგი ფოტოელექტორებისა და თერმისტორების გამოყენებით: ეს ინსტრუქცია შექმნილია იმისთვის, რომ გასწავლოთ როგორ დაზოგოთ ენერგია სინათლის ინტენსივობის შეცვლით ფოტოცელებისა და თერმისტორების გამოყენებით. ჩვენ გაჩვენებთ თუ როგორ უნდა ააწყოთ წრე და დააკოპიროთ Arduino MATLAB გამოყენებით