Სარჩევი:
- ნაბიჯი 1: BH1715 მიმოხილვა:
- ნაბიჯი 2: რაც გჭირდებათ..
- ნაბიჯი 3: აპარატურის დაკავშირება:
- ნაბიჯი 4: სინათლის ინტენსივობის გაზომვა ჯავის კოდის გამოყენებით:
- ნაბიჯი 5: პროგრამები:
ვიდეო: სინათლის ინტენსივობის გაზომვა BH1715 და ჟოლოს Pi გამოყენებით: 5 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
გუშინ ჩვენ ვმუშაობდით LCD დისპლეებზე და მათზე მუშაობისას მივხვდით სინათლის ინტენსივობის გამოთვლის მნიშვნელობას. სინათლის ინტენსივობა არა მხოლოდ მნიშვნელოვანია ამ სამყაროს ფიზიკურ სფეროში, არამედ მას აქვს თავისი კარგად გამოხატული როლი ბიოლოგიურ სფეროშიც. სინათლის ინტენსივობის ზუსტი შეფასება მნიშვნელოვან როლს ასრულებს ჩვენს ეკოსისტემაში, მცენარეების ზრდაში და ა.შ. ამრიგად, ამ მიზნის მისაღწევად ჩვენ შევისწავლეთ ეს სენსორი BH1715, რომელიც არის 16 ბიტიანი სერიული გამომავალი ტიპის გარე განათების სენსორი.
ამ გაკვეთილში ჩვენ ვაპირებთ ვაჩვენოთ BH1715- ის მუშაობა Raspberry pi– ით, Java– ს პროგრამირების ენად.
აპარატურა, რომელიც დაგჭირდებათ ამ მიზნით, არის შემდეგი:
1. BH1715 - გარემოს სინათლის სენსორი
2. ჟოლო პი
3. I2C კაბელი
4. I2C ფარი ჟოლოს პიისთვის
5. Ethernet კაბელი
ნაბიჯი 1: BH1715 მიმოხილვა:
უპირველეს ყოვლისა, ჩვენ გვსურს გაეცნოთ სენსორული მოდულის ძირითად მახასიათებლებს, რომელიც არის BH1715 და საკომუნიკაციო პროტოკოლი, რომელზეც ის მუშაობს.
BH1715 არის ციფრული გარემოს სენსორი I²C ავტობუსის ინტერფეისით. BH1715 ჩვეულებრივ გამოიყენება გარე განათების მონაცემების მოსაპოვებლად, მობილური მოწყობილობებისთვის LCD და კლავიატურის შუქნიშნის სიმძლავრის შესაცვლელად. ეს მოწყობილობა გთავაზობთ 16 ბიტიან გარჩევადობას და რეგულირებადი გაზომვის დიაპაზონს, რაც საშუალებას იძლევა აღმოაჩინოს.23-დან 100 000 ლუქსამდე.
საკომუნიკაციო ოქმი, რომელზეც მუშაობს სენსორი არის I2C. I2C ნიშნავს ინტეგრირებულ წრეს. ეს არის საკომუნიკაციო პროტოკოლი, რომელშიც კომუნიკაცია ხდება SDA (სერიული მონაცემები) და SCL (სერიული საათი) ხაზებით. ეს საშუალებას გაძლევთ დააკავშიროთ რამდენიმე მოწყობილობა ერთდროულად. ეს არის ერთ -ერთი ყველაზე მარტივი და ეფექტური საკომუნიკაციო პროტოკოლი.
ნაბიჯი 2: რაც გჭირდებათ..
მასალები, რომლებიც ჩვენ გვჭირდება ჩვენი მიზნის მისაღწევად, მოიცავს შემდეგ ტექნიკურ კომპონენტებს:
1. BH1715 - გარემოს სინათლის სენსორი
2. ჟოლო პი
3. I2C კაბელი
4. I2C ფარი ჟოლოს პიისთვის
5. Ethernet კაბელი
ნაბიჯი 3: აპარატურის დაკავშირება:
აპარატურის დაკავშირების განყოფილება ძირითადად განმარტავს გაყვანილობის კავშირებს სენსორსა და ჟოლოს პი შორის. სწორი კავშირების უზრუნველყოფა არის ძირითადი აუცილებლობა ნებისმიერ სისტემაზე მუშაობისას სასურველი გამომუშავებისთვის. ამრიგად, საჭირო კავშირები შემდეგია:
BH1715 იმუშავებს I2C– ზე. აქ არის გაყვანილობის დიაგრამა, რომელიც აჩვენებს, თუ როგორ უნდა დააკავშიროთ სენსორის თითოეული ინტერფეისი.
ყუთის გარეშე, დაფა კონფიგურირებულია I2C ინტერფეისისთვის, ამიტომ ჩვენ გირჩევთ გამოიყენოთ ეს კავშირი, თუ სხვაგვარად ხართ აგნოსტიკოსი. ყველაფერი რაც თქვენ გჭირდებათ არის ოთხი მავთული!
მხოლოდ ოთხი კავშირია საჭირო Vcc, Gnd, SCL და SDA ქინძისთავები და ეს დაკავშირებულია I2C კაბელის დახმარებით.
ეს კავშირები ნაჩვენებია ზემოთ მოცემულ სურათებში.
ნაბიჯი 4: სინათლის ინტენსივობის გაზომვა ჯავის კოდის გამოყენებით:
ჟოლოს pi გამოყენების უპირატესობა ის არის, რომ თქვენ უზრუნველყოფთ პროგრამირების ენის მოქნილობას, რომლითაც გსურთ დაფის დაპროგრამება, რათა სენსორი მასთან დააკავშიროთ. ამ დაფის ამ უპირატესობის გამოყენებისას ჩვენ ვაჩვენებთ, რომ ეს არის პროგრამირება ჯავაში. ჯავის კოდი BH1715– ისთვის შეგიძლიათ გადმოწეროთ ჩვენი GitHub საზოგადოებიდან, რომელიც არის Dcube Store.
ისევე როგორც მომხმარებლების სიმარტივისთვის, ჩვენ აქ განვმარტავთ კოდს:
როგორც კოდირების პირველი ნაბიჯი, თქვენ უნდა გადმოწეროთ pi4j ბიბლიოთეკა java- ს შემთხვევაში, რადგან ეს ბიბლიოთეკა მხარს უჭერს კოდში გამოყენებულ ფუნქციებს. ასე რომ, ბიბლიოთეკის გადმოსაწერად შეგიძლიათ ეწვიოთ შემდეგ ბმულს:
pi4j.com/install.html
თქვენ შეგიძლიათ დააკოპიროთ ამ სენსორის სამუშაო java კოდი აქედან:
// განაწილებულია თავისუფალი ნების ლიცენზიით.
// გამოიყენეთ იგი ნებისმიერი ფორმით, როგორც გსურთ, მოგებით ან უფასოდ, იმ პირობით, რომ იგი ჯდება ლიცენზიებთან დაკავშირებული სამუშაოებისათვის.
// BH1715
// ეს კოდი შექმნილია BH1715_I2CS I2C მინი მოდულთან მუშაობისთვის, რომელიც ხელმისაწვდომია ControlEverything.com– დან.
//
იმპორტი com.pi4j.io.i2c. I2CBus;
იმპორტი com.pi4j.io.i2c. I2CD მოწყობილობა;
იმპორტი com.pi4j.io.i2c. I2C ქარხანა;
იმპორტი java.io. IOException;
საჯარო კლასი BH1715
{
public static void main (სიმებიანი args ) ისვრის გამონაკლისს
{
// I2C ავტობუსის შექმნა
I2CBus ავტობუსი = I2CFactory.getInstance (I2CBus. BUS_1);
// მიიღეთ I2C მოწყობილობა, BH1715 I2C მისამართი არის 0x23 (35)
I2CD მოწყობილობის მოწყობილობა = bus.getDevice (0x23);
// გაგზავნეთ ძალაუფლება ბრძანებაზე
მოწყობილობა. დაწერეთ ((ბაიტი) 0x01);
// უწყვეტი გაზომვის ბრძანების გაგზავნა
მოწყობილობა. დაწერეთ ((ბაიტი) 0x10);
თემა. ძილი (500);
// წაიკითხეთ 2 ბაიტი მონაცემები
// სიკაშკაშე msb, სიკაშკაშე lsb
ბაიტი მონაცემები = ახალი ბაიტი [2];
მოწყობილობა. წაკითხვა (მონაცემები, 0, 2);
// მონაცემების კონვერტაცია
ორმაგი სიკაშკაშე = ((მონაცემები [0] & 0xFF) * 256 + (მონაცემები [1] & 0xFF)) / 1.20;
// მონაცემების გამოტანა ეკრანზე
System.out.printf ("გარემოს სინათლის სიკაშკაშე: %.2f lux %n", სიკაშკაშე);
}
}
ბიბლიოთეკა, რომელიც ხელს უწყობს სენსორსა და დაფას შორის i2c კომუნიკაციას, არის pi4j, მისი სხვადასხვა პაკეტი I2CBus, I2CDevice და I2CFactory ხელს უწყობს კავშირის დამყარებას.
იმპორტი com.pi4j.io.i2c. I2CBus; იმპორტი com.pi4j.io.i2c. I2CD მოწყობილობა; იმპორტი com.pi4j.io.i2c. I2C ქარხანა; იმპორტი java.io. IOException;
კოდის ეს ნაწილი აიძულებს სენსორს სინათლის ინტენსივობის გაზომვისთვის შესაბამისი ბრძანებების ჩაწერა ჩაწერის () ფუნქციის გამოყენებით და შემდეგ მონაცემები იკითხება წაკითხვის () ფუნქციის გამოყენებით.
მოწყობილობა. დაწერეთ ((ბაიტი) 0x01); // ძალაუფლება ბრძანებაზე
მოწყობილობა. დაწერეთ ((ბაიტი) 0x10); // უწყვეტი გაზომვის ბრძანება
ბაიტი მონაცემები = ახალი ბაიტი [2]; // წაიკითხეთ 2 ბაიტი მონაცემები
მოწყობილობა. წაკითხვა (მონაცემები, 0, 2);
სენსორისგან მიღებული მონაცემები გარდაიქმნება შესაბამის ფორმატში შემდეგით:
ორმაგი სიკაშკაშე = ((მონაცემები [0] & 0xFF) * 256 + (მონაცემები [1] & 0xFF)) / 1.20;
გამომავალი დაბეჭდილია System.out.println () ფუნქციის გამოყენებით, შემდეგ ფორმატში.
System.out.printf ("გარემოს სინათლის სიკაშკაშე: %.2f lux %n", სიკაშკაშე);
სენსორის გამოსავალი ნაჩვენებია ზემოთ მოცემულ სურათზე.
ნაბიჯი 5: პროგრამები:
BH1715 არის ციფრული გამომავალი გარე განათების სენსორი, რომელიც შეიძლება ჩართული იყოს მობილურ ტელეფონში, LCD ტელევიზორში, შენიშვნა კომპიუტერში და ა.შ. ეფექტური განათების პროგრამები.
გირჩევთ:
ტემპერატურის გაზომვა AD7416ARZ და ჟოლოს Pi გამოყენებით: 4 ნაბიჯი
ტემპერატურის გაზომვა AD7416ARZ და Raspberry Pi გამოყენებით: AD7416ARZ არის 10 ბიტიანი ტემპერატურის სენსორი, რომელსაც აქვს ოთხი ერთარხიანი ანალოგური ციფრული გადამყვანი და მასში შემავალი ტემპერატურის სენსორი. ნაწილების ტემპერატურის სენსორზე წვდომა შესაძლებელია მულტიპლექსერული არხებით. ეს მაღალი სიზუსტის ტემპერატურა
სინათლის ინტენსივობის შეთქმულება არდუინოს და პითონის არდუინოს სამაგისტრო ბიბლიოთეკის გამოყენებით: 5 ნაბიჯი
სინათლის ინტენსივობის შეთქმულება არდუინოს და პითონის არდუინოს სამაგისტრო ბიბლიოთეკის გამოყენებით: არდუინო არის ეკონომიური, მაგრამ მაღალეფექტური და ფუნქციონალური ინსტრუმენტი, ჩაშენებულ C- ში პროგრამირება ხდის პროექტების დამღლელ პროცესს! პითონის Arduino_Master მოდული ამარტივებს ამას და გვაძლევს საშუალებას გამოვთვალოთ, ამოიღოთ ნაგვის მნიშვნელობები
სინათლის ინტენსივობის გამოთვლა BH1715 და არდუინო ნანოს გამოყენებით: 5 ნაბიჯი
სინათლის ინტენსივობის გამოთვლა BH1715 და არდუინო ნანოს გამოყენებით: გუშინ ვმუშაობდით LCD დისპლეებზე და მათზე მუშაობისას მივხვდით სინათლის ინტენსივობის გამოთვლის მნიშვნელობას. სინათლის ინტენსივობა არა მხოლოდ მნიშვნელოვანია ამ სამყაროს ფიზიკურ სფეროში, არამედ მას აქვს თავისი კარგად გამოხატული როლი ბიოლოგიაში
სინათლის ინტენსივობის გამოთვლა BH1715 და ნაწილაკების ფოტონის გამოყენებით: 5 ნაბიჯი
სინათლის ინტენსივობის გამოთვლა BH1715 და ნაწილაკების ფოტონის გამოყენებით: გუშინ ვმუშაობდით LCD დისპლეებზე და მათზე მუშაობისას მივხვდით სინათლის ინტენსივობის გამოთვლის მნიშვნელობას. სინათლის ინტენსივობა არა მხოლოდ მნიშვნელოვანია ამ სამყაროს ფიზიკურ სფეროში, არამედ მას აქვს თავისი კარგად გამოხატული როლი ბიოლოგიაში
სინათლის ინტენსივობის ენერგიის დამზოგი ფოტოელექტორებისა და თერმისტორების გამოყენებით: 6 ნაბიჯი
სინათლის ინტენსივობის ენერგიის დამზოგი ფოტოელექტორებისა და თერმისტორების გამოყენებით: ეს ინსტრუქცია შექმნილია იმისთვის, რომ გასწავლოთ როგორ დაზოგოთ ენერგია სინათლის ინტენსივობის შეცვლით ფოტოცელებისა და თერმისტორების გამოყენებით. ჩვენ გაჩვენებთ თუ როგორ უნდა ააწყოთ წრე და დააკოპიროთ Arduino MATLAB გამოყენებით