Spisu treści:
- Krok 1: Wymagany sprzęt:
- Krok 2: Podłączenie sprzętu:
- Krok 3: Kod Pythona do pomiaru przyspieszenia:
- Krok 4: Aplikacje:
Wideo: Pomiar przyspieszenia za pomocą H3LIS331DL i Raspberry Pi: 4 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
H3LIS331DL to 3-osiowy akcelerometr liniowy o małej mocy i wysokiej wydajności należący do rodziny „nano” z cyfrowym interfejsem szeregowym I²C. H3LIS331DL ma wybieraną przez użytkownika pełną skalę ±100g/±200g/±400g i jest w stanie mierzyć przyspieszenia z wyjściowymi szybkościami danych od 0,5 Hz do 1 kHz. H3LIS331DL gwarantuje działanie w rozszerzonym zakresie temperatur od -40 °C do +85 °C.
W tym samouczku zademonstrujemy interfejs H3LIS331DL z Raspberry Pi, używając Pythona jako języka programowania.
Krok 1: Wymagany sprzęt:
Materiały, których potrzebujemy do realizacji naszego celu, obejmują następujące komponenty sprzętowe:
1. H3LIS331DL
2. Raspberry Pi
3. Kabel I2C
4. Tarcza I2C dla malinowego pi
5. Kabel Ethernet
Krok 2: 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:
H3LIS331DL będzie działać 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:
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 H3LIS331DL 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 H3LIS331DL, 0x18(24)
# Wybierz rejestr kontrolny 1, 0x20(32)
# 0x27(39) Tryb włączenia, szybkość transmisji danych = 50 Hz# X, Y, oś Z włączona
bus.write_byte_data (0x18, 0x20, 0x27)
# Adres H3LIS331DL, 0x18(24)# Wybierz rejestr kontrolny 4, 0x23(35)
# 0x00(00) Ciągła aktualizacja, wybór pełnej skali = +/-100g
bus.write_byte_data (0x18, 0x23, 0x00)
czas.sen(0.5)
# Adres H3LIS331DL, 0x18(24)
# Odczytaj dane z powrotem z 0x28(40), 2 bajty
# Oś X LSB, Oś X MSB
data0 = bus.read_byte_data(0x18, 0x28)
dane1 = magistrala.odczyt_bajtów_danych (0x18, 0x29)
# Konwertuj dataxAccl = data1 * 256 + data0
jeśli xAccl > 32767:
xAccl -= 65536
# Adres H3LIS331DL, 0x18(24)
# Odczytaj dane z powrotem z 0x2A(42), 2 bajty
# Oś Y LSB, Oś Y MSB
data0 = bus.read_byte_data(0x18, 0x2A)
dane1 = magistrala.odczyt_bajtów_danych (0x18, 0x2B)
# Konwertuj dane
yAccl = dane1 * 256 + dane0
jeśli yAccl > 32767:
yAccl -= 65536
# Adres H3LIS331DL, 0x18(24)
# Odczytaj dane z 0x2C(44), 2 bajty
# Oś Z LSB, Oś Z MSB
data0 = bus.read_byte_data(0x18, 0x2C)
dane1 = magistrala.odczyt_bajtów_danych (0x18, 0x2D)
# Konwertuj dane
zAccl = dane1 * 256 + dane0
jeśli zAccl > 32767:
zZak -= 65536
# 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 H3LIS331DL.py gt; python H3LIS331DL.py
Wyjście czujnika pokazano na powyższym obrazku w celach informacyjnych dla użytkownika.
Krok 4: Aplikacje:
Akcelerometry, takie jak H3LIS331DL, znajdują zastosowanie głównie w grach i przełączaniu profili wyświetlania. Ten moduł czujnika jest również wykorzystywany w zaawansowanym systemie zarządzania energią dla aplikacji mobilnych. H3LIS331DL to trójosiowy cyfrowy czujnik przyspieszenia, który jest wbudowany w inteligentny kontroler przerwań wyzwalany ruchem.
Zalecana:
Pomiar przyspieszenia za pomocą ADXL345 i Particle Photon: 4 kroki
Pomiar przyspieszenia przy użyciu ADXL345 i Particle Photon: ADXL345 to mały, cienki, bardzo energooszczędny, 3-osiowy akcelerometr 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 I2 C. Mierzy
Pomiar przyspieszenia za pomocą H3LIS331DL i Arduino Nano: 4 kroki
Pomiar przyspieszenia wykorzystujący H3LIS331DL i Arduino Nano: H3LIS331DL, to 3-osiowy liniowy akcelerometr o małej mocy i wysokiej wydajności należący do rodziny „nano”, z cyfrowym interfejsem szeregowym I²C. H3LIS331DL ma wybieraną przez użytkownika pełną skalę ±100g/±200g/±400g i jest w stanie mierzyć przyspieszenia w
Pomiar przyspieszenia za pomocą H3LIS331DL i Particle Photon: 4 kroki
Pomiar akceleracji przy użyciu H3LIS331DL i Particle Photon: H3LIS331DL, jest 3-osiowym akcelerometrem liniowym o niskiej mocy i wysokiej wydajności należącym do rodziny „nano”, z cyfrowym interfejsem szeregowym I²C. H3LIS331DL ma wybieraną przez użytkownika pełną skalę ±100g/±200g/±400g i jest w stanie mierzyć przyspieszenia w
Pomiar przyspieszenia za pomocą ADXL345 i Raspberry Pi: 4 kroki
Pomiar przyspieszenia przy użyciu ADXL345 i Raspberry Pi: ADXL345 to mały, cienki, bardzo energooszczędny, 3-osiowy akcelerometr 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 I2 C. Mierzy
Pomiar przyspieszenia za pomocą BMA250 i Raspberry Pi: 4 kroki
Pomiar przyspieszenia przy użyciu BMA250 i Raspberry Pi: BMA250 to mały, cienki, bardzo energooszczędny, 3-osiowy akcelerometr 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 statykę