Table des matières:

Accéléromètre à 3 axes, ADXL345 avec Raspberry Pi en utilisant Python : 6 étapes
Accéléromètre à 3 axes, ADXL345 avec Raspberry Pi en utilisant Python : 6 étapes

Vidéo: Accéléromètre à 3 axes, ADXL345 avec Raspberry Pi en utilisant Python : 6 étapes

Vidéo: Accéléromètre à 3 axes, ADXL345 avec Raspberry Pi en utilisant Python : 6 étapes
Vidéo: MPU6050 with Raspberry Pi using python in easiest way | Accelerometer | Gyroscope | Temperature 2024, Novembre
Anonim
Accéléromètre à 3 axes, ADXL345 avec Raspberry Pi utilisant Python
Accéléromètre à 3 axes, ADXL345 avec Raspberry Pi utilisant Python

Pensez à un gadget qui peut vérifier le point auquel votre tout-terrain est incliné pour s'attarder. Ne serait-ce pas agréable dans le cas où quelqu'un est réglé alors qu'il y a une possibilité de basculement ? Évidemment oui. Ce serait vraiment utile aux personnes qui aiment aller à la montagne et les voyages d'affaires.

Sans aucun doute, véritable période brillante d'évaluation avancée des chiffres, l'IoT est à nos portes. En tant qu'amateurs de gadgets et de programmation, nous pensons que Raspberry Pi, le micro PC Linux a traité les capacités créatives des gens en général, emportant avec lui une explosion de méthodologies innovantes. Alors, quels sont les résultats envisageables que nous pouvons faire si nous avons un Raspberry Pi et un accéléromètre 3 axes à proximité ? On devrait découvrir ! Dans cette tâche, nous détecterons l'accélération sur 3 axes, X, Y et Z en utilisant Raspberry Pi et ADXL345, un accéléromètre à 3 axes. Nous devrions donc observer lors de cette excursion fabriquer un cadre pour mesurer l'accélération tridimensionnelle vers le haut ou G-Force.

Étape 1: Matériel de base dont nous avons besoin

Matériel de base dont nous avons besoin
Matériel de base dont nous avons besoin
Matériel de base dont nous avons besoin
Matériel de base dont nous avons besoin
Matériel de base dont nous avons besoin
Matériel de base dont nous avons besoin

Les problèmes étaient moindres pour nous car nous avons une tonne de choses qui traînent sur lesquelles travailler. Néanmoins, nous savons à quel point il est difficile pour les autres d'assembler la bonne pièce au bon moment à partir de l'endroit opportun et cela se justifie indépendamment de chaque centime. Nous vous aiderions donc dans toutes les régions. Lisez ce qui suit pour obtenir une liste complète des pièces.

1. Framboise Pi

La première étape consistait à acquérir une carte Raspberry Pi. Ce petit ordinateur de faible puissance fournit une base bon marché et généralement simple pour les entreprises électroniques, l'Internet des objets (IoT), les villes intelligentes, l'enseignement scolaire.

2. Bouclier I2C pour Raspberry Pi

La principale chose qui manque vraiment au Raspberry Pi est un port I²C. Donc, pour cela, le connecteur TOUTPI2 I²C vous donne le sens d'utiliser Rasp Pi avec PLUSIEURS appareils I²C. Il est accessible sur DCUBE Store

3. Accéléromètre 3 axes, ADXL345

Fabriqué par Analog Devices, l'ADXL345 est un accéléromètre 3 axes basse consommation avec une mesure haute résolution de 13 bits jusqu'à ±16g. Nous avons acquis ce capteur de DCUBE Store

4. Câble de connexion

Nous avons eu le câble de connexion I2C accessible au DCUBE Store

5. Câble micro-USB

Le Raspberry Pi le moins confus, mais le plus strict en ce qui concerne la nécessité de l'alimentation ! L'approche la plus simple pour alimenter le Raspberry Pi consiste à utiliser le câble Micro USB.

6. L'accès Web est un besoin

L'accès au Web peut être activé via un câble Ethernet (LAN) associé à un réseau local et au Web. D'autre part, vous pouvez vous associer à un réseau sans fil à l'aide d'un dongle sans fil USB, ce qui nécessitera une configuration.

7. Câble HDMI/Accès à distance

Avec un câble HDMI à bord, vous pouvez le connecter à un téléviseur numérique ou à un moniteur. Besoin d'économiser de l'argent! Raspberry Pi peut être utilisé à distance en utilisant des stratégies différentes comme SSH et Access sur le Web. Vous pouvez utiliser le logiciel open source PuTTY.

Étape 2: connexion du matériel

Connexion du matériel
Connexion du matériel
Connexion du matériel
Connexion du matériel
Connexion du matériel
Connexion du matériel
Connexion du matériel
Connexion du matériel

Faire le circuit selon le schéma apparu. Dessinez un contour et suivez la configuration délibérément.

Connexion du Raspberry Pi et du Shield I2C

Avant tout, prenez le Raspberry Pi et repérez le bouclier I2C dessus. Appuyez délicatement sur le Shield sur les broches GPIO de Pi et nous en avons terminé avec cette progression aussi simple que du gâteau (voir le snap).

Connexion du capteur et du Raspberry Pi

Prenez le capteur et interfacez le câble I2C avec lui. Pour le bon fonctionnement de ce câble, rappelez-vous que la sortie I2C est TOUJOURS associée à l'entrée I2C. La même chose doit être prise après pour le Raspberry Pi avec le blindage I2C monté sur les broches GPIO.

Nous prescrivons l'utilisation du câble I2C car il réfute la nécessité de parcourir les brochages, les soudures et les malaises causés par la plus petite erreur. Avec ce câble plug and play de base, vous pouvez facilement introduire, échanger des appareils ou ajouter d'autres appareils à une application. Cela rend les choses simples.

Remarque: le fil marron doit suivre de manière fiable la connexion à la terre (GND) entre la sortie d'un appareil et l'entrée d'un autre appareil

Le réseau Web est la clé

Pour faire de notre entreprise une réussite, nous avons besoin d'une connexion Web pour notre Raspberry Pi. Pour cela, vous avez des alternatives comme l'interfaçage d'un câble Ethernet (LAN) avec le système domestique. De plus, en option, cependant, un itinéraire utile consiste à utiliser un connecteur WiFi. Parfois, pour cela, vous avez besoin d'un pilote pour le faire fonctionner. Alors penchez-vous vers celui avec Linux dans la description.

Source de courant

Branchez le câble Micro USB dans la prise d'alimentation du Raspberry Pi. Allumez-le et nous sommes prêts à partir.

Connexion à l'écran

On peut avoir le câble HDMI associé à un autre écran. Dans certains cas, vous devez accéder à un Raspberry Pi sans l'interfacer avec un écran ou vous devrez peut-être afficher certaines données à partir d'un autre endroit. Il est concevable qu'il existe des approches innovantes et financièrement judicieuses pour le faire. L'un d'eux utilise - SSH (connexion en ligne de commande à distance). Vous pouvez également utiliser le logiciel PuTTY pour cela.

Étape 3: codage Python pour Raspberry Pi

Codage Python pour Raspberry Pi
Codage Python pour Raspberry Pi

Le code Python pour le Raspberry Pi et le capteur ADXL345 est accessible dans notre référentiel Github.

Avant de passer au code, assurez-vous de lire les instructions données dans le document Lisez-moi et configurez votre Raspberry Pi en conséquence. Il fera simplement une pause pendant une minute pour le faire.

Un accéléromètre est un appareil qui mesure une accélération appropriée; une accélération appropriée n'est pas la même que l'accélération coordonnée (taux de changement de vitesse). Des modèles à un ou plusieurs axes de l'accéléromètre sont accessibles pour identifier l'amplitude et la direction de l'accélération appropriée, en tant que quantité vectorielle, et peuvent être utilisés pour détecter l'orientation, coordonner l'accélération, les vibrations, les chocs et les chutes dans un milieu résistif.

Le code est clair devant vous et il est dans la structure la plus simple que vous puissiez imaginer et vous ne devriez avoir aucun problème.

# Distribué avec une licence de libre arbitre. # Utilisez-le comme vous le souhaitez, à profit ou gratuitement, à condition qu'il s'intègre dans les licences de ses œuvres associées. # ADXL345 # Ce code est conçu pour fonctionner avec le mini module ADXL345_I2CS I2C disponible sur dcubestore.com # https://dcubestore.com/product/adxl345-3-axis-accelerometer-13-bit-i%C2%B2c-mini -module/

importer smbus

heure d'importation

# Obtenez le bus I2C

bus = smbus. SMbus(1)

# Adresse ADXL345, 0x53(83)

# Sélectionnez le registre de débit de bande passante, 0x2C(44) # 0x0A(10) Mode normal, débit de données de sortie = 100 Hz bus.write_byte_data (0x53, 0x2C, 0x0A) # Adresse ADXL345, 0x53(83) # Sélectionnez le registre de contrôle de puissance, 0x2D(45) # 0x08(08) Auto Sleep disable bus.write_byte_data(0x53, 0x2D, 0x08) # ADXL345 address, 0x53(83) # Select data format register, 0x31(49) # 0x08(08) Autotest désactivé, 4 fils interface # Pleine résolution, plage = +/-2g bus.write_byte_data (0x53, 0x31, 0x08)

temps.sommeil (0,5)

# Adresse ADXL345, 0x53(83)

# Lire les données de 0x32(50), 2 octets # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data(0x53, 0x32) data1 = bus.read_byte_data(0x53, 0x33)

# Convertir les données en 10 bits

xAccl = ((data1 & 0x03) * 256) + data0 si xAccl > 511: xAccl -= 1024

# Adresse ADXL345, 0x53(83)

# Lire les données de 0x34(52), 2 octets # Y-Axis LSB, Y-Axis MSB data0 = bus.read_byte_data(0x53, 0x34) data1 = bus.read_byte_data(0x53, 0x35)

# Convertir les données en 10 bits

yAccl = ((data1 & 0x03) * 256) + data0 si yAccl > 511: yAccl -= 1024

# Adresse ADXL345, 0x53(83)

# Lire les données de 0x36(54), 2 octets # Z-Axis LSB, Z-Axis MSB data0 = bus.read_byte_data(0x53, 0x36) data1 = bus.read_byte_data(0x53, 0x37)

# Convertir les données en 10 bits

zAccl = ((data1 & 0x03) * 256) + data0 si zAccl > 511: zAccl -= 1024

# Données de sortie à l'écran

print "Accélération dans l'axe X: %d" %xAccl print "Accélération dans l'axe Y: %d" %yAccl print "Accélération dans l'axe Z: %d" %zAccl

Étape 4: L'aspect pratique du Code

L'aspect pratique du code
L'aspect pratique du code

Téléchargez (ou git pull) le code depuis Github et ouvrez-le dans le Raspberry Pi.

Exécutez les commandes pour compiler et télécharger le code dans le terminal et voir la sortie sur Monitor. Après quelques instants, il affichera chacun des paramètres. Après vous être assuré que tout fonctionne facilement, vous pouvez mener cette entreprise à une tâche plus importante.

Étape 5: Applications et fonctionnalités

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. L'ADXL345 convient aux applications de téléphonie mobile. Il quantifie l'accélération statique de la gravité dans les applications de détection d'inclinaison et en plus l'accélération dynamique à venir en raison du mouvement ou du choc. D'autres applications incluent les combinés, l'instrumentation médicale, les appareils de jeu et de pointage, l'instrumentation industrielle, les appareils de navigation personnels et la protection des disques durs (HDD).

Étape 6: Conclusion

Espérons que cette tâche motive d'autres expérimentations. Ce capteur I2C est extraordinairement flexible, bon marché et accessible. Comme il s'agit d'un système dans une large mesure impermanent, il existe des moyens intéressants d'élargir cette tâche et même de l'améliorer.

Par exemple, vous pouvez commencer avec l'idée d'un inclinomètre utilisant l'ADXL345 et le Raspberry Pi. Dans le projet ci-dessus, nous avons utilisé des calculs de base. Vous pouvez improviser le code pour les valeurs G, les angles de pente (ou d'inclinaison), l'élévation ou la dépression d'un objet par rapport à la gravité. Ensuite, vous pouvez vérifier les options d'avance telles que les angles de rotation pour le roulis (axe avant-arrière, X), le tangage (axe latéral, Y) et le lacet (axe vertical, Z). Cet accéléromètre affiche les forces G en 3D. Vous pouvez donc utiliser ce capteur de différentes manières.

Pour votre confort, nous avons un fascinant exercice d'instruction vidéo sur YouTube qui peut vous aider dans votre enquête. Faites confiance à cette entreprise qui motive une exploration plus poussée. Continuez à contempler! Gardez à l'esprit de chercher car il y en a toujours plus.

Conseillé: