- Composants requis
- Accéléromètre ADXL335
- Schéma
- Comment fonctionne le podomètre?
- Programmation du compteur de pas Arduino
- Test du podomètre Arduino
Les bandes de fitness sont de plus en plus populaires de nos jours, qui comptent non seulement les pas, mais qui suivent également vos calories brûlées, affichent la fréquence cardiaque, l'heure du spectacle et bien d'autres. Et ces appareils IoT sont synchronisés avec le cloud afin que vous puissiez facilement obtenir tout l'historique de votre activité physique sur un smartphone. Nous avons également construit un système de surveillance des patients basé sur l'IoT où les données critiques ont été envoyées à ThingSpeak pour être surveillées de n'importe où.
Les podomètres sont les appareils utilisés uniquement pour compter les pas. Donc, dans ce tutoriel, nous allons construire un podomètre DIY facile et bon marché en utilisant Arduino et un accéléromètre. Ce podomètre comptera le nombre de pas et les affichera sur un module LCD 16x2. Ce podomètre peut être intégré à cette montre intelligente Arduino.
Composants requis
- Arduino Nano
- Accéléromètre ADXL 335
- Écran LCD 16 * 2
- Module LCD I2C
- Batterie
Accéléromètre ADXL335
L'ADXL335 est un accéléromètre analogique complet à 3 axes, et il fonctionne sur le principe de la détection capacitive. Il s'agit d'un petit module mince et de faible puissance avec un capteur micro-usiné en polysilicium en surface et des circuits de conditionnement de signaux. L'accéléromètre ADXL335 peut mesurer l'accélération statique ainsi que dynamique. Ici, dans ce projet de podomètre Arduino, l'accéléromètre ADXL335 agira comme un capteur de podomètre.
Un accéléromètre est un appareil qui peut convertir l'accélération dans n'importe quelle direction en sa tension variable respective. Ceci est accompli en utilisant des condensateurs (voir l'image), lorsque l'Accel se déplace, le condensateur présent à l'intérieur subira également des modifications (voir l'image) en fonction du mouvement, car la capacité est variée, une tension variable peut également être obtenue.
Vous trouverez ci-dessous les images de l'accéléromètre de l'avant et de l'arrière avec la description de la broche-
Broche Description de l'accéléromètre:
- L'alimentation Vcc-5 volts doit se connecter à cette broche.
- X-OUT- Cette broche donne une sortie analogique dans la direction x
- Y-OUT- Cette broche donne une sortie analogique dans la direction y
- Z-OUT- Cette broche donne une sortie analogique dans la direction z
- GND - Terre
- ST- Cette broche utilisée pour définir la sensibilité du capteur
Nous construisons de nombreux projets à l'aide de l'accéléromètre ADXL335, y compris un robot à commande gestuelle, une alarme de détecteur de tremblement de terre, un jeu de ping-pong, etc.
Schéma
Le schéma de circuit du compteur de pas de l'accéléromètre Arduino est indiqué ci-dessous.
Dans ce circuit, nous interagissons avec Arduino Nano avec l'accéléromètre ADXL335. Les broches X, Y et Z de l'accéléromètre sont connectées aux broches analogiques (A1, A2 et A3) d'Arduino Nano. Pour interfacer les modules LCD 16x2 avec Arduino, nous utilisons le module I2C. Les broches SCL et SDA du module I2C sont respectivement connectées aux broches A5 et A4 d'Arduino Nano. Les connexions complètes sont données dans le tableau ci-dessous:
Arduino Nano | ADXL335 |
3,3 V | VCC |
GND | GND |
A1 | X |
A2 | Oui |
A3 | Z |
Arduino Nano | Module LCD I2C |
5V | VCC |
GND | GND |
A4 | SDA |
A5 | SCL |
Nous avons d'abord construit ce podomètre en utilisant la configuration Arduino sur une maquette
Et après des tests réussis, nous l'avons répliqué sur Perfboard en soudant tous les composants sur Perfboard comme indiqué ci-dessous:
Comment fonctionne le podomètre?
Un podomètre calcule le nombre total de pas effectués par une personne en utilisant les trois composantes du mouvement qui sont avant, vertical et latéral. Le système de podomètre utilise un accéléromètre pour obtenir ces valeurs. L'accéléromètre met à jour en continu les valeurs maximale et minimale de l'accélération 3 axes après chaque non défini. d'échantillons. La valeur moyenne de ces 3 axes (Max + Min) / 2, est appelée le niveau de seuil dynamique, et cette valeur de seuil est utilisée pour décider si le pas est franchi ou non.
Pendant la course, le podomètre peut être dans n'importe quelle orientation, ainsi le podomètre calcule les pas en utilisant l'axe dont le changement d'accélération est le plus grand.
Maintenant, laissez-moi vous donner un aperçu rapide du fonctionnement de ce podomètre Arduino:
- Tout d'abord, le podomètre démarre l'étalonnage dès qu'il est mis sous tension.
- Ensuite, dans la fonction de boucle vide , il obtient en permanence les données des axes X, Y et Z.
- Après cela, il calcule le vecteur d'accélération totale à partir du point de départ.
- Le vecteur d'accélération est la racine carrée (x ^ 2 + y ^ 2 + z ^ 2) des valeurs des axes X, Y et Z.
- Ensuite, il compare les valeurs d'accélération moyennes avec les valeurs de seuil pour compter le numéro de pas.
- Si le vecteur d'accélération dépasse la valeur de seuil, alors il augmente le nombre de pas; sinon, il élimine les vibrations invalides.
Programmation du compteur de pas Arduino
Le code complet du compteur de pas Arduino est donné à la fin de ce document. Ici, nous expliquons quelques extraits importants de ce code.
Comme d'habitude, démarrez le code en incluant toutes les bibliothèques requises. L'accéléromètre ADXL335 ne nécessite aucune bibliothèque car il donne une sortie analogique.
#comprendre
Après cela, définissez les broches Arduino, où l'accéléromètre est connecté.
const int xpin = A1; const int ypin = A2; const int zpin = A3;
Définissez la valeur seuil de l'accéléromètre. Cette valeur de seuil sera comparée au vecteur d'accélération pour calculer le nombre de pas.
seuil de flottement = 6;
Dans la configuration vide , la fonction étalonne le système lorsqu'il est sous tension.
étalonner();
À l'intérieur de la fonction de boucle vide , il lira les valeurs des axes X, Y et Z pour 100 échantillons.
pour (int a = 0; a <100; a ++) {xaccl = float (analogRead (xpin) - 345); retard (1); yaccl = float (analogRead (ypin) - 346); retard (1); zaccl = float (analogRead (zpin) - 416); retard (1);
Après avoir obtenu les valeurs sur 3 axes, calculez le vecteur d'accélération total en prenant la racine carrée des valeurs des axes X, Y et Z.
totvect = sqrt (((xaccl - xavg) * (xaccl - xavg)) + ((yaccl - yavg) * (yaccl - yavg)) + ((zval - zavg) * (zval - zavg)));
Calculez ensuite la moyenne des valeurs de vecteur d'accélération maximale et minimale.
totave = (totvect + totvect) / 2;
Comparez maintenant l'accélération moyenne avec le seuil. Si la moyenne est supérieure au seuil, augmentez le nombre de pas et augmentez le drapeau.
if (totave> seuil && drapeau == 0) {étapes = étapes + 1; drapeau = 1; }
Si la moyenne est supérieure au seuil mais que le drapeau est levé, ne faites rien.
else if (totave> seuil && flag == 1) {// Ne comptez pas}
Si la moyenne totale est inférieure au seuil et que le drapeau est levé, mettez le drapeau vers le bas.
if (totave <seuil && flag == 1) {flag = 0; }
Imprimez le nombre d'étapes sur le moniteur série et l'écran LCD.
Serial.println (étapes); lcd.print ("Étapes:"); lcd.print (étapes);
Test du podomètre Arduino
Une fois que votre matériel et votre code sont prêts, connectez l'Arduino à l'ordinateur portable et téléchargez le code. Maintenant, prenez la configuration du podomètre dans vos mains et commencez à marcher étape par étape, il devrait afficher le nombre de pas sur l'écran LCD. Parfois, cela augmente le nombre de pas lorsque le podomètre vibre très rapidement ou très lentement.
La vidéo de travail complète et le code pour le podomètre ADXL335 Arduino sont donnés ci-dessous.