Spisu treści:

Pomiar przyspieszenia za pomocą BMA250 i Raspberry Pi: 4 kroki
Pomiar przyspieszenia za pomocą BMA250 i Raspberry Pi: 4 kroki

Wideo: Pomiar przyspieszenia za pomocą BMA250 i Raspberry Pi: 4 kroki

Wideo: Pomiar przyspieszenia za pomocą BMA250 i Raspberry Pi: 4 kroki
Wideo: Moduł do Raspberry PI KAmod i nettemp 2024, Lipiec
Anonim
Image
Image

BMA250 to mały, smukły, 3-osiowy akcelerometr o ultraniskiej mocy z pomiarem o wysokiej rozdzielczości (13-bitów) do ±16 g. Cyfrowe dane wyjściowe są sformatowane jako 16-bitowe uzupełnienie do dwójek i są dostępne przez interfejs cyfrowy I2C. Mierzy statyczne przyspieszenie grawitacyjne w aplikacjach z wykrywaniem przechyłu, a także dynamiczne przyspieszenie wynikające z ruchu lub wstrząsu. Jego wysoka rozdzielczość (3,9 mg/LSB) umożliwia pomiar zmian nachylenia mniejszych niż 1,0°.

W tym samouczku zamierzamy zmierzyć przyspieszenie we wszystkich trzech prostopadłych osiach za pomocą BMA250 i Raspberry Pi. Czujnik został zaprogramowany w języku Pythona.

Krok 1: Wymagany sprzęt:

Wymagany sprzęt
Wymagany sprzęt
Wymagany sprzęt
Wymagany sprzęt
Wymagany sprzęt
Wymagany sprzęt

Materiały, których potrzebujemy do realizacji naszego celu, obejmują następujące komponenty sprzętowe:

1. BMA250

2. Raspberry Pi

3. Kabel I2C

4. Osłona I2C dla Raspberry Pi

5. Kabel Ethernet

Krok 2: Podłączenie sprzętu:

Podłączenie sprzętu
Podłączenie sprzętu
Podłączenie sprzętu
Podłączenie sprzętu

Sekcja dotycząca podłączania sprzętu zasadniczo wyjaśnia połączenia okablowania wymagane między czujnikiem a raspberry pi. Zapewnienie prawidłowych połączeń jest podstawową koniecznością podczas pracy na dowolnym systemie o pożądanej mocy. Tak więc wymagane połączenia są następujące:

BMA250 będzie pracował przez I2C. Oto przykładowy schemat okablowania, pokazujący, jak okablować każdy interfejs czujnika.

Po wyjęciu z pudełka, płyta jest skonfigurowana do interfejsu I2C, dlatego zalecamy korzystanie z tego podłączenia, jeśli jesteś agnostykiem. Wszystko czego potrzebujesz to cztery przewody!

Wymagane są tylko cztery połączenia Vcc, Gnd, SCL i SDA, które są połączone za pomocą kabla I2C.

Połączenia te są pokazane na powyższych zdjęciach.

Krok 3: Kod Pythona do pomiaru przyspieszenia:

Kod Pythona do pomiaru przyspieszenia
Kod Pythona do pomiaru przyspieszenia
Kod Pythona do pomiaru przyspieszenia
Kod Pythona do pomiaru przyspieszenia

Zaletą korzystania z raspberry pi jest to, że zapewnia elastyczność języka programowania, w którym chcesz zaprogramować płytkę w celu połączenia z nią czujnika. Wykorzystując tę zaletę tej płyty, demonstrujemy tutaj jej programowanie w pytonie. Python jest jednym z najłatwiejszych języków programowania o najprostszej składni. Kod Pythona dla BMA250 można pobrać z naszej społeczności GitHub, czyli Dcube Store

Oprócz ułatwienia użytkownikom wyjaśniamy również kod tutaj:

Jako pierwszy krok kodowania musisz pobrać bibliotekę SMBus w przypadku Pythona, ponieważ ta biblioteka obsługuje funkcje używane w kodzie. Aby pobrać bibliotekę, możesz odwiedzić poniższy link:

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

Możesz również skopiować działający kod stąd:

importuj smbus

czas importu

# Uzyskaj magistralę I2C = smbus. SMBus(1)

# adres BMA250, 0x18(24)

# Wybierz rejestr wyboru zakresu, 0x0F(15)

# 0x03(03) Ustaw zakres = +/-2gbus.write_byte_data(0x18, 0x0F, 0x03)

# Adres BMA250, 0x18(24)# Wybierz rejestr przepustowości, 0x10(16)

# 0x08(08) Przepustowość = 7,81 Hzbus.write_byte_data(0x18, 0x10, 0x08)

czas.sen(0.5)

# adres BMA250, 0x18(24)

# Odczytaj dane z powrotem z 0x02(02), 6 bajtów

# Oś X LSB, Oś X MSB, Oś Y LSB, Oś Y MSB, Oś Z LSB, Oś Z MSB

dane = bus.read_i2c_block_data(0x18, 0x02, 6)

# Konwertuj dane na 10 bitów

xAccl = (dane[1] * 256 + (dane[0] i 0xC0)) / 64

jeśli xAccl > 511:

xAccl -= 1024

yAccl = (dane[3] * 256 + (dane[2] i 0xC0)) / 64

jeśli yAccl > 511:

yAccl -= 1024

zAccl = (dane[5] * 256 + (dane[4] i 0xC0)) / 64

jeśli zAccl > 511:

zZak -= 1024

# Dane wyjściowe na ekran

print "Przyspieszenie w osi X: %d" % xAccl

print "Przyspieszenie w osi Y: %d" % yAccl

print "Przyspieszenie w osi Z: %d" % zAccl

Kod jest wykonywany za pomocą następującego polecenia:

$> Python BMA250.py gt; Python BMA250.py

Wyjście czujnika pokazano na powyższym obrazku w celach informacyjnych dla użytkownika.

Krok 4: Aplikacje:

Aplikacje
Aplikacje

Akcelerometry takie jak BMA250 najczęściej znajdują zastosowanie w grach i przełączaniu profili wyświetlania. Ten moduł czujnika jest również wykorzystywany w zaawansowanym systemie zarządzania energią dla aplikacji mobilnych. BMA250 to trójosiowy cyfrowy czujnik przyspieszenia, który jest zintegrowany z inteligentnym wbudowanym kontrolerem przerwań wyzwalanym ruchem.

Zalecana: