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

Raspberry Pi - ADXL345 3 тэнхлэг бүхий акселерометр Python хичээл: 4 алхам
Raspberry Pi - ADXL345 3 тэнхлэг бүхий акселерометр Python хичээл: 4 алхам

Видео: Raspberry Pi - ADXL345 3 тэнхлэг бүхий акселерометр Python хичээл: 4 алхам

Видео: Raspberry Pi - ADXL345 3 тэнхлэг бүхий акселерометр Python хичээл: 4 алхам
Видео: BTT Octopus V1.1 — установка прошивки FluiddPi и Klipper 2024, Арваннэгдүгээр
Anonim

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

Алхам 1: Танд хэрэгтэй зүйл..

Чамд юу хэрэгтэй вэ..!!
Чамд юу хэрэгтэй вэ..!!
Чамд юу хэрэгтэй вэ..!!
Чамд юу хэрэгтэй вэ..!!

1. Raspberry Pi

2. ADXL345

3. I²C кабель

4. Raspberry Pi -ийн I²C бамбай

5. Ethernet кабель

Алхам 2: Холболт:

Холболт
Холболт
Холболт
Холболт
Холболт
Холболт
Холболт
Холболт

Бөөрөлзгөнө pi -д зориулсан I2C бамбай аваад бөөрөлзгөнө pi -ийн gpio тээглүүрээр зөөлөн дарна уу.

Дараа нь I2C кабелийн нэг үзүүрийг ADXL345 мэдрэгч, нөгөө үзүүрийг I2C бамбай руу холбоно уу.

Мөн Ethernet кабелийг pi руу холбоно уу, эсвэл WiFi модулийг ашиглаж болно.

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

Алхам 3: Код:

Код
Код

ADXL345-ийн питон кодыг манай GitHub репозитороос татаж авах боломжтой- Dcube Store

Үүнтэй ижил холбоос энд байна:

github.com/DcubeTechVentures/ADXL345..

Бид SMBus номын санг python кодонд ашигласан бөгөөд бөөрөлзгөнө pi дээр SMBus суулгах алхамуудыг энд тайлбарласан болно.

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

Та мөн кодыг эндээс хуулж болно, үүнийг дараах байдлаар өгсөн болно.

# Чөлөөт зөвшөөрлийн лицензээр тараасан.

# Үүнийг холбогдох бүтээлүүдийнхээ лицензтэй тохирч байвал хүссэн хэлбэрээр ашиг, үнэгүй ашиглах боломжтой.

# ADXL345

# Энэ код нь Dcube Store -д байдаг ADXL345_I2CS I2C Mini модультай ажиллахад зориулагдсан болно.

smbus импортлох

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

# I2C автобус авах

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

# ADXL345 хаяг, 0x53 (83)

# Зурвасын өргөний бүртгэлийг сонгох, 0x2C (44)# 0x0A (10) Энгийн горим, Гаралтын өгөгдлийн хурд = 100 Гц

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

data0 = bus.read_byte_data (0x53, 0x32)

data1 = bus.read_byte_data (0x53, 0x33)

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

xAccl = ((өгөгдөл1 & 0x03) * 256) + өгөгдөл0

Хэрэв xAccl> 511:

xAccl -= 1024

# ADXL345 хаяг, 0x53 (83)

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

# Y-Axis LSB, Y-Axis MSB

data0 = bus.read_byte_data (0x53, 0x34)

data1 = bus.read_byte_data (0x53, 0x35)

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

yAccl = ((өгөгдөл1 & 0x03) * 256) + өгөгдөл0

yAccl> 511 бол:

yAccl -= 1024

# ADXL345 хаяг, 0x53 (83)

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

# Z-Axis LSB, Z-Axis MSB

data0 = bus.read_byte_data (0x53, 0x36)

data1 = bus.read_byte_data (0x53, 0x37)

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

zAccl = ((өгөгдөл1 & 0x03) * 256) + өгөгдөл0

Хэрэв zAccl> 511:

zAccl -= 1024

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

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

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

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

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

ADXL345 нь гар утас, эмнэлгийн багаж хэрэгсэл гэх мэт жижиг, нимгэн, хэт давтамжтай, 3 тэнхлэгтэй хурдатгал хэмжигч бөгөөд түүний хэрэглээ нь тоглоом, заагч төхөөрөмж, үйлдвэрлэлийн багаж хэрэгсэл, хувийн навигацийн төхөөрөмж, хатуу дискний хамгаалалтыг агуулдаг.

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