Table des matières:

Raspberry Pi - Tutoriel Java de l'accéléromètre 3 axes ADXL345 : 4 étapes
Raspberry Pi - Tutoriel Java de l'accéléromètre 3 axes ADXL345 : 4 étapes

Vidéo: Raspberry Pi - Tutoriel Java de l'accéléromètre 3 axes ADXL345 : 4 étapes

Vidéo: Raspberry Pi - Tutoriel Java de l'accéléromètre 3 axes ADXL345 : 4 étapes
Vidéo: 800€ !? Vraiment ? 🤔 Retour sur le kit #Formbot de la #Voron 2.4 ! 🤙 2024, Novembre
Anonim
Image
Image

L'ADXL345 est un petit accéléromètre mince, ultrabasse consommation, à 3 axes avec une mesure haute résolution (13 bits) jusqu'à ±16 g. Les données de sortie numériques sont formatées en complément à deux de 16 bits et sont accessibles via l'interface numérique I2 C. Il mesure l'accélération statique de la gravité dans les applications de détection d'inclinaison, ainsi que l'accélération dynamique résultant d'un mouvement ou d'un choc. Sa haute résolution (3,9 mg/LSB) permet de mesurer des changements d'inclinaison inférieurs à 1,0°. Voici la démonstration avec raspberry pi en utilisant du code java.

Étape 1: Ce dont vous avez besoin.

De quoi as-tu besoin..!!
De quoi as-tu besoin..!!

1. Framboise Pi

2. ADXL345

3. Câble I²C

4. Bouclier I²C pour Raspberry Pi

5. Câble Ethernet

Étape 2: Connexions:

Connexions
Connexions
Connexions
Connexions
Connexions
Connexions
Connexions
Connexions

Prenez un shield I2C pour raspberry pi et poussez-le doucement sur les broches gpio de raspberry pi.

Connectez ensuite l'une des extrémités du câble I2C au capteur ADXL345 et l'autre extrémité au blindage I2C.

Connectez également le câble Ethernet au pi ou vous pouvez utiliser un module WiFi.

Les connexions sont montrées dans l'image ci-dessus.

Étape 3: Coder:

Code
Code

Le code java pour ADXL345 peut être téléchargé depuis notre référentiel GitHub - Dcube Store

Voici le lien pour le même:

github.com/DcubeTechVentures/ADXL345

Nous avons utilisé la bibliothèque pi4j pour le code java, les étapes pour installer pi4j sur raspberry pi sont décrites ici:

pi4j.com/install.html

Vous pouvez également copier le code d'ici, il est donné comme suit:

// Distribué avec une licence libre-arbitre.

// Utilisez-le comme vous le souhaitez, à profit ou gratuitement, à condition qu'il rentre dans les licences de ses œuvres associées.

// ADXL345

// Ce code est conçu pour fonctionner avec le mini module ADXL345_I2CS I2C disponible dans Dcube Store.

importer com.pi4j.io.i2c. I2CBus;

importer com.pi4j.io.i2c. I2CDevice;

importer com.pi4j.io.i2c. I2CFactory;

importer java.io. IOException;

classe publique ADXL345

{

public static void main(String args) lève une exception

{

// Créer un bus I2C

I2CBus Bus = I2CFactory.getInstance(I2CBus. BUS_1);

// Obtenir le périphérique I2C, l'adresse I2C du périphérique est 0x53(83)

Périphérique I2CDevice = Bus.getDevice (0x53);

// Sélectionnez le registre de débit de bande passante

// Mode normal, Débit de sortie = 100 Hz

device.write(0x2C, (octet)0x0A);

// Sélection du registre de contrôle de puissance

// Désactiver la mise en veille automatique

périphérique.write(0x2D, (octet)0x08);

// Sélection du registre de format de données

// Autotest désactivé, interface 4 fils, pleine résolution, plage = +/-2g

périphérique.write(0x31, (octet)0x08);

Thread.sleep(500);

// Lecture de 6 octets de données

// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb

octet données = nouvel octet[6];

data[0] = (byte)device.read(0x32);

data[1] = (octet)device.read(0x33);

data[2] = (octet)device.read(0x34);

data[3] = (byte)device.read(0x35);

données[4] = (octet)périphérique.read(0x36);

data[5] = (octet)device.read(0x37);

// Convertir les données en 10 bits

int xAccl = ((données[1] & 0x03) * 256 + (données[0] & 0xFF));

si(xAccl > 511)

{

xAccl -= 1024;

}

int yAccl = ((données[3] & 0x03) * 256 + (données[2] & 0xFF));

if(yAccl > 511)

{

yAccl -= 1024;

}

int zAccl = ((données[5] & 0x03) * 256 + (données[4] & 0xFF));

if(zAccl > 511)

{

zAccl -= 1024;

}

// Sortie des données à l'écran

System.out.printf("Accélération dans l'axe X: %d %n", xAccl);

System.out.printf("Accélération dans l'axe Y: %d %n", yAccl);

System.out.printf("Accélération dans l'axe Z: %d %n", zAccl);

}

}

Étape 4: Candidatures:

L'ADXL345 est un petit accéléromètre mince à très faible consommation d'énergie à 3 axes qui peut être utilisé dans les combinés, l'instrumentation médicale, etc. Son application comprend également les appareils de jeu et de pointage, l'instrumentation industrielle, les appareils de navigation personnels et la protection des disques durs (HDD).

Conseillé: