สารบัญ:

การวัดความเร่งโดยใช้ H3LIS331DL และ Raspberry Pi: 4 ขั้นตอน
การวัดความเร่งโดยใช้ H3LIS331DL และ Raspberry Pi: 4 ขั้นตอน

วีดีโอ: การวัดความเร่งโดยใช้ H3LIS331DL และ Raspberry Pi: 4 ขั้นตอน

วีดีโอ: การวัดความเร่งโดยใช้ H3LIS331DL และ Raspberry Pi: 4 ขั้นตอน
วีดีโอ: Product Showcase: H3LIS331DL Triple Axis Accelerometer Breakout 2024, พฤศจิกายน
Anonim
Image
Image

H3LIS331DL เป็นเครื่องวัดความเร่งเชิงเส้นแบบ 3 แกนประสิทธิภาพสูงที่ใช้พลังงานต่ำซึ่งเป็นของตระกูล "นาโน" พร้อมอินเทอร์เฟซแบบอนุกรม I²C แบบดิจิตอล H3LIS331DL มีสเกลแบบเต็มที่ผู้ใช้สามารถเลือกได้ที่ ±100g/±200g/±400g และสามารถวัดความเร่งด้วยอัตราข้อมูลเอาต์พุตตั้งแต่ 0.5 Hz ถึง 1 kHz H3LIS331DL รับประกันว่าจะทำงานในช่วงอุณหภูมิที่ขยายได้ตั้งแต่ -40 °C ถึง +85 °C

ในบทช่วยสอนนี้ เราจะสาธิตการเชื่อมต่อ H3LIS331DL กับ Raspberry Pi โดยใช้ python เป็นภาษาโปรแกรม

ขั้นตอนที่ 1: ฮาร์ดแวร์ที่จำเป็น:

ฮาร์ดแวร์ที่จำเป็น
ฮาร์ดแวร์ที่จำเป็น
ฮาร์ดแวร์ที่จำเป็น
ฮาร์ดแวร์ที่จำเป็น
ฮาร์ดแวร์ที่จำเป็น
ฮาร์ดแวร์ที่จำเป็น

วัสดุที่เราต้องการเพื่อให้บรรลุเป้าหมายประกอบด้วยส่วนประกอบฮาร์ดแวร์ต่อไปนี้:

1. H3LIS331DL

2. ราสเบอร์รี่ปี่

3. สายเคเบิล I2C

4. I2C Shield สำหรับราสเบอร์รี่ pi

5. สายเคเบิลอีเธอร์เน็ต

ขั้นตอนที่ 2: การเชื่อมต่อฮาร์ดแวร์:

การเชื่อมต่อฮาร์ดแวร์
การเชื่อมต่อฮาร์ดแวร์
การเชื่อมต่อฮาร์ดแวร์
การเชื่อมต่อฮาร์ดแวร์

ส่วนการเชื่อมต่อฮาร์ดแวร์โดยทั่วไปจะอธิบายการเชื่อมต่อสายไฟที่จำเป็นระหว่างเซ็นเซอร์และราสเบอร์รี่ pi ตรวจสอบให้แน่ใจว่าการเชื่อมต่อถูกต้องเป็นสิ่งจำเป็นพื้นฐานในขณะที่ทำงานกับระบบใด ๆ สำหรับเอาต์พุตที่ต้องการ ดังนั้น การเชื่อมต่อที่จำเป็นมีดังนี้:

H3LIS331DL จะทำงานบน I2C นี่คือตัวอย่างไดอะแกรมการเดินสาย ซึ่งสาธิตวิธีเชื่อมต่อแต่ละอินเทอร์เฟซของเซ็นเซอร์

นอกกรอบ บอร์ดได้รับการกำหนดค่าสำหรับอินเทอร์เฟซ I2C ดังนั้นเราขอแนะนำให้ใช้การเชื่อมต่อนี้หากคุณไม่เชื่อเรื่องพระเจ้า สิ่งที่คุณต้องมีคือสี่สาย!

ต้องใช้พิน Vcc, Gnd, SCL และ SDA เพียงสี่การเชื่อมต่อเท่านั้น และเชื่อมต่อด้วยสายเคเบิล I2C

การเชื่อมต่อเหล่านี้แสดงให้เห็นในภาพด้านบน

ขั้นตอนที่ 3: รหัส Python สำหรับการวัดการเร่งความเร็ว:

รหัส Python สำหรับการวัดการเร่งความเร็ว
รหัส Python สำหรับการวัดการเร่งความเร็ว

ข้อดีของการใช้ raspberry pi คือ ให้ความยืดหยุ่นของภาษาโปรแกรมที่คุณต้องการตั้งโปรแกรมบอร์ดเพื่อเชื่อมต่อกับเซ็นเซอร์ ใช้ประโยชน์จากข้อได้เปรียบของบอร์ดนี้ เรากำลังสาธิตการเขียนโปรแกรมในไพ ธ อนที่นี่ Python เป็นหนึ่งในภาษาโปรแกรมที่ง่ายที่สุดพร้อมไวยากรณ์ที่ง่ายที่สุด รหัสหลามสำหรับ H3LIS331DL สามารถดาวน์โหลดได้จากชุมชน github ของเราที่ DCUBE Store

เพื่อความสะดวกของผู้ใช้ เรากำลังอธิบายรหัสที่นี่ด้วย:

ในขั้นแรกของการเข้ารหัส คุณต้องดาวน์โหลดไลบรารี SMBus ในกรณีของ python เนื่องจากไลบรารีนี้รองรับฟังก์ชันที่ใช้ในโค้ด ดังนั้น หากต้องการดาวน์โหลดห้องสมุด คุณสามารถไปที่ลิงก์ต่อไปนี้:

pypi.python.org/pypi/smbus-cffi/0.5.1

คุณสามารถคัดลอกรหัสการทำงานได้จากที่นี่ด้วย:

นำเข้า smbus

เวลานำเข้า

# รับ I2C busbus = smbus. SMBus(1)

# H3LIS331DL ที่อยู่ 0x18(24)

# เลือกรีจิสเตอร์ควบคุม 1, 0x20(32)

# 0x27 (39) โหมดเปิดเครื่อง, อัตราการส่งข้อมูล = 50 Hz# X, Y, เปิดใช้งานแกน Z

bus.write_byte_data(0x18, 0x20, 0x27)

# H3LIS331DL ที่อยู่ 0x18 (24) # เลือกควบคุมการลงทะเบียน 4, 0x23 (35)

# 0x00(00) การอัปเดตอย่างต่อเนื่อง, การเลือกขนาดเต็ม = +/-100g

bus.write_byte_data(0x18, 0x23, 0x00)

เวลานอน(0.5)

# H3LIS331DL ที่อยู่ 0x18(24)

# อ่านข้อมูลย้อนหลังตั้งแต่ 0x28 (40), 2 ไบต์

# แกน X LSB, แกน X MSB

data0 = bus.read_byte_data(0x18, 0x28)

data1 = bus.read_byte_data(0x18, 0x29)

# แปลง dataxAccl = data1 * 256 + data0

ถ้า xAccl > 32767:

xAccl -= 65536

# H3LIS331DL ที่อยู่ 0x18(24)

# อ่านข้อมูลย้อนหลังจาก 0x2A (42), 2 ไบต์

# แกน Y LSB, แกน Y MSB

data0 = bus.read_byte_data(0x18, 0x2A)

data1 = bus.read_byte_data(0x18, 0x2B)

#แปลงข้อมูล

yAccl = data1 * 256 + data0

ถ้า yAccl > 32767:

yAccl -= 65536

# H3LIS331DL ที่อยู่ 0x18(24)

# อ่านข้อมูลย้อนหลังจาก 0x2C (44), 2 ไบต์

# แกน Z LSB, แกน Z MSB

data0 = bus.read_byte_data(0x18, 0x2C)

data1 = bus.read_byte_data(0x18, 0x2D)

#แปลงข้อมูล

zAccl = data1 * 256 + data0

ถ้า zAccl > 32767:

zAccl -= 65536

# ส่งออกข้อมูลไปยังหน้าจอ

พิมพ์ "ความเร่งในแกน X: %d" %xAccl

พิมพ์ "ความเร่งในแกน Y: %d" %yAccl

พิมพ์ "ความเร่งในแกน Z: %d" %zAccl

รหัสถูกดำเนินการโดยใช้คำสั่งต่อไปนี้:

$> python H3LIS331DL.py จีที; หลาม H3LIS331DL.py

เอาต์พุตของเซ็นเซอร์แสดงในภาพด้านบนสำหรับการอ้างอิงของผู้ใช้

ขั้นตอนที่ 4: การใช้งาน:

การใช้งาน
การใช้งาน

มาตรความเร่งเช่น H3LIS331DL ส่วนใหญ่จะพบแอปพลิเคชั่นในเกมและเปลี่ยนโปรไฟล์การแสดงผล โมดูลเซ็นเซอร์นี้ยังใช้ในระบบการจัดการพลังงานขั้นสูงสำหรับแอปพลิเคชันมือถือ H3LIS331DL เป็นเซ็นเซอร์เร่งความเร็วดิจิตอลแบบสามแกนซึ่งรวมเข้ากับตัวควบคุมการขัดจังหวะบนชิปอัจฉริยะที่ทริกเกอร์การเคลื่อนไหวบนชิป

แนะนำ: