สารบัญ:
- ขั้นตอนที่ 1: สิ่งที่คุณต้องการ..!
- ขั้นตอนที่ 2: การเชื่อมต่อ:
- ขั้นตอนที่ 3: รหัส:
- ขั้นตอนที่ 4: การใช้งาน:
วีดีโอ: Raspberry Pi - ADXL345 3-Axis Accelerometer Java Tutorial: 4 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
ADXL345 เป็นมาตรความเร่งแบบ 3 แกนที่มีขนาดเล็ก บาง และใช้พลังงานต่ำเป็นพิเศษ พร้อมการวัดความละเอียดสูง (13 บิต) ที่สูงถึง ±16 กรัม ข้อมูลเอาท์พุตดิจิตอลมีรูปแบบเป็นส่วนประกอบสองส่วน 16 บิต และสามารถเข้าถึงได้ผ่านอินเทอร์เฟซดิจิตอล I2 C มันวัดความเร่งคงที่ของแรงโน้มถ่วงในการใช้งานการตรวจจับการเอียง รวมถึงการเร่งความเร็วแบบไดนามิกที่เกิดจากการเคลื่อนไหวหรือการกระแทก ความละเอียดสูง (3.9 มก./LSB) ช่วยให้สามารถวัดการเปลี่ยนแปลงความเอียงได้น้อยกว่า 1.0 ° นี่คือการสาธิตด้วย raspberry pi โดยใช้รหัส java
ขั้นตอนที่ 1: สิ่งที่คุณต้องการ..!
1. ราสเบอร์รี่ปี่
2. ADXL345
3. สายเคเบิล I²C
4. I²C Shield สำหรับ Raspberry Pi
5. สายเคเบิลอีเธอร์เน็ต
ขั้นตอนที่ 2: การเชื่อมต่อ:
ใช้เกราะป้องกัน I2C สำหรับ raspberry pi แล้วค่อยๆ ดันไปบนหมุด gpio ของ raspberry pi
จากนั้นเชื่อมต่อปลายสาย I2C ด้านหนึ่งกับเซ็นเซอร์ ADXL345 และปลายอีกด้านหนึ่งเข้ากับแผงป้องกัน I2C
เชื่อมต่อสายอีเทอร์เน็ตกับ pi หรือคุณสามารถใช้โมดูล WiFi ได้
การเชื่อมต่อแสดงในภาพด้านบน
ขั้นตอนที่ 3: รหัส:
รหัสจาวาสำหรับ ADXL345 สามารถดาวน์โหลดได้จากที่เก็บ GitHub ของเรา - Dcube Store
นี่คือลิงค์สำหรับสิ่งเดียวกัน:
github.com/DcubeTechVentures/ADXL345
เราใช้ไลบรารี pi4j สำหรับโค้ด java ขั้นตอนในการติดตั้ง pi4j บน raspberry pi ได้อธิบายไว้ที่นี่:
pi4j.com/install.html
คุณสามารถคัดลอกรหัสจากที่นี่ได้ดังนี้:
// แจกจ่ายด้วยใบอนุญาตอิสระ
// ใช้มันตามที่คุณต้องการ ไม่ว่าจะมีกำไรหรือฟรี หากเข้ากับใบอนุญาตของงานที่เกี่ยวข้อง
// ADXL345
// รหัสนี้ออกแบบมาเพื่อทำงานกับ ADXL345_I2CS I2C Mini Module ที่มีอยู่ใน Dcube Store
นำเข้า com.pi4j.io.i2c. I2CBus;
นำเข้า com.pi4j.io.i2c. I2CDevice;
นำเข้า com.pi4j.io.i2c. I2CFactory;
นำเข้า java.io. IOException;
คลาสสาธารณะ ADXL345
{
โมฆะคงที่สาธารณะหลัก (สตริง args ) พ่นข้อยกเว้น
{
// สร้างบัส I2C
I2CBus บัส = I2CFactory.getInstance(I2CBus. BUS_1);
// รับอุปกรณ์ I2C ที่อยู่ I2C ของอุปกรณ์คือ 0x53 (83)
อุปกรณ์ I2CDevice = Bus.getDevice(0x53);
// เลือกการลงทะเบียนอัตราแบนด์วิดท์
// โหมดปกติ อัตราข้อมูลออก = 100 Hz
อุปกรณ์.write(0x2C, (ไบต์)0x0A);
// เลือกการลงทะเบียนควบคุมพลังงาน
// ปิดการใช้งานโหมดสลีปอัตโนมัติ
อุปกรณ์.write(0x2D, (ไบต์)0x08);
// เลือก Data format register
// ปิดใช้งานการทดสอบตัวเอง, อินเทอร์เฟซ 4 สาย, ความละเอียดเต็ม, ช่วง = +/-2g
อุปกรณ์.write(0x31, (ไบต์)0x08);
เธรดการนอนหลับ (500);
// อ่านข้อมูลขนาด 6 ไบต์
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
ไบต์ data = ไบต์ใหม่[6];
data[0] = (ไบต์)device.read(0x32);
data[1] = (ไบต์)device.read(0x33);
data[2] = (ไบต์)device.read(0x34);
data[3] = (ไบต์)device.read(0x35);
ข้อมูล[4] = (ไบต์)device.read(0x36);
ข้อมูล[5] = (ไบต์)device.read(0x37);
// แปลงข้อมูลเป็น 10 บิต
int xAccl = ((ข้อมูล[1] & 0x03) * 256 + (ข้อมูล[0] & 0xFF));
ถ้า(xAccl > 511)
{
xAccl -= 1024;
}
int yAccl = ((ข้อมูล[3] & 0x03) * 256 + (ข้อมูล[2] & 0xFF));
ถ้า (yAccl > 511)
{
yAccl -= 1024;
}
int zAccl = ((ข้อมูล[5] & 0x03) * 256 + (ข้อมูล[4] & 0xFF));
ถ้า(zAccl > 511)
{
zAccl -= 1024;
}
// ส่งออกข้อมูลไปที่หน้าจอ
System.out.printf("การเร่งความเร็วในแกน X: %d %n", xAccl);
System.out.printf("การเร่งความเร็วในแกน Y: %d %n", yAccl);
System.out.printf("การเร่งความเร็วในแกน Z: %d %n", zAccl);
}
}
ขั้นตอนที่ 4: การใช้งาน:
ADXL345 เป็นมาตรความเร่งแบบ 3 แกนขนาดเล็ก บาง ใช้พลังงานต่ำเป็นพิเศษ ซึ่งสามารถใช้ในเครื่องโทรศัพท์ อุปกรณ์ทางการแพทย์ ฯลฯ แอปพลิเคชันนี้ยังรวมถึงอุปกรณ์เล่นเกมและอุปกรณ์ชี้ตำแหน่ง เครื่องมือวัดทางอุตสาหกรรม อุปกรณ์นำทางส่วนบุคคล และการป้องกันฮาร์ดดิสก์ไดรฟ์ (HDD)
แนะนำ:
Raspberry Pi - TMD26721 Infrared Digital Proximity Detector Java Tutorial: 4 ขั้นตอน
Raspberry Pi - TMD26721 Infrared Digital Proximity Detector Java Tutorial: TMD26721 เป็นเครื่องตรวจจับความใกล้ชิดแบบดิจิตอลอินฟราเรดซึ่งมีระบบตรวจจับความใกล้ชิดที่สมบูรณ์แบบและตรรกะอินเทอร์เฟซแบบดิจิทัลในโมดูลยึดพื้นผิว 8 พินเดียว การตรวจจับความใกล้ชิดรวมถึงสัญญาณต่อสัญญาณรบกวนที่ดีขึ้นและ ความแม่นยำ. โปร
Raspberry Pi MCP9803 Temperature Sensor Java Tutorial: 4 ขั้นตอน
Raspberry Pi MCP9803 Temperature Sensor Java Tutorial: MCP9803 เป็นเซ็นเซอร์อุณหภูมิความแม่นยำสูง 2 สาย สิ่งเหล่านี้รวมเข้ากับการลงทะเบียนที่ผู้ใช้ตั้งโปรแกรมได้ซึ่งอำนวยความสะดวกในการใช้งานการตรวจวัดอุณหภูมิ เซ็นเซอร์นี้เหมาะสำหรับระบบตรวจสอบอุณหภูมิแบบหลายโซนที่มีความซับซ้อนสูง ที่นี่
Raspberry Pi MCP9805 Temperature Sensor Java Tutorial: 4 ขั้นตอน
Raspberry Pi MCP9805 Temperature Sensor Java Tutorial: MCP9805 เป็นโมดูลหน่วยความจำเซ็นเซอร์อุณหภูมิแบบดิจิตอล มันถูกรวมเข้ากับรีจิสเตอร์ที่ตั้งโปรแกรมได้ของผู้ใช้ซึ่งให้ความยืดหยุ่นสำหรับการใช้งานการตรวจจับอุณหภูมิ เซ็นเซอร์นี้ได้รับการออกแบบเพื่อรวมเข้ากับโมดูลหน่วยความจำแพลตฟอร์มโมบายเ
Raspberry Pi HTS221 เซ็นเซอร์ความชื้นสัมพัทธ์และอุณหภูมิ Java Tutorial: 4 ขั้นตอน
Raspberry Pi HTS221 เซ็นเซอร์ความชื้นสัมพัทธ์และอุณหภูมิ Java Tutorial: HTS221 เป็นเซ็นเซอร์ดิจิตอล capacitive ขนาดกะทัดรัดพิเศษสำหรับความชื้นสัมพัทธ์และอุณหภูมิ ประกอบด้วยองค์ประกอบการตรวจจับและวงจรรวมเฉพาะแอปพลิเคชันสัญญาณผสม (ASIC) เพื่อให้ข้อมูลการวัดผ่าน
Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Java Tutorial: 4 ขั้นตอน
Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Java Tutorial: MPL3115A2 ใช้เซ็นเซอร์ความดัน MEMS พร้อมอินเทอร์เฟซ I2C เพื่อให้ข้อมูลความดัน/ระดับความสูงและอุณหภูมิที่แม่นยำ เอาต์พุตเซ็นเซอร์ถูกแปลงเป็นดิจิทัลด้วย ADC 24 บิตความละเอียดสูง การประมวลผลภายในลบงานค่าตอบแทนออกจาก