สารบัญ:
- ขั้นตอนที่ 1: สิ่งที่คุณต้องการ..!
- ขั้นตอนที่ 2: การเชื่อมต่อ:
- ขั้นตอนที่ 3: รหัส:
- ขั้นตอนที่ 4: การใช้งาน:
วีดีโอ: Raspberry Pi - ADXL345 3-Axis Accelerometer Python Tutorial: 4 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:02
ADXL345 เป็นมาตรความเร่งแบบ 3 แกนที่มีขนาดเล็ก บาง และใช้พลังงานต่ำเป็นพิเศษ พร้อมการวัดความละเอียดสูง (13 บิต) ที่สูงถึง ±16 กรัม ข้อมูลเอาท์พุตดิจิตอลมีรูปแบบเป็นส่วนประกอบสองส่วน 16 บิต และสามารถเข้าถึงได้ผ่านอินเทอร์เฟซดิจิตอล I2 C มันวัดความเร่งคงที่ของแรงโน้มถ่วงในการใช้งานการตรวจจับการเอียง รวมถึงการเร่งความเร็วแบบไดนามิกที่เกิดจากการเคลื่อนไหวหรือการกระแทก ความละเอียดสูง (3.9 มก./LSB) ช่วยให้สามารถวัดการเปลี่ยนแปลงความเอียงได้น้อยกว่า 1.0 ° นี่คือการสาธิตด้วย raspberry pi โดยใช้รหัส python
ขั้นตอนที่ 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..
เราใช้ไลบรารี SMBus สำหรับโค้ด python ขั้นตอนในการติดตั้ง SMBus บน raspberry pi ได้อธิบายไว้ที่นี่:
pypi.python.org/pypi/smbus-cffi/0.5.1
คุณสามารถคัดลอกรหัสจากที่นี่ได้ดังนี้:
# จัดจำหน่ายด้วยใบอนุญาตอิสระ
# ใช้งานตามที่คุณต้องการ ไม่ว่าจะมีกำไรหรือฟรี หากเข้ากับใบอนุญาตของงานที่เกี่ยวข้อง
# ADXL345
# รหัสนี้ออกแบบมาเพื่อทำงานร่วมกับ ADXL345_I2CS I2C Mini Module ที่มีอยู่ใน Dcube Store
นำเข้า smbus
เวลานำเข้า
# รับรถบัส I2C
รถบัส = smbus. SMBus(1)
# ADXL345 ที่อยู่ 0x53 (83)
# เลือกการลงทะเบียนอัตราแบนด์วิดท์, 0x2C(44)# 0x0A(10) โหมดปกติ, อัตราข้อมูลเอาท์พุต = 100 Hz
bus.write_byte_data(0x53, 0x2C, 0x0A)
# ADXL345 ที่อยู่ 0x53 (83)
# เลือกรีจิสเตอร์ควบคุมกำลัง 0x2D(45)
# 0x08(08) ปิดใช้งานการนอนหลับอัตโนมัติ
bus.write_byte_data(0x53, 0x2D, 0x08)
# ADXL345 ที่อยู่ 0x53 (83)
# เลือกรูปแบบข้อมูลลงทะเบียน 0x31 (49)
# 0x08(08) ปิดใช้งานการทดสอบตัวเอง, อินเทอร์เฟซ 4 สาย
# ความละเอียดเต็มที่ ช่วง = +/-2g
bus.write_byte_data(0x53, 0x31, 0x08)
เวลานอน(0.5)
# ADXL345 ที่อยู่ 0x53 (83)
# อ่านข้อมูลย้อนหลังตั้งแต่ 0x32 (50), 2 ไบต์
# แกน X LSB, แกน X MSB
data0 = bus.read_byte_data(0x53, 0x32)
data1 = bus.read_byte_data(0x53, 0x33)
# แปลงข้อมูลเป็น 10 บิต
xAccl = ((data1 & 0x03) * 256) + data0
ถ้า xAccl > 511:
xAccl -= 1024
# ADXL345 ที่อยู่ 0x53 (83)
# อ่านข้อมูลย้อนหลังตั้งแต่ 0x34 (52), 2 ไบต์
# แกน Y LSB, แกน Y MSB
data0 = bus.read_byte_data(0x53, 0x34)
data1 = bus.read_byte_data(0x53, 0x35)
# แปลงข้อมูลเป็น 10 บิต
yAccl = ((data1 & 0x03) * 256) + data0
ถ้า yAccl > 511:
yAccl -= 1024
# ADXL345 ที่อยู่ 0x53 (83)
# อ่านข้อมูลย้อนหลังจาก 0x36 (54), 2 ไบต์
# แกน Z LSB, แกน Z MSB
data0 = bus.read_byte_data(0x53, 0x36)
data1 = bus.read_byte_data(0x53, 0x37)
# แปลงข้อมูลเป็น 10 บิต
zAccl = ((data1 & 0x03) * 256) + data0
ถ้า zAccl > 511:
zAccl -= 1024
# ส่งออกข้อมูลไปยังหน้าจอ
พิมพ์ "ความเร่งในแกน X: %d" %xAccl
พิมพ์ "ความเร่งในแกน Y: %d" %yAccl
พิมพ์ "ความเร่งในแกน Z: %d" %zAccl
ขั้นตอนที่ 4: การใช้งาน:
ADXL345 เป็นมาตรความเร่งแบบ 3 แกนขนาดเล็ก บาง ใช้พลังงานต่ำเป็นพิเศษ ซึ่งสามารถใช้ในเครื่องโทรศัพท์ อุปกรณ์ทางการแพทย์ ฯลฯ แอปพลิเคชันนี้ยังรวมถึงอุปกรณ์เล่นเกมและอุปกรณ์ชี้ตำแหน่ง เครื่องมือวัดทางอุตสาหกรรม อุปกรณ์นำทางส่วนบุคคล และการป้องกันฮาร์ดดิสก์ไดรฟ์ (HDD)
แนะนำ:
Raspberry Pi SHT25 Humidity & Temperature Sensor Python Tutorial: 4 ขั้นตอน
Raspberry Pi SHT25 Humidity & Temperature Sensor Python Tutorial: SHT25 I2C Humidity and Temperature Sensor ±1.8%RH ±0.2°C I2C Mini Module. เซ็นเซอร์ความชื้นและอุณหภูมิความแม่นยำสูง SHT25 ได้กลายเป็นมาตรฐานอุตสาหกรรมในแง่ของฟอร์มแฟกเตอร์และความชาญฉลาด โดยให้สัญญาณเซ็นเซอร์แบบลิเนียร์ที่ปรับเทียบแล้ว
Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: 4 ขั้นตอน
Raspberry Pi - MPL3115A2 Precision Altimeter Sensor Python Tutorial: MPL3115A2 ใช้เซ็นเซอร์ความดัน MEMS พร้อมอินเทอร์เฟซ I2C เพื่อให้ข้อมูลความดัน/ระดับความสูงและอุณหภูมิที่แม่นยำ เอาต์พุตเซ็นเซอร์ถูกแปลงเป็นดิจิทัลด้วย ADC 24 บิตความละเอียดสูง การประมวลผลภายในลบงานค่าตอบแทนออกจาก
Raspberry Pi - BH1715 Digital Ambient Light Sensor Python Tutorial: 4 ขั้นตอน
Raspberry Pi - BH1715 Digital Ambient Light Sensor Python Tutorial: BH1715 เป็นเซ็นเซอร์วัดแสงโดยรอบแบบดิจิตอลพร้อมอินเทอร์เฟซบัสI²C โดยทั่วไปแล้ว BH1715 จะใช้เพื่อรับข้อมูลแสงแวดล้อมสำหรับการปรับไฟแบ็คไลท์ LCD และแผงปุ่มกดสำหรับอุปกรณ์มือถือ อุปกรณ์นี้มีความละเอียด 16 บิตและส่วนเสริม
Raspberry Pi - HIH6130 I2C Humidity & Temperature Sensor Python Tutorial: 4 ขั้นตอน
Raspberry Pi - HIH6130 I2C Humidity & Temperature Sensor Python Tutorial: HIH6130 เป็นเซ็นเซอร์ความชื้นและอุณหภูมิพร้อมเอาต์พุตดิจิตอล เซ็นเซอร์เหล่านี้ให้ระดับความแม่นยำ ±4% RH ด้วยความเสถียรในระยะยาวระดับแนวหน้าของอุตสาหกรรม I2C ดิจิทัลที่ชดเชยอุณหภูมิอย่างแท้จริง ความน่าเชื่อถือระดับแนวหน้าของอุตสาหกรรม ประสิทธิภาพการใช้พลังงาน
Raspberry Pi MCP9808 Temperature Sensor Python Tutorial: 4 ขั้นตอน
Raspberry Pi MCP9808 Temperature Sensor Python Tutorial: MCP9808 เป็นเซ็นเซอร์อุณหภูมิดิจิตอลที่มีความแม่นยำสูง± 0.5 ° C I2C mini module สิ่งเหล่านี้รวมเข้ากับการลงทะเบียนที่ผู้ใช้ตั้งโปรแกรมได้ซึ่งอำนวยความสะดวกในการใช้งานการตรวจวัดอุณหภูมิ เซ็นเซอร์อุณหภูมิความแม่นยำสูง MCP9808 ได้กลายเป็นอุตสาหกรรม