Table des matières:
- Étape 1: Matériel requis:
- Étape 2: connexion matérielle:
- Étape 3: Code de mesure de l'accélération:
- Étape 4: Candidatures:
Vidéo: Mesure de l'accélération à l'aide d'ADXL345 et de photons de particules : 4 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
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°.
Dans ce tutoriel, l'interfaçage du module capteur ADXL345 avec des photons de particules a été illustré. Pour lire les valeurs d'accélération, nous avons utilisé des particules avec un adaptateur I2c. Cet adaptateur I2C rend la connexion au module capteur facile et plus fiable.
Étape 1: Matériel requis:
Les matériaux dont nous avons besoin pour atteindre notre objectif comprennent les composants matériels suivants:
1. ADXL345
2. Photon de particule
3. Câble I2C
4. Bouclier I2C pour les photons de particules
Étape 2: connexion matérielle:
La section de raccordement matériel explique essentiellement les connexions de câblage requises entre le capteur et le photon particulaire. Assurer des connexions correctes est la nécessité de base tout en travaillant sur n'importe quel système pour la sortie souhaitée. Ainsi, les connexions requises sont les suivantes:
L'ADXL345 fonctionnera sur I2C. Voici l'exemple de schéma de câblage, montrant comment câbler chaque interface du capteur.
Prête à l'emploi, la carte est configurée pour une interface I2C, en tant que telle, nous vous recommandons d'utiliser cette connexion si vous êtes par ailleurs agnostique.
Tout ce dont vous avez besoin, c'est de quatre fils ! Seules quatre connexions sont nécessaires pour les broches Vcc, Gnd, SCL et SDA et celles-ci sont connectées à l'aide d'un câble I2C.
Ces connexions sont illustrées dans les images ci-dessus.
Étape 3: Code de mesure de l'accélération:
Commençons maintenant par le code des particules.
Lors de l'utilisation du module capteur avec la particule, nous incluons les bibliothèques application.h et spark_wiring_i2c.h. Les bibliothèques "application.h" et spark_wiring_i2c.h contiennent les fonctions qui facilitent la communication i2c entre le capteur et la particule.
Le code de particule complet est donné ci-dessous pour la commodité de l'utilisateur:
#comprendre
#comprendre
// L'adresse I2C ADXL345 est 0x53(83)
#define Adr 0x53
entier xAccl = 0, yAccl = 0, zAccl = 0;
void setup()
{
// Définir la variable
Particule.variable("i2cdevice", "ADXL345");
Particule.variable("xAccl", xAccl);
Particule.variable("yAccl", yAccl);
Particule.variable("zAccl", zAccl);
// Initialiser la communication I2C en tant que MASTER
Fil.begin();
// Initialiser la communication série, définir le débit en bauds = 9600
Serial.begin(9600);
// Lancer la transmission I2C
Wire.beginTransmission(Adr);
// Sélection du registre de débit de bande passante
Wire.write(0x2C);
// Sélectionnez le débit de données de sortie = 100 Hz
Wire.write(0x0A);
// Arrêter la transmission I2C
Wire.endTransmission();
// Lancer la transmission I2C
Wire.beginTransmission(Adr);
// Sélection du registre de contrôle de puissance
Wire.write(0x2D);
// Sélectionnez la désactivation de la mise en veille automatique
Wire.write(0x08);
// Arrêter la transmission I2C
Wire.endTransmission();
// Lancer la transmission I2C
Wire.beginTransmission(Adr);
// Sélection du registre de format de données
Wire.write(0x31);
// Sélectionnez la pleine résolution, +/-2g
Wire.write(0x08);
// Fin de la transmission I2C
Wire.endTransmission();
retard (300);
}
boucle vide()
{
données int non signées[6];
for(int i = 0; i < 6; i++)
{
// Lancer la transmission I2C
Wire.beginTransmission(Adr);
// Sélection du registre de données
Wire.write((50+i));
// Arrêter la transmission I2C
Wire.endTransmission();
// Demande 1 octet de données à l'appareil
Wire.requestFrom(Adr, 1);
// Lecture de 6 octets de données
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
if(Fil.disponible()==1)
{
data = Wire.read();
}
retard (300);
}
// Convertir les données en 10 bits
int xAccl = (((données[1] & 0x03) * 256) + données[0]);
si(xAccl > 511)
{
xAccl -= 1024;
}
int yAccl = (((données[3] & 0x03) * 256) + données[2]);
if(yAccl > 511)
{
yAccl -= 1024;
}
int zAccl = (((données[5] & 0x03) * 256) + données[4]);
if(zAccl > 511)
{
zAccl -= 1024;
}
// Sortie des données vers le tableau de bord
Particle.publish("L'accélération dans l'axe X est:", String(xAccl));
Particle.publish("L'accélération dans l'axe Y est:", String(yAccl));
Particle.publish("L'accélération dans l'axe Z est:", String(zAccl));
}
La fonction Particle.variable() crée les variables pour stocker la sortie du capteur et la fonction Particle.publish() affiche la sortie sur le tableau de bord du site.
La sortie du capteur est montrée dans l'image ci-dessus pour votre référence.
É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é:
Mesure de l'humidité à l'aide de HYT939 et de photons de particules : 4 étapes
Mesure de l'humidité à l'aide de HYT939 et de photons de particules : HYT939 est un capteur d'humidité numérique qui fonctionne sur le protocole de communication I2C. L'humidité est un paramètre essentiel lorsqu'il s'agit de systèmes médicaux et de laboratoires. Afin d'atteindre ces objectifs, nous avons donc essayé d'interfacer HYT939 avec raspberry pi. JE
Mesure de l'accélération à l'aide de H3LIS331DL et de photons de particules : 4 étapes
Mesure de l'accélération à l'aide de H3LIS331DL et de photons de particules : H3LIS331DL, est un accéléromètre linéaire 3 axes hautes performances basse consommation appartenant à la famille « nano », avec interface série numérique I²C. Le H3LIS331DL a des pleines échelles sélectionnables par l'utilisateur de ±100g/±200g/±400g et il est capable de mesurer des accélérations avec
Mesure de température à l'aide de STS21 et de photons de particules : 4 étapes
Mesure de la température à l'aide de STS21 et de photons de particules : le capteur de température numérique STS21 offre des performances supérieures et un encombrement réduit. Il fournit des signaux calibrés et linéarisés au format numérique I2C. La fabrication de ce capteur est basée sur la technologie CMOSens, qui attribue à la qualité supérieure
Mesure de l'humidité et de la température à l'aide de HIH6130 et de photons de particules : 4 étapes
Mesure d'humidité et de température à l'aide de HIH6130 et de photons de particules : HIH6130 est un capteur d'humidité et de température avec sortie numérique. Ces capteurs offrent un niveau de précision de ±4% HR. Avec une stabilité à long terme de pointe, une véritable I2C numérique à compensation de température, une fiabilité de pointe, une efficacité énergétique
Mesure de la température et de l'humidité à l'aide de HDC1000 et de photons de particules : 4 étapes
Mesure de la température et de l'humidité à l'aide du HDC1000 et du photon de particules : Le HDC1000 est un capteur d'humidité numérique avec capteur de température intégré qui offre une excellente précision de mesure à très faible puissance. L'appareil mesure l'humidité sur la base d'un nouveau capteur capacitif. Les capteurs d'humidité et de température sont fac