
2025 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2025-01-23 14:50


MPL3115A2 იყენებს MEMS წნევის სენსორს I2C ინტერფეისით, რათა უზრუნველყოს წნევის/სიმაღლისა და ტემპერატურის ზუსტი მონაცემები. სენსორის გამოსასვლელი ციფრულდება მაღალი რეზოლუციის 24-ბიტიანი ADC საშუალებით. შიდა დამუშავება ხსნის კომპენსაციის ამოცანებს მასპინძელი MCU სისტემიდან. მას შეუძლია აღმოაჩინოს ცვლილება მხოლოდ 0.05 kPa– ში, რაც უდრის სიმაღლის 0.3 მ ცვლილებას. აქ არის მისი დემონსტრირება ჟოლოს pi გამოყენებით java კოდი.
ნაბიჯი 1: რაც გჭირდებათ..

1. ჟოლო პი
2. MPL3115A2
3. I²C კაბელი
4. I²C ფარი ჟოლოს პიისთვის
5. Ethernet კაბელი
ნაბიჯი 2: კავშირები:




აიღეთ I2C ფარი ჟოლოსთვის და ნაზად წაუსვით ჟოლოს პი გპიოს ქინძისთავებზე.
შემდეგ შეაერთეთ I2C კაბელის ერთი ბოლო MPL3115A2 სენსორთან და მეორე ბოლო I2C ფარს.
ასევე დაუკავშირეთ Ethernet კაბელი pi- ს ან შეგიძლიათ გამოიყენოთ WiFi მოდული.
კავშირები ნაჩვენებია ზემოთ მოცემულ სურათზე.
ნაბიჯი 3: კოდი:

Java კოდი MPL3115A2 შეგიძლიათ ჩამოტვირთოთ ჩვენი github საცავიდან- DCUBE Store.
აქ არის იგივე ბმული:
github.com/DcubeTechVentures/MPL3115A2/tree/master/Java
ჩვენ გამოვიყენეთ pi4j ბიბლიოთეკა java კოდისთვის, ჟოლოს პიზე pi4j– ის დაყენების ნაბიჯები აღწერილია აქ:
pi4j.com/install.html
თქვენ ასევე შეგიძლიათ დააკოპიროთ კოდი აქედან, იგი მოცემულია შემდეგნაირად:
// განაწილებულია თავისუფალი ნების ლიცენზიით.
// გამოიყენეთ იგი ნებისმიერი ფორმით, როგორც გსურთ, მოგებით ან უფასოდ, იმ პირობით, რომ იგი ჯდება ლიცენზიებთან დაკავშირებული სამუშაოებისათვის.
// MPL3115A2
// ეს კოდი შექმნილია MPL3115A2_I2CS I2C მინი მოდულთან მუშაობისთვის
იმპორტი com.pi4j.io.i2c. I2CBus;
იმპორტი com.pi4j.io.i2c. I2CD მოწყობილობა;
იმპორტი com.pi4j.io.i2c. I2C ქარხანა;
იმპორტი java.io. IOException;
საზოგადოებრივი კლასის MPL3115A2
{
public static void main (სიმებიანი args ) ისვრის გამონაკლისს
{
// I2C ავტობუსის შექმნა
I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1);
// მიიღეთ I2C მოწყობილობა, MPL3115A2 I2C მისამართი არის 0x60 (96)
I2CD მოწყობილობის მოწყობილობა = Bus.getDevice (0x60);
// აირჩიეთ საკონტროლო რეგისტრი
// აქტიური რეჟიმი, OSR = 128, ალტიმეტრის რეჟიმი
device.write (0x26, (ბაიტი) 0xB9);
// მონაცემთა კონფიგურაციის რეგისტრატორის არჩევა
// მონაცემებისთვის მზად ღონისძიება ჩართულია სიმაღლეზე, წნევაზე, ტემპერატურაზე
device.write (0x13, (byte) 0x07);
// აირჩიეთ საკონტროლო რეგისტრი
// აქტიური რეჟიმი, OSR = 128, ალტიმეტრის რეჟიმი
device.write (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: პროგრამები:
MPL3115A2– ის სხვადასხვა პროგრამა მოიცავს მაღალი სიზუსტის ალტიმეტრიას, სმარტფონებს/ტაბლეტებს, პერსონალურ ელექტრონიკას ალტიმეტრიას და სხვა. ის ასევე შეიძლება ჩართული იყოს GPS Dead Reckoning– ში, GPS– ის გაძლიერებაში გადაუდებელ სამსახურში, რუქის დახმარებაში, ნავიგაციაში, ასევე ამინდის სადგურის აღჭურვილობაში.
გირჩევთ:
Raspberry Pi - ADXL345 3 -Axis Accelerometer Java Tutorial: 4 Steps

Raspberry Pi-ADXL345 3 ღერძიანი ამაჩქარებელი ჯავა სამეურვეო პროგრამა: ADXL345 არის პატარა, თხელი, ულტრა დაბალი სიმძლავრის, 3 ღერძიანი ამაჩქარებელი მაღალი გარჩევადობის (13 ბიტიანი) გაზომვით ± 16 გ-მდე. ციფრული გამომავალი მონაცემები ფორმატირებულია, როგორც 16 ბიტიანი ორეული და არის ხელმისაწვდომი I2 C ციფრული ინტერფეისის საშუალებით. ზომავს
Raspberry Pi - BH1715 Digital Ambient Light Sensor Python Tutorial: 4 Steps

Raspberry Pi - BH1715 ციფრული გარემოს სინათლის სენსორი Python სამეურვეო პროგრამა: BH1715 არის ციფრული გარე განათების სენსორი I²C ავტობუსის ინტერფეისით. BH1715 ჩვეულებრივ გამოიყენება გარე განათების მონაცემების მოსაპოვებლად, მობილური მოწყობილობებისთვის LCD და კლავიატურის შუქნიშნის სიმძლავრის შესაცვლელად. ეს მოწყობილობა გთავაზობთ 16 ბიტიან გარჩევადობას და დამატებით
Raspberry Pi - TSL45315 Ambient Light Sensor Python Tutorial: 4 Steps

Raspberry Pi - TSL45315 Ambient Light Sensor Python Tutorial: TSL45315 არის ციფრული გარე განათების სენსორი. იგი უახლოვდება ადამიანის თვალის რეაქციას სხვადასხვა განათების პირობებში. მოწყობილობებს აქვთ სამი შერჩევითი ინტეგრაციის დრო და უზრუნველყოფენ პირდაპირ 16 ბიტიან ლუქს გამომუშავებას I2C ავტობუსის ინტერფეისის საშუალებით. მოწყობილობა თანამშრომლობს
Raspberry Pi A1332 Precision Hall - Effect Angle Sensor Java Tutorial: 4 Steps

Raspberry Pi A1332 Precision Hall - Effect Angle Sensor Java Tutorial: A1332 არის 360 ° უკონტაქტო მაღალი რეზოლუციის პროგრამირებადი მაგნიტური კუთხის პოზიციის სენსორი. ის განკუთვნილია ციფრული სისტემებისთვის I2C ინტერფეისის გამოყენებით. იგი აგებულია წრიული ვერტიკალური დარბაზის (CVH) ტექნოლოგიაზე და პროგრამირებადი მიკროპროცესორული სიგნალის საფუძველზე
Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Java Tutorial: 4 Steps

Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Java Tutorial: MMA8452Q არის ჭკვიანი, დაბალი სიმძლავრის, სამი ღერძიანი, capacitive, micromachined acelerometer with 12 bit of resolution. მოქნილი მომხმარებლის პროგრამირებადი ვარიანტები მოცემულია ამაჩქარებელში ჩამონტაჟებული ფუნქციების დახმარებით, კონფიგურირებადი ორი შეწყვეტისთვის