Inhoudsopgave:
Video: Raspberry Pi - ADXL345 3-Axis Accelerometer Java-zelfstudie - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
De ADXL345 is een kleine, dunne, ultralaag vermogen, 3-assige accelerometer met hoge resolutie (13-bits) meting tot ±16 g. Digitale uitvoergegevens zijn geformatteerd als 16-bits tweetallen en zijn toegankelijk via de digitale I2 C-interface. Het meet de statische versnelling van de zwaartekracht in toepassingen met kanteldetectie, evenals dynamische versnelling als gevolg van beweging of schokken. De hoge resolutie (3,9 mg/LSB) maakt het mogelijk om hellingsveranderingen van minder dan 1,0° te meten. Hier is het demonstratie met Raspberry Pi met behulp van Java-code.
Stap 1: Wat je nodig hebt.
1. Raspberry Pi
2. ADXL345
3. I²C-kabel
4. I²C-schild voor Raspberry Pi
5. Ethernet-kabel
Stap 2: Aansluitingen:
Neem een I2C-schild voor Raspberry Pi en duw het voorzichtig over de gpio-pinnen van Raspberry Pi.
Sluit vervolgens het ene uiteinde van de I2C-kabel aan op de ADXL345-sensor en het andere uiteinde op de I2C-afscherming.
Sluit ook de Ethernet-kabel aan op de pi of u kunt een WiFi-module gebruiken.
De aansluitingen zijn weergegeven in de afbeelding hierboven.
Stap 3: Coderen:
De Java-code voor ADXL345 kan worden gedownload van onze GitHub-repository - Dcube Store
Hier is de link voor hetzelfde:
github.com/DcubeTechVentures/ADXL345
We hebben de pi4j-bibliotheek gebruikt voor java-code, de stappen om pi4j op raspberry pi te installeren worden hier beschreven:
pi4j.com/install.html
U kunt de code ook hier kopiëren, deze wordt als volgt gegeven:
// Gedistribueerd met een vrije wilslicentie.
// Gebruik het zoals je wilt, winst of gratis, op voorwaarde dat het past in de licenties van de bijbehorende werken.
// ADXL345
// Deze code is ontworpen om te werken met de ADXL345_I2CS I2C Mini Module die beschikbaar is in Dcube Store.
com.pi4j.io.i2c. I2CBus importeren;
com.pi4j.io.i2c. I2CDevice importeren;
importeer com.pi4j.io.i2c. I2CFactory;
import java.io. IOException;
openbare klasse ADXL345
{
public static void main(String args) gooit Exception
{
// I2C-bus maken
I2CBus Bus = I2CFactory.getInstance(I2CBus. BUS_1);
// Haal het I2C-apparaat op, het I2C-adres van het apparaat is 0x53 (83)
I2CDevice-apparaat = Bus.getDevice (0x53);
// Selecteer Bandbreedte tariefregister
// Normale modus, uitgangsgegevenssnelheid = 100 Hz
apparaat.schrijven (0x2C, (byte)0x0A);
// Selecteer Power control register
// Automatisch slaap uitschakelen
apparaat.schrijven (0x2D, (byte)0x08);
// Selecteer Data formaat register
// Zelftest uitgeschakeld, 4-draads interface, volledige resolutie, bereik = +/-2g
apparaat.schrijven (0x31, (byte)0x08);
Draad.slaap(500);
// Lees 6 bytes aan gegevens
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
byte data = nieuwe byte[6];
data[0] = (byte)apparaat.lezen(0x32);
data[1] = (byte)apparaat.lezen(0x33);
data[2] = (byte)apparaat.lezen(0x34);
data[3] = (byte)apparaat.lezen(0x35);
data[4] = (byte)apparaat.lezen(0x36);
data[5] = (byte)apparaat.lezen(0x37);
// Converteer de gegevens naar 10-bits
int xAccl = ((data[1] & 0x03) * 256 + (data[0] & 0xFF));
if(xAccl > 511)
{
xAccl -= 1024;
}
int yAccl = ((data[3] & 0x03) * 256 + (data[2] & 0xFF));
if(yAccl > 511)
{
yAccl -= 1024;
}
int zAccl = ((data[5] & 0x03) * 256 + (data[4] & 0xFF));
if(zAccl > 511)
{
zAccl -= 1024;
}
// Gegevens uitvoeren naar scherm
System.out.printf("Versnelling in X-as: %d %n", xAccl);
System.out.printf("Versnelling in Y-as: %d %n", yAccl);
System.out.printf("Versnelling in Z-as: %d %n", zAccl);
}
}
Stap 4: Toepassingen:
ADXL345 is een kleine, dunne 3-assige accelerometer met ultralaag vermogen die kan worden gebruikt in handsets, medische instrumenten enz. De toepassing ervan omvat ook gaming- en aanwijsapparaten, industriële instrumenten, persoonlijke navigatieapparatuur en bescherming van de harde schijf (HDD).
Aanbevolen:
Een UML voor Java maken in Microsoft Visio: 4 stappen
Een UML voor Java maken in Microsoft Visio: In het begin kan het maken van een UML er een beetje intimiderend uitzien. Er zijn veel gecompliceerde notatiestijlen en het kan lijken alsof er geen goede middelen zijn om een UML op te maken die leesbaar en nauwkeurig is. Microsoft Visio maakt het maken van een UML-k
Efficiënte Java-ontwikkeling voor de Raspberry Pi 11 stappen (met afbeeldingen)
Efficiënte Java-ontwikkeling voor de Raspberry Pi: deze Instructable beschrijft een zeer efficiënte benadering voor het ontwikkelen van Java-programma's voor de Raspberry Pi. Ik heb de aanpak gebruikt om Java-mogelijkheden te ontwikkelen, variërend van apparaatondersteuning op laag niveau tot multi-threaded en netwerkgebaseerde programma's. De appr
Een eenvoudige rekenmachine maken in Java: 10 stappen
Hoe maak je een eenvoudige rekenmachine in Java: Dit is een eenvoudige introductie tot de Java-programmeertaal bedoeld voor mensen met weinig tot geen kennis van programmeren. Materialen: Computer of laptop (met Eclipse geïnstalleerd) Kan eclipse installeren op https://www. eclipse.org/downloads
Accelerometer jas: 5 stappen
Accelerometer Jacket: Ontworpen door ThunderLily voor een samenwerking met ontwerper Minika Ko voor de KOllision catwalkshow, het acceleratiejack combineert mode, technologie en kunst. Met behulp van een versnellingsmeter om de bewegingsrichting te detecteren, een microprocessor van de flora en
Een Cubesat bouwen met een Arduino en accelerometer: 5 stappen
Hoe maak je een Cubesat bouwen met een Arduino en Accelerometer .: Onze namen zijn Brock, Eddie en Drew. Het belangrijkste doel van onze natuurkundeles is om van de aarde naar Mars te reizen terwijl we de baan rond Mars simuleren met behulp van een Cube Sat en het verzamelen van gegevens. Het doel van onze groep voor dit project is om gegevens te verzamelen met behulp van een accele