Სარჩევი:

Raspberry Pi– ს გამოყენებით, გაზომეთ სიმაღლე, წნევა და ტემპერატურა MPL3115A2– ით: 6 ნაბიჯი
Raspberry Pi– ს გამოყენებით, გაზომეთ სიმაღლე, წნევა და ტემპერატურა MPL3115A2– ით: 6 ნაბიჯი

ვიდეო: Raspberry Pi– ს გამოყენებით, გაზომეთ სიმაღლე, წნევა და ტემპერატურა MPL3115A2– ით: 6 ნაბიჯი

ვიდეო: Raspberry Pi– ს გამოყენებით, გაზომეთ სიმაღლე, წნევა და ტემპერატურა MPL3115A2– ით: 6 ნაბიჯი
ვიდეო: გადააქციეთ თქვენი Raspberry Pico Mitsubishi FX1N PLC-ზე 2024, ნოემბერი
Anonim
Image
Image
შეუცვლელი აღჭურვილობა ჩვენ გვჭირდება
შეუცვლელი აღჭურვილობა ჩვენ გვჭირდება

იცოდე რას ფლობ და იცი რატომ ფლობ მას

ეს დამაინტრიგებელია. ჩვენ ვცხოვრობთ ინტერნეტის ავტომატიზაციის ეპოქაში, რადგან ის იძირება ახალი პროგრამების პლედორში. როგორც კომპიუტერისა და ელექტრონიკის მოყვარულები, ჩვენ ბევრს ვსწავლობთ 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: ჟოლოს პროგრამირება ჯავაში

ჟოლო Pi პროგრამირება ჯავაში
ჟოლო Pi პროგრამირება ჯავაში

ჯავის კოდი 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– ზე, რომელიც დაგეხმარებათ ამ პროექტის უკეთ გაგებაში.

გირჩევთ: