Spisu treści:
Wideo: Raspberry Pi - 3-osiowy akcelerometr ADXL345 Samouczek Java: 4 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:27
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 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°. Oto demonstracja z raspberry pi przy użyciu kodu java.
Krok 1: Czego potrzebujesz.
1. Raspberry Pi
2. ADXL345
3. Kabel I²C
4. Osłona I²C dla Raspberry Pi
5. Kabel Ethernet
Krok 2: Połączenia:
Weź nakładkę I2C dla raspberry pi i delikatnie nałóż ją na piny gpio raspberry pi.
Następnie podłącz jeden koniec kabla I2C do czujnika ADXL345, a drugi koniec do ekranu I2C.
Podłącz również kabel Ethernet do pi lub możesz użyć modułu WiFi.
Połączenia prezentuje powyższy obrazek.
Krok 3: Kod:
Kod Java dla ADXL345 można pobrać z naszego repozytorium GitHub – sklep Dcube
Oto link do tego samego:
github.com/DcubeTechVentures/ADXL345
Użyliśmy biblioteki pi4j do kodu java, kroki instalacji pi4j na raspberry pi są opisane tutaj:
pi4j.com/install.html
Możesz również skopiować kod stąd, jest on podany w następujący sposób:
// Rozprowadzane z wolną licencją.
// Używaj go w dowolny sposób, z zyskiem lub za darmo, pod warunkiem, że pasuje do licencji powiązanych z nim dzieł.
// ADXL345
// Ten kod jest przeznaczony do współpracy z modułem ADXL345_I2CS I2C Mini dostępnym w sklepie Dcube Store.
importuj com.pi4j.io.i2c. I2CBus;
importuj com.pi4j.io.i2c. I2CDurządzenie;
importuj com.pi4j.io.i2c. I2CFabryka;
import java.io. IOException;
klasa publiczna ADXL345
{
public static void main(String args) wyrzuca Wyjątek
{
// Utwórz magistralę I2C
Magistrala I2CBus = I2CFactory.getInstance(I2CBus. BUS_1);
// Pobierz urządzenie I2C, adres urządzenia I2C to 0x53(83)
Urządzenie I2CDevice = Bus.getDevice(0x53);
// Wybierz rejestr przepustowości
// Tryb normalny, szybkość transmisji danych wyjściowych = 100 Hz
urządzenie.write(0x2C, (bajt)0x0A);
// Wybierz rejestr kontroli mocy
// Wyłączenie automatycznego uśpienia
urządzenie.write(0x2D, (bajt)0x08);
// Wybierz rejestr formatu danych
// Autotest wyłączony, interfejs 4-przewodowy, pełna rozdzielczość, zakres = +/-2g
urządzenie.write(0x31, (bajt)0x08);
Wątek.sen(500);
// Odczytaj 6 bajtów danych
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
bajt dane = nowy bajt[6];
dane[0] = (bajt)urządzenie.odczyt(0x32);
dane[1] = (bajt)urządzenie.odczyt(0x33);
dane[2] = (bajt)urządzenie.odczyt(0x34);
dane[3] = (bajt)urządzenie.odczyt(0x35);
dane[4] = (bajt)urządzenie.odczyt(0x36);
dane[5] = (bajt)urządzenie.odczyt(0x37);
// Konwertuj dane na 10-bitowe
int xAccl = ((dane[1] i 0x03) * 256 + (dane[0] i 0xFF));
if(xAccl > 511)
{
xAccl -= 1024;
}
int yAccl = ((dane[3] i 0x03) * 256 + (dane[2] i 0xFF));
if(yAccl > 511)
{
yAccl -= 1024;
}
int zAccl = ((dane[5] i 0x03) * 256 + (dane[4] i 0xFF));
if(zAccl > 511)
{
zAccl -= 1024;
}
// Prześlij dane na ekran
System.out.printf("Przyspieszenie w osi X: %d %n", xAccl);
System.out.printf("Przyspieszenie w osi Y: %d %n", yAccl);
System.out.printf("Przyspieszenie w osi Z: %d %n", zAccl);
}
}
Krok 4: Aplikacje:
ADXL345 jest małym, cienkim, 3-osiowym akcelerometrem o bardzo niskim poborze mocy, który może być stosowany w telefonach, oprzyrządowaniu medycznym itp. Jego zastosowanie obejmuje również urządzenia do gier i wskazujące, oprzyrządowanie przemysłowe, osobiste urządzenia nawigacyjne i ochronę dysku twardego (HDD).
Zalecana:
Raspberry Pi - TMD26721 Cyfrowy czujnik zbliżeniowy na podczerwień Samouczek Java: 4 kroki
Raspberry Pi - TMD26721 Infrared Digital Proximity Detector Samouczek Java: TMD26721 to cyfrowy detektor zbliżeniowy na podczerwień, który zapewnia kompletny system wykrywania zbliżenia i logikę interfejsu cyfrowego w jednym 8-stykowym module do montażu powierzchniowego. Wykrywanie zbliżenia obejmuje ulepszony stosunek sygnału do szumu i precyzja. Profesjonalista
Raspberry Pi - Czujnik światła otoczenia TSL45315 Samouczek Java: 4 kroki
Raspberry Pi - Czujnik światła otoczenia TSL45315 Samouczek Java: TSL45315 to cyfrowy czujnik światła otoczenia. Przybliża reakcję ludzkiego oka w różnych warunkach oświetleniowych. Urządzenia mają trzy wybieralne czasy integracji i zapewniają bezpośrednie 16-bitowe wyjście luksów za pośrednictwem interfejsu magistrali I2C. Urządzenie co
Raspberry Pi - czujnik temperatury TMP100 - samouczek Java: 4 kroki
Raspberry Pi - Czujnik temperatury TMP100 Java Tutorial: Moduł TMP100 o wysokiej dokładności i niskim poborze mocy, cyfrowy czujnik temperatury I2C MINI. TMP100 jest idealny do rozszerzonego pomiaru temperatury. To urządzenie zapewnia dokładność ±1°C bez konieczności kalibracji lub kondycjonowania sygnału komponentu zewnętrznego. On
Raspberry Pi A1332 Precision Hall - Czujnik kąta efektu Samouczek Java: 4 kroki
Raspberry Pi A1332 Precision Hall - Effect Angle Sensor Java Tutorial: A1332 to bezdotykowy magnetyczny czujnik położenia kąta 360° o wysokiej rozdzielczości. Przeznaczony jest do systemów cyfrowych wykorzystujących interfejs I2C. Jest zbudowany w oparciu o technologię Circular Vertical Hall (CVH) i programowalny sygnał oparty na mikroprocesorze
Raspberry Pi HTS221 Czujnik wilgotności względnej i temperatury Samouczek Java: 4 kroki
Raspberry Pi HTS221 Względny czujnik wilgotności i temperatury Samouczek Java: HTS221 to ultra kompaktowy pojemnościowy czujnik cyfrowy do pomiaru wilgotności względnej i temperatury. Zawiera element czujnikowy i układ scalony przeznaczony do aplikacji sygnałów mieszanych (ASIC), aby zapewnić informacje pomiarowe za pośrednictwem cyfrowego