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

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

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

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

BMA250 бол жижиг, нимгэн, хэт өндөр хүчдэлтэй, 3 тэнхлэг бүхий хурдасгуур хэмжигч бөгөөд ± 16 гр хүртэл өндөр нарийвчлалтай (13 бит) хэмждэг. Дижитал гаралтын өгөгдлийг 16 битийн хос хэлбэрээр форматласан бөгөөд I2C дижитал интерфэйсээр дамжуулан авах боломжтой. Энэ нь хазайлтыг мэдэрч буй таталцлын статик хурдатгал, түүнчлэн хөдөлгөөн эсвэл цочролын үр дүнд бий болсон динамик хурдатгалыг хэмждэг. Түүний өндөр нарийвчлал (3.9 мг/LSB) нь хазайлтын өөрчлөлтийг 1.0 хэмээс бага хэмжих боломжийг олгодог.

Энэхүү гарын авлагад бид бүх гурван перпендикуляр тэнхлэг дэх хурдатгалыг BMA250 ба Raspberry Pi ашиглан хэмжих болно. Мэдрэгчийг питон хэлээр програмчилсан болно.

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

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

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

1. BMA250

2. Raspberry Pi

3. I2C кабель

4. Raspberry Pi -д зориулсан I2C бамбай

5. Ethernet кабель

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

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

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

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

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

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

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

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

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

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

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

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

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

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

smbus импортлох

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

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

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

# Хүрээ сонгох бүртгэлийг сонгоно уу, 0x0F (15)

# 0x03 (03) Мужийг тохируулах = +/- 2gbus.write_byte_data (0x18, 0x0F, 0x03)

# BMA250 хаяг, 0x18 (24)# Зурвасын өргөний бүртгэлийг сонгох, 0x10 (16)

# 0x08 (08) Bandwidth = 7.81 Hzbus.write_byte_data (0x18, 0x10, 0x08)

цаг унтах (0.5)

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

# Өгөгдлийг 0x02 (02), 6 байтаас буцааж уншина уу

# X-Axis LSB, X-Axis MSB, Y-Axis LSB, Y-Axis MSB, Z-Axis LSB, Z-Axis MSB

өгөгдөл = bus.read_i2c_block_data (0x18, 0x02, 6)

# Өгөгдлийг 10 бит болгон хөрвүүлэх

xAccl = (өгөгдөл [1] * 256 + (өгөгдөл [0] & 0xC0)) / 64

Хэрэв xAccl> 511:

xAccl -= 1024

yAccl = (өгөгдөл [3] * 256 + (өгөгдөл [2] & 0xC0)) / 64

yAccl> 511 бол:

yAccl -= 1024

zAccl = (өгөгдөл [5] * 256 + (өгөгдөл [4] & 0xC0)) / 64

Хэрэв zAccl> 511:

zAccl -= 1024

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

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

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

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

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

$> python BMA250.py gt; python BMA250.py

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

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

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

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

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