Სარჩევი:
- ნაბიჯი 1: ჩვენ გვჭირდება შეუცვლელი აღჭურვილობა
- ნაბიჯი 2: აპარატურის კავშირები, რათა დააკავშიროთ წრე
- ნაბიჯი 3: ჟოლოს პროგრამირება ჯავაში
- ნაბიჯი 4: კოდექსის პრაქტიკულობა (სამუშაო)
- ნაბიჯი 5: პროგრამები და მახასიათებლები
- ნაბიჯი 6: დასკვნა
ვიდეო: Raspberry Pi– ს გამოყენებით, გაზომეთ სიმაღლე, წნევა და ტემპერატურა MPL3115A2– ით: 6 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
იცოდე რას ფლობ და იცი რატომ ფლობ მას
ეს დამაინტრიგებელია. ჩვენ ვცხოვრობთ ინტერნეტის ავტომატიზაციის ეპოქაში, რადგან ის იძირება ახალი პროგრამების პლედორში. როგორც კომპიუტერისა და ელექტრონიკის მოყვარულები, ჩვენ ბევრს ვსწავლობთ Raspberry Pi– ით და გადავწყვიტეთ ჩვენი ინტერესების შერწყმა. ამ პროექტს დაახლოებით ერთი საათი სჭირდება, თუ თქვენ ახალი ხართ I²C კავშირებით და პროგრამული უზრუნველყოფის დაყენებით და ეს შესანიშნავი გზაა Raspberry Pi– ით MPL3115A2 შესაძლებლობების გასავრცელებლად ჯავაში.
ნაბიჯი 1: ჩვენ გვჭირდება შეუცვლელი აღჭურვილობა
1. ჟოლო პი
პირველი ნაბიჯი იყო ჟოლოს დაფის მოპოვება. ამ პატარა გენიოსს იყენებენ ჰობისტები, მასწავლებლები და ინოვაციური გარემოს შესაქმნელად.
2. I2C ფარი ჟოლოს პიისთვის
INPI2 (I2C ადაპტერი) უზრუნველყოფს Raspberry Pi 2/3 და I²C პორტს მრავალჯერადი I2C მოწყობილობებისთვის გამოსაყენებლად. ის ხელმისაწვდომია Dcube Store– ში.
3. ალტიმეტრი, წნევისა და ტემპერატურის სენსორი, MPL3115A2
MPL3115A2 არის MEMS წნევის სენსორი I²C ინტერფეისით, წნევის, სიმაღლისა და ტემპერატურის მონაცემების მისაცემად. ეს სენსორი იყენებს I²2 პროტოკოლს კომუნიკაციისთვის. ჩვენ შევიძინეთ ეს სენსორი Dcube Store– დან.
4. დამაკავშირებელი კაბელი
ჩვენ გამოვიყენეთ IcC დამაკავშირებელი კაბელი, რომელიც ხელმისაწვდომია Dcube მაღაზიაში.
5. მიკრო USB კაბელი
Raspberry Pi იკვებება მიკრო USB მიწოდებით.
6. ინტერნეტზე წვდომის გაუმჯობესება - Ethernet კაბელი/WiFi მოდული
ერთ -ერთი პირველი რამ, რისი გაკეთებაც გსურთ, არის თქვენი Raspberry Pi ინტერნეტთან დაკავშირება. შეგიძლიათ დაუკავშირდეთ Ethernet კაბელის გამოყენებით ან უკაბელო USB Nano WiFi ადაპტერს.
7. HDMI კაბელი (სურვილისამებრ, თქვენი არჩევანი)
თქვენ შეგიძლიათ დაუკავშიროთ Raspberry Pi მონიტორს HDMI კაბელის გამოყენებით. ასევე, შეგიძლიათ დისტანციურად შეხვიდეთ თქვენს Raspberry Pi– ზე SSH/PuTTY– ის გამოყენებით.
ნაბიჯი 2: აპარატურის კავშირები, რათა დააკავშიროთ წრე
გააკეთეთ წრე სქემატურად ნაჩვენები. ზოგადად, კავშირები საკმაოდ მარტივია. მიჰყევით ზემოთ მითითებებს და სურათებს და არანაირი პრობლემა არ შეგექმნებათ. დაგეგმვისას ჩვენ განვიხილეთ ტექნიკა და კოდირება, ასევე ელექტრონიკის საფუძვლები. ჩვენ გვინდოდა შევადგინოთ მარტივი ელექტრონიკის სქემა ამ პროექტისათვის. დიაგრამაზე შეგიძლიათ შეამჩნიოთ სხვადასხვა ნაწილები, სიმძლავრის კომპონენტები და I²C სენსორი I followingC საკომუნიკაციო პროტოკოლების შემდეგ. ვიმედოვნებთ, ეს ასახავს რამდენად მარტივი ელექტრონიკაა ამ პროექტისთვის.
Raspberry Pi და I2C Shield კავშირი
ამისათვის, Raspberry Pi და განათავსეთ I²C ფარი მასზე. ნაზად დააჭირეთ ფარს (იხილეთ სურათი).
სენსორისა და ჟოლოს Pi კავშირი
აიღეთ სენსორი და შეაერთეთ I²C კაბელი მასთან. დარწმუნდით, რომ I²C გამომავალი ყოველთვის უკავშირდება I²C შესასვლელს. იგივე უნდა მოჰყვეს Raspberry Pi- ს, რომელზეც დამონტაჟებულია I²C ფარი. ჩვენ გვაქვს I²C Shield და I²C დამაკავშირებელი კაბელები ჩვენს მხარეს, როგორც ძალიან დიდი უპირატესობა, რადგან ჩვენ მხოლოდ დანამატისა და თამაშის ვარიანტს ვტოვებთ. აღარ არის ქინძისთავები და გაყვანილობის პრობლემა და, შესაბამისად, დაბნეულობა გაქრა. რა შვებაა, უბრალოდ წარმოიდგინე თავი მავთულხლართების ქსელში და მასში მოხვედრა. ასე მარტივად!
შენიშვნა: ყავისფერი მავთული ყოველთვის უნდა დაიცვას Ground (GND) კავშირი ერთი მოწყობილობის გამომავალსა და სხვა მოწყობილობის შეყვანას შორის
ინტერნეტთან დაკავშირება გადამწყვეტია
იმისათვის, რომ ჩვენი პროექტი წარმატებული იყოს, ჩვენ გვჭირდება ინტერნეტი ჩვენი Raspberry Pi– სთვის. ამ შემთხვევაში, თქვენ გაქვთ პარამეტრები, როგორიცაა Ethernet (LAN) კაბელის დაკავშირება. ასევე, როგორც WiFi ადაპტერის გამოყენების ალტერნატიული, მაგრამ შთამბეჭდავი გზა.
ჩართვა ჩართვა
შეაერთეთ მიკრო USB კაბელი Raspberry Pi- ს კვების ბლოკში. ჩართეთ და ვაილა, ჩვენ კარგად ვართ წასასვლელი!
ეკრანთან კავშირი
ჩვენ შეგვიძლია HDMI კაბელი მონიტორთან დავუკავშიროთ, ან ვიყოთ ცოტა ინოვაციურები, რათა გავხადოთ ჩვენი უთავო Pi (-SSH/PuTTY), რაც გვეხმარება დამატებითი ხარჯების შემცირებაში, რადგან ჩვენ რატომღაც ჰობისტები ვართ.
როდესაც ჩვევა იწყებს ფულის ხარჯვას, მას ჰობი ჰქვია
ნაბიჯი 3: ჟოლოს პროგრამირება ჯავაში
ჯავის კოდი Raspberry Pi და MPL3115A2 სენსორისთვის. ის ხელმისაწვდომია ჩვენს Github საცავში.
სანამ კოდზე გადახვალთ, დარწმუნდით, რომ წაიკითხეთ Readme ფაილში მოცემული ინსტრუქციები და ამის მიხედვით დააყენეთ თქვენი Raspberry Pi. ამას მხოლოდ ერთი წუთი დასჭირდება. სიმაღლე გამოითვლება ზეწოლიდან ქვემოთ განტოლების გამოყენებით:
h = 44330.77 {1 - (p / p0) ^ 0.1902632} + OFF_H (Register value)
სადაც p0 = ზღვის დონის წნევა (101326 Pa) და h არის მეტრში. MPL3115A2 იყენებს ამ მნიშვნელობას, ვინაიდან ოფსეტური რეგისტრი განისაზღვრება, როგორც 2 პასკალი თითო LSB- ზე. კოდი აშკარად თქვენს წინაშეა და ის უმარტივესი ფორმაა, რომლის წარმოდგენაც შეგიძლიათ და არ უნდა გქონდეთ პრობლემები.
თქვენ ასევე შეგიძლიათ დააკოპიროთ ამ სენსორის სამუშაო Java კოდი.
// განაწილებულია თავისუფალი ნების ლიცენზიით.// გამოიყენეთ როგორც გინდათ, მოგებით თუ უფასოდ, იმ პირობით, რომ იგი ჯდება მისი ასოცირებული ნაწარმოებების ლიცენზიებში. // MPL3115A2 // ეს კოდი შექმნილია MPL3115A2_I2CS I2C მინი მოდულთან მუშაობისთვის, რომელიც ხელმისაწვდომია ControlEverything.com– დან. //
იმპორტი com.pi4j.io.i2c. I2CBus;
იმპორტი com.pi4j.io.i2c. I2CD მოწყობილობა; იმპორტი com.pi4j.io.i2c. I2C ქარხანა; იმპორტი java.io. IOException;
საზოგადოებრივი კლასის MPL3115A2
{public static void main (სიმებიანი არგები ) ისვრის გამონაკლისს {// შექმენით I2C ავტობუსი I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1); // მიიღეთ I2C მოწყობილობა, MPL3115A2 I2C მისამართი არის 0x60 (96) I2CD მოწყობილობის მოწყობილობა = Bus.getDevice (0x60); // აირჩიეთ საკონტროლო რეგისტრი // აქტიური რეჟიმი, OSR = 128, სიმაღლის რეჟიმის მოწყობილობა. დაწერეთ (0x26, (ბაიტი) 0xB9); // მონაცემების კონფიგურაციის რეგისტრატორის არჩევა // მონაცემთა მზადყოფნის ღონისძიება ჩართულია სიმაღლეზე, წნევაზე, ტემპერატურაზე. დაწერეთ (0x13, (ბაიტი) 0x07); // აირჩიეთ საკონტროლო რეგისტრი // აქტიური რეჟიმი, OSR = 128, სიმაღლის რეჟიმის მოწყობილობა. დაწერეთ (0x26, (ბაიტი) 0xB9); თემა. ძილი (1000);
// წაიკითხეთ მონაცემების 6 ბაიტი 0x00 მისამართიდან (00)
// სტატუსი, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb ბაიტი მონაცემები = ახალი ბაიტი [6]; მოწყობილობა. წაკითხვა (0x00, მონაცემები, 0, 6);
// გადააკეთეთ მონაცემები 20 ბიტად
int tHeight = ((((მონაცემები [1] & 0xFF) * 65536) + ((მონაცემები [2] & 0xFF) * 256) + (მონაცემები [3] & 0xF0)) / 16); int temp = ((მონაცემები [4] * 256) + (მონაცემები [5] & 0xF0)) / 16; ორმაგი სიმაღლე = tHightight / 16.0; ორმაგი cTemp = (temp / 16.0); ორმაგი fTemp = cTemp * 1.8 + 32;
// აირჩიეთ საკონტროლო რეგისტრი
// აქტიური რეჟიმი, OSR = 128, ბარომეტრის რეჟიმი მოწყობილობა. დაწერეთ (0x26, (ბაიტი) 0x39); თემა. ძილი (1000); // წაიკითხეთ მონაცემების 4 ბაიტი მისამართიდან 0x00 (00) // სტატუსი, pres msb1, pres msb, pres lsb მოწყობილობა. წაკითხვა (0x00, მონაცემები, 0, 4);
// გადააკეთეთ მონაცემები 20 ბიტად
int pres = (((მონაცემები [1] & 0xFF) * 65536) + ((მონაცემები [2] & 0xFF) * 256) + (მონაცემები [3] & 0xF0)) / 16; ორმაგი წნევა = (pres / 4.0) / 1000.0; // მონაცემების გამოტანა System.out.printf ეკრანზე ("წნევა: %.2f kPa %n", წნევა); System.out.printf ("სიმაღლე: %.2f m %n", სიმაღლე); System.out.printf ("ტემპერატურა ცელსიუსში: %.2f C %n", cTemp); System.out.printf ("ტემპერატურა ფარენჰეიტში: %.2f F %n", fTemp); }}
ნაბიჯი 4: კოდექსის პრაქტიკულობა (სამუშაო)
ახლა გადმოწერეთ (ან git pull) კოდი და გახსენით იგი Raspberry Pi– ში. გაუშვით ბრძანებები კოდის შედგენისა და ატვირთვისთვის ტერმინალზე და ნახეთ გამომავალი მონიტორზე. რამდენიმე წამის შემდეგ, ის აჩვენებს ყველა პარამეტრს. მას შემდეგ რაც დარწმუნდებით, რომ ყველაფერი შეუფერხებლად მუშაობს, შეგიძლიათ ეს პროექტი უფრო დიდ პროექტად აქციოთ.
ნაბიჯი 5: პროგრამები და მახასიათებლები
MPL3115A2 Precision Altimeter სენსორის საერთო გამოყენება არის ისეთ პროგრამებში, როგორიცაა რუქა (რუქის დახმარება, ნავიგაცია), მაგნიტური კომპასი, ან GPS (GPS მკვდარი გამოთვლა, GPS გაძლიერება საგანგებო სიტუაციებში), მაღალი სიზუსტის ალტიმეტრია, სმარტფონები/ტაბლეტები, პერსონალური ელექტრონიკა ალტიმეტრია და თანამგზავრები (ამინდის სადგურის აღჭურვილობა/პროგნოზირება).
მაგ. ამ სენსორისა და Rasp Pi– ს გამოყენებით თქვენ შეგიძლიათ ააწყოთ ციფრული ვიზუალური ალტიმეტრი, სლაიდევინგის აღჭურვილობის ყველაზე მნიშვნელოვანი ნაწილი, რომელსაც შეუძლია გაზომოთ სიმაღლე, ჰაერის წნევა და ტემპერატურა. თქვენ შეგიძლიათ დაამატოთ ქარის გაზი და სხვა სენსორები, ასე რომ გახადეთ უფრო საინტერესო.
ნაბიჯი 6: დასკვნა
ვინაიდან პროგრამა საოცრად მორგებულია, არსებობს მრავალი საინტერესო გზა, რომლითაც შეგიძლიათ გააფართოვოთ ეს პროექტი და გახადოთ ის კიდევ უკეთესი. მაგალითად, ალტიმეტრი/ინტერფერომეტრი შეიძლება მოიცავდეს ანძებზე დამონტაჟებულ რამდენიმე ალტიმეტრს, რომლებიც მიიღებენ გაზომვებს ერთდროულად, რითაც უზრუნველყოფენ უწყვეტ, ერთ ან მრავალ სიმაღლეზე ფართო ფართობის დაფარვას. ჩვენ გვაქვს საინტერესო ვიდეო გაკვეთილი YouTube– ზე, რომელიც დაგეხმარებათ ამ პროექტის უკეთ გაგებაში.
გირჩევთ:
M5STACK როგორ გამოვხატოთ ტემპერატურა, ტენიანობა და წნევა M5StickC ESP32 Visuino– ს გამოყენებით - ადვილია: 6 ნაბიჯი
M5STACK როგორ გამოვხატოთ ტემპერატურა, ტენიანობა და წნევა M5StickC ESP32– ზე Visuino– ს გამოყენებით - ადვილი გასაკეთებელი: ამ გაკვეთილში ჩვენ ვისწავლით თუ როგორ უნდა დავპროგრამოთ ESP32 M5Stack StickC Arduino IDE– ით და Visuino– ით ტემპერატურის, ტენიანობის და წნევის ჩვენების მიზნით ENV სენსორის გამოყენებით (DHT12, BMP280, BMM150)
სიმაღლე, წნევა და ტემპერატურა ჟოლოს პი გამოყენებით MPL3115A2: 6 ნაბიჯი
სიმაღლე, წნევა და ტემპერატურა ჟოლოს პი გამოყენებით MPL3115A2: საინტერესო ჟღერს. სავსებით შესაძლებელია ამ დროს, როდესაც ჩვენ ყველანი IoT თაობაში შევდივართ. როგორც ელექტრონიკის მომაბეზრებელი, ჩვენ ვთამაშობდით Raspberry Pi– ით და გადავწყვიტეთ შემექმნა საინტერესო პროექტები ამ ცოდნის გამოყენებით. ამ პროექტში ჩვენ გვსურს
გაზომეთ ტემპერატურა და ტენიანობა DHT11 / DHT22 და Arduino– ს გამოყენებით: 4 ნაბიჯი
გაზომეთ ტემპერატურა და ტენიანობა DHT11 / DHT22 და Arduino გამოყენებით: ამ Arduino სახელმძღვანელოში ჩვენ ვისწავლით თუ როგორ გამოიყენოთ DHT11 ან DHT22 სენსორი ტემპერატურისა და ტენიანობის გასაზომად Arduino დაფაზე
Arduino ამინდის სადგური BMP280 -DHT11 გამოყენებით - ტემპერატურა, ტენიანობა და წნევა: 8 ნაბიჯი
Arduino ამინდის სადგური BMP280 -DHT11 გამოყენებით - ტემპერატურა, ტენიანობა და წნევა: ამ სახელმძღვანელოში ჩვენ ვისწავლით თუ როგორ უნდა გავაკეთოთ ამინდის სადგური, რომელიც აჩვენებს ტემპერატურას, ტენიანობას და წნევას LCD ეკრანზე TFT 7735 უყურეთ საჩვენებელ ვიდეოს
გაზომეთ წნევა თქვენი მიკრო საშუალებით: ბიტი: 5 ნაბიჯი (სურათებით)
გაზომეთ წნევა თქვენი მიკრო: ბიტი: ქვემოთ მოცემული ინსტრუქცია აღწერს ადვილად ასაშენებელ და იაფ მოწყობილობას წნევის გაზომვისთვის და ბოილის კანონის დემონსტრირებისთვის მიკრო: ბიტის გამოყენებით BMP280 წნევის/ტემპერატურის სენსორთან ერთად. ვინაიდან ეს შპრიცი/წნევა არის