Агуулгын хүснэгт:

H3LIS331DL ба Raspberry Pi ашиглан хурдатгалын хэмжилт: 4 алхам
H3LIS331DL ба Raspberry Pi ашиглан хурдатгалын хэмжилт: 4 алхам

Видео: H3LIS331DL ба Raspberry Pi ашиглан хурдатгалын хэмжилт: 4 алхам

Видео: H3LIS331DL ба Raspberry Pi ашиглан хурдатгалын хэмжилт: 4 алхам
Видео: Электроникийн сургалт 2024, Арваннэгдүгээр
Anonim
Image
Image

H3LIS331DL нь дижитал I²C серийн интерфэйстэй, "нано" гэр бүлд хамаарах бага хүчин чадалтай, 3 тэнхлэг бүхий хурдны хэмжигдэхүүн юм. H3LIS331DL нь ± 100g/± 200g/± 400g хэрэглэгчийн сонгож болох бүрэн масштабтай бөгөөд 0.5 Гц -ээс 1 кГц хүртэлх гаралтын өгөгдөл дамжуулах хурдатгалыг хэмжих чадвартай. H3LIS331DL нь -40 ° C -аас +85 ° C хүртэл температурын урт хугацаанд ажиллах баталгаатай.

Энэхүү гарын авлагад бид программын хэл болгон python ашиглан H3LIS331DL -ийн Raspberry Pi -тай хэрхэн холбогдож байгааг харуулах болно.

Алхам 1: Шаардлагатай тоног төхөөрөмж:

Шаардлагатай техник хангамж
Шаардлагатай техник хангамж
Шаардлагатай техник хангамж
Шаардлагатай техник хангамж
Шаардлагатай техник хангамж
Шаардлагатай техник хангамж

Зорилгодоо хүрэхийн тулд бидэнд шаардлагатай материалууд нь дараахь тоног төхөөрөмжийн бүрэлдэхүүн хэсгүүдийг агуулдаг.

1. H3LIS331DL

2. Raspberry Pi

3. I2C кабель

4. Бөөрөлзгөнө pi -д зориулсан I2C бамбай

5. Ethernet кабель

Алхам 2: Тоног төхөөрөмжийн холболт:

Тоног төхөөрөмжийн холболт
Тоног төхөөрөмжийн холболт
Тоног төхөөрөмжийн холболт
Тоног төхөөрөмжийн холболт

Тоног төхөөрөмжийн холболтын хэсэг нь үндсэндээ мэдрэгч ба бөөрөлзгөнө pi хооронд шаардлагатай утас холболтыг тайлбарладаг. Аливаа систем дээр ажиллахад шаардлагатай гаралтын хувьд зөв холболтыг хангах нь хамгийн чухал зүйл юм. Тиймээс шаардлагатай холболтууд дараах байдалтай байна.

H3LIS331DL нь I2C дээр ажиллах болно. Мэдрэгчийн интерфэйс бүрийг хэрхэн яаж холбохыг харуулсан утасны диаграмын жишээ энд байна.

Хайрцагнаас гадуурх самбар нь I2C интерфэйс дээр тохируулагдсан байдаг тул хэрэв та өөр ойлголтгүй бол энэ холболтыг ашиглахыг зөвлөж байна. Танд ердөө дөрвөн утас л хангалттай!

Vcc, Gnd, SCL, SDA зүүг зөвхөн дөрвөн холболт шаарддаг бөгөөд эдгээр нь I2C кабелийн тусламжтайгаар холбогддог.

Эдгээр холболтыг дээрх зурган дээр харуулав.

Алхам 3: Хурдатгал хэмжих Python код:

Хурдатгал хэмжих Python код
Хурдатгал хэмжих Python код

Бөөрөлзгөнө pi ашиглах давуу тал нь мэдрэгчийг интерфэйстэй холбохын тулд самбарыг програмчлах хэлний уян хатан байдлыг өгдөг. Энэхүү самбарын давуу талыг ашиглан бид питон дахь програмчлалыг энд харуулав. Python бол хамгийн хялбар синтакс бүхий програмчлалын хамгийн хялбар хэлүүдийн нэг юм. H3LIS331DL -ийн питон кодыг манай github бүлгээс DCUBE Store -оос татаж авах боломжтой.

Хэрэглэгчдэд хялбар байхын тулд бид кодыг энд тайлбарлаж байна.

Кодлох эхний алхам бол питоны хувьд SMBus номын санг татаж авах хэрэгтэй, учир нь энэ номын сан нь кодонд ашиглагддаг функцийг дэмждэг. Тиймээс номын санг татаж авахын тулд та дараах линкээр орж үзэх боломжтой.

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

Та ажлын кодыг эндээс хуулж болно.

smbus импортлох

импортлох хугацаа

# I2C автобус авах = smbus. SMBus (1)

# H3LIS331DL хаяг, 0x18 (24)

# Хяналтын бүртгэл 1, 0x20 (32) сонгох

# 0x27 (39) Power ON горим, Мэдээллийн гаралтын хурд = 50 Гц# X, Y, Z тэнхлэгийг идэвхжүүлсэн

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

# H3LIS331DL хаяг, 0x18 (24)# Хяналтын бүртгэл 4, 0x23 (35) сонгох

# 0x00 (00) Тасралтгүй шинэчлэлт, Бүрэн хэмжээний сонголт = +/- 100г

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

цаг унтах (0.5)

# H3LIS331DL хаяг, 0x18 (24)

# Өгөгдлийг 0x28 (40), 2 байтаас буцааж уншина уу

# X-Axis LSB, X-Axis 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-Axis LSB, Y-Axis MSB

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

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

# Өгөгдлийг хөрвүүлэх

yAccl = өгөгдөл1 * 256 + өгөгдөл0

yAccl> 32767 бол:

yAccl -= 65536

# H3LIS331DL хаяг, 0x18 (24)

# 0x2C (44), 2 байтаас өгөгдлийг буцааж уншина уу

# Z-Axis LSB, Z-Axis MSB

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

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

# Өгөгдлийг хөрвүүлэх

zAccl = өгөгдөл1 * 256 + өгөгдөл0

хэрэв zAccl> 32767:

zAccl -= 65536

# Дэлгэц рүү өгөгдөл гаргана

хэвлэх "X-Axis дахь хурдатгал: %d" %xAccl

хэвлэх "Y тэнхлэг дэх хурдатгал: %d" %yAccl

хэвлэх "Z-Axis дахь хурдатгал: %d" %zAccl

Кодыг дараах тушаалыг ашиглан гүйцэтгэнэ.

$> python H3LIS331DL.py gt; python H3LIS331DL.py

Мэдрэгчийн гаралтыг хэрэглэгчийн лавлагаанд зориулан дээрх зурагт үзүүлэв.

Алхам 4: Өргөдөл:

Хэрэглээ
Хэрэглээ

H3LIS331DL гэх мэт хурдатгал хэмжигч нь тоглоомыг ихэвчлэн ашигладаг бөгөөд профайл солихыг харуулдаг. Энэхүү мэдрэгч модулийг гар утасны хэрэглээний дэвшилтэт эрчим хүчний удирдлагын системд ашигладаг. H3LIS331DL нь гурван талт дижитал хурдатгалын мэдрэгч бөгөөд чип дээрх ухаалаг хөдөлгөөнийг өдөөдөг тасалдлын хянагчтай.

Зөвлөмж болгож буй: