Სარჩევი:

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: 4 Steps

ვიდეო: 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: 4 Steps
ვიდეო: Raspberry Pi MMA8452Q 3-Axis 12-bit/8-bit Digital Accelerometer Java Tutorial 2024, ნოემბერი
Anonim
Image
Image

MMA8452Q არის ჭკვიანი, დაბალი სიმძლავრის, სამ ღერძიანი, capacitive, micromachined acelerometer with 12 bit of resolution. მოქნილი მომხმარებლის პროგრამირებადი პარამეტრები მოცემულია ამაჩქარებელში ჩამონტაჟებული ფუნქციების დახმარებით, კონფიგურირებადი ორი შეწყვეტის ქინძისთავზე. მას აქვს მომხმარებლის მიერ შერჩეული სრული მასშტაბები ± 2 გ/± 4 გ/g 8 გ მაღალი გამავლობის ფილტრის გაფილტრული მონაცემებით, ასევე რეალურ დროში არსებული არაფილტრირებული მონაცემებით. აქ არის მისი დემონსტრირება ჟოლოს pi გამოყენებით java კოდი.

ნაბიჯი 1: რაც გჭირდებათ..

Რა გჭირდება..!!
Რა გჭირდება..!!

1. ჟოლო პი

2. MMA8452Q

3. I²C კაბელი

4. I²C ფარი ჟოლოს პიისთვის

5. Ethernet კაბელი

ნაბიჯი 2: კავშირები:

კავშირები
კავშირები
კავშირები
კავშირები
კავშირები
კავშირები
კავშირები
კავშირები

აიღეთ I2C ფარი ჟოლოსთვის და ნაზად წაუსვით ჟოლოს პი გპიოს ქინძისთავებზე.

შემდეგ დააკავშირეთ I2C კაბელის ერთი ბოლო MMA8452Q სენსორთან და მეორე ბოლო I2C ფარსთან.

ასევე დაუკავშირეთ Ethernet კაბელი pi- ს ან შეგიძლიათ გამოიყენოთ WiFi მოდული.

კავშირები ნაჩვენებია ზემოთ მოცემულ სურათზე.

ნაბიჯი 3: კოდი:

კოდი
კოდი

JMA კოდი MMA8452Q შეგიძლიათ ჩამოტვირთოთ ჩვენი GitHub საცავიდან- Dcube Store

აქ არის იგივე ბმული:

github.com/DcubeTechVentures/MMA8452Q

ჩვენ გამოვიყენეთ pi4j ბიბლიოთეკა java კოდისთვის, ჟოლოს პიზე pi4j– ის დაყენების ნაბიჯები აღწერილია აქ:

pi4j.com/install.html

თქვენ ასევე შეგიძლიათ დააკოპიროთ კოდი აქედან, იგი მოცემულია შემდეგნაირად:

// განაწილებულია თავისუფალი ნების ლიცენზიით.

// გამოიყენეთ იგი ნებისმიერი ფორმით, როგორც გსურთ, მოგებით ან უფასოდ, იმ პირობით, რომ იგი ჯდება ლიცენზიებთან დაკავშირებული სამუშაოებისათვის.

// MMA8452Q

// ეს კოდი შექმნილია MMA8452Q_I2CS I2C მინი მოდულთან მუშაობისთვის, რომელიც ხელმისაწვდომია Dcube Store– ში.

იმპორტი com.pi4j.io.i2c. I2CBus;

იმპორტი com.pi4j.io.i2c. I2CD მოწყობილობა;

იმპორტი com.pi4j.io.i2c. I2C ქარხანა;

იმპორტი java.io. IOException;

საჯარო კლასი MMA8452Q

{

public static void main (სიმებიანი args ) ისვრის გამონაკლისს

{

// I2C ავტობუსის შექმნა

I2CBus ავტობუსი = I2CFactory.getInstance (I2CBus. BUS_1);

// მიიღეთ I2C მოწყობილობა, MMA8452Q I2C მისამართი არის 0x1C (28)

I2CD მოწყობილობის მოწყობილობა = bus.getDevice (0x1C);

// ლოდინის ბრძანების გაგზავნა

მოწყობილობა. დაწერეთ (0x2A, (ბაიტი) 0x00);

// აქტიური ბრძანების გაგზავნა

მოწყობილობა. დაწერეთ (0x2A, (ბაიტი) 0x01);

// დიაპაზონის დაყენება +/- 2 გ-მდე

device.write (0x0E, (byte) 0x00);

თემა. ძილი (500);

// წაიკითხეთ მონაცემების 7 ბაიტი მისამართიდან 0x00 (0)

// სტატუსი, X msb, X lsb, Y msb, Y lsb, Z msb, Z lsb

ბაიტი მონაცემები = ახალი ბაიტი [7];

მოწყობილობა. წაკითხვა (0x00, მონაცემები, 0, 7);

// კონვერტაციის ღირებულებები

int xAccl = (((მონაცემები [1] & 0xFF) * 256) + (მონაცემები [2] & 0xFF)) / 16;

თუ (xAccl> 2047)

{

xAccl = xAccl - 4096;

}

int yAccl = (((მონაცემები [3] & 0xFF) * 256) + (მონაცემები [4] & 0xFF)) / 16;

თუ (yAccl> 2047)

{

yAccl = yAccl - 4096;

}

int zAccl = (((მონაცემები [5] & 0xFF) * 256) + (მონაცემები [6] & 0xFF)) / 16;

თუ (zAccl> 2047)

{

zAccl = zAccl - 4096;

}

// მონაცემების გამოტანა ეკრანზე

System.out.printf ("X-Axis: %d %n", xAccl);

System.out.printf ("Y-Axis: %d %n", yAccl);

System.out.printf ("Z-Axis: %d %n", zAccl);

}

}

ნაბიჯი 4: პროგრამები:

MMA8452Q– ს აქვს სხვადასხვა პროგრამა, რომელიც მოიცავს ელექტრონული კომპასის პროგრამებს, სტატიკური ორიენტაციის გამოვლენას, რომელიც მოიცავს პორტრეტს/ლანდშაფტს, ზემოთ/ქვემოთ, მარცხნივ/მარჯვნივ, უკანა/წინა პოზიციის იდენტიფიკაციას, ნოუთბუქს, ელექტრონულ მკითხველს და ლეპტოპს Tumble and Freefall Detection, რეალურ დროში ორიენტაციის გამოვლენა, მათ შორის ვირტუალური რეალობა და სათამაშო 3D მომხმარებლის პოზიციის გამოხმაურება, რეალურ დროში აქტივობის ანალიზი, როგორიცაა ფეტომეტრის საფეხურის დათვლა, მყარი დისკისთვის ვარდნის ვარდნის გამოვლენის გამოვლენა, მკვდარი ანგარიშის GPS სარეზერვო საშუალება და მრავალი სხვა.

გირჩევთ: