Skip to main content

Fabriquer son inclinomètre

Dans ce tutoriel nous allons voir comment fabriquer un inclinomètre.

Celui-ci nous permettra de mesurer l’angle d’inclinaison, il pourra par exemple être installé sur  un véhicule tout terrain, une moto, un camping car… .

Avertissements :

Ce projet est en cours de réalisation des modifications sont susceptible de lui être apportées tenez vous informés régulièrement.

En projet :

  • double LED d’avertissement pour éviter d’avoir à poser le regard sur l’écran
  • (ajout d’un module bluetooth et capteur pour une détection de choc/vibration)
  • (utilisation du détecteur de choc comme alarme)
  • (développement d’une application pour un envoi de message en cas d’accident)
  • (ajout d’un module GPS pour localiser le lieu de l’accident coordonnées jointe au message)

Niveau de difficulté : Moyen

ATTENTION : CECI N’EST EN AUCUN CAS UN DISPOSITIF DE SÉCURITÉ.

Remerciements à Piou Piou qui est à l’origine de l’avertisseur d’atteinte d’un angle prédéfini.

Matériel nécessaire :

Câblage :

Le branchement du LCD s’effectue directement à l’arrière de celui-ci sur le module i2c.

Il faudra donc le raccorder comme ceci:

Arduino → LCD

  • VCC sur 5V
  • GND sur gnd
  • SDA sur A4
  • SCL sur A5

Une fois notre écran raccordé il faut bien évidemment mettre en place notre accéléromètre .

voici comment procéder.

Arduino → ADXL335

  • Z sur A2
  • Y sur A1
  • X sur A0
  • GND sur GND
  • VCC sur 3.3V

Notre inclinomètre devrait maintenant ressembler à ça :

Schéma de câblage de l'inclinomètre

Le résultat en Vidéo :

cette vidéo provient de YouTube il ne s’agit que du rendu d’un projet elle sera modifiée une fois le montage terminé.

Le programme :

Maintenant que nous disposons du matériel nécessaire et que celui-ci est convenablement raccordé, il va falloir apprendre à notre Arduino à devenir un inclinomètre après tout ça et maintenant qu’il est devant nous !

Pour le transfert du code sur l’Arduino  si vous ne l’avez jamais fait, je vous invite à jeter un coup d’œil ici :

https://www.memorandum.ovh/utiliser-le-logiciel-arduino/

dans un premier temps il faudra importé la librairie new-liquidcrystal disponible via ce lien  https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads

pour ce tuto j’ai utilisé celle-ci NewliquidCrystal_1.3.4.zip.

Toutes les informations concernant le réglage des différents paramètres pour notre inclinomètre se trouveront après le code.

Modification et amélioration du programme :

Après l’ajout de l’avertisseur, j’ai décidé pousser le travail un peu plus loin.

Une option (désactivable) de zone qui nous avertira qu’on approche de notre angle max à été ajouté.

Le programme a également été modifié afin de le simplifier un maximum et qu’il soit utilisable et paramétrable par n’importe qui.

Paramètres et réglages :

Afin de régler convenablement le  « 0 » il faudra modifier les valeurs présentent lignes suivantes :

  • const int MIN = 285;
  • const int MAX = 515;

Ces valeurs correspondent à des données propre à l’accéléromètre. Vérifiez avec une équerre par exemple que la variation d’angle est correct.

Pour simplifier le réglage correctX et correctY permettrons de corriger légèrement la valeur affichée par exemple si une fois fixé mon afficheur affiche pour « pitch » -3° je modifierais le programme comme suit :

  • const int correctX = 3;

Ce qui aura pour effet d’ajouter 3° à ma valeur « pitch » ainsi mon afficheur devrait m’afficher 0°.

Pour le réglage de l’angle max il suffit de modifier ces lignes on entre les valeurs souhaités (attention à bien entrer une valeur négative pour maxangN) :

  • const int maxang = x;
  • const int maxangN = -x;

exemple :

  • const int maxang = 60;
  • const int maxangN = -60;

Pour notre zone d’approche il faudra définir la valeur souhaitée (combien de degré avant notre angle max nous souhaitons être averti par le clignotement de la LED choisir « 0 » pour désactiver cette option) la ligne à modifier est la suivante :

  • const int preA = x;

exemple :

  • const int preA = 0;

Le code est rédigé de manière à permettre de visualiser le résultat directement via le moniteur série présent dans le logiciel Arduino (menu « Outils », « Moniteur série ou Ctrl+Maj+m), pratique si vous êtes dans l’attente de la livraison de votre écran.

L’avertisseur est mis en place sur la pin 13 de l’Arduino afin de pouvoir avoir un rendu visuel direct grâce a la petite diode située sur celui-ci ( L ) comme pour l’écran cela permet d’avoir un visuel avec un minimum de matériel avant de finaliser notre montage.

Boîtiers:

Les boîtiers pour les différentes parties seront imprimés en 3D grâce a l’imprimante de l’association http://www.goldorhack.org.

J’ai choisi volontairement de concevoir un boîtier par élément afin de pouvoir facilement ajouter, modifier ou supprimer des modules.

Résultat de la première soirée d’impression :

Photo des premiers éléments imprimé en 3D. support ADXL335 et façade LCD.

Cet article vous a plu ? Partagez-le !

14 réponses à “Fabriquer son inclinomètre

  1. Bonjour,
    Serait il possible d’ajouter un bouton qui prendrait les valeurs lues au moment de son activation et les utiliserait en tant
    que correctX et correctY afin d’avoir une mise à zéro (et si possible mais ….de les mémoriser )
    Cordialement

  2. Bonjour,merci pour ce projet . Pour ma part j’ai tout mis   dans le mémé boitier, le 0 etant ajustable , et j’ai eu quelques difficultés avec l’adresse « LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); « que j’ai remplace par « LiquidCrystal_I2C lcd(0x27,16, 2);  » tour va bien pour mon utilisation : faire du 4×4. Encore merci Eric.

  3. Bonjour, merci pour ce super tuto

    Est il possible de rajouter plus de précision sur les degrés de l’inclinomètre ? Exemple : -3,01…

    Merci d’avance

  4. Bonjour, est-il possible de garder les variables maximales d’inclinaison en mémoire avec ce programme?

  5. Bonjour Guillaume,

    Pour répondre à votre question, oui l’afficheur est bien couplé à un module de communication I2C. Par contre j’ai trouvé le problème sur la led, elle était grillées, j’ai donc changé la led et pour cette partie, ça marche. Il ne reste plus qu’a régler le problème de communication avec l’afficheur et là c’est plus compliqué. je vais essayer de recharger la bibliothèque.

     

  6. Bonjour Guillaume,

    Votre projet sur l’inclinomètre m’a beaucoup intéressé et j’ai réalisé le montage. Une fois le programme téleversé et l’arduino démarré, l’afficheur n’affiche rien et la led ne s’allume pas alors que j’incline le capteur au maximum. L’afficheur est pourtant bien démarré car le rétroéclairage s’allume bien et en poussant le contraste au maximum, je distingue bien les différents pavés d’affichage. En mode débug (le bit débug à 1) j’ai bien l’affichage du roll et du pitch dans le terminal série. J’ai vérifié mes câblages sans trouver de problèmes. L’ensemble du montage est alimenté par la connexion usb seulement. J’avais pensé au fait que le port usb ne puisse pas alimenter correctement l’ensemble du montage et éventuellement à rajouter une pile 9 volts sur le Vin nano, au fait que le clone arduino nano que j’utilise ne liste pas la pin D013 comme une sortie numérique ou bien que la bibliothèque que j’utilise pour l’affichage à cristaux liquides ne convient pas. Pourriez-vous me donner votre avis et m’aiguiller s’il vous plait?

    Merci pour votre article intéressant et très sympa

     

     

    1. Bonjour Olivier,
      J’ai eu le même problème, j’ai simplement mis les lignes suivantes après « void setup(){ »
      – lcd.int();
      – lcd.backlight();

      maintenant tout fonctionne bien.

  7. Bonjour. J’ai besoin de connaitre la position de la dérive de mon bateau. Actuellement je dois noter le nombre de tours de la manivelle et c’est fastidieux. Pour vérifier je dois la descendre à fond puis compter les tours et la dérive pèse 80 kg alors c’est pénible. Je vais donc essayer votre montage en lui faisant indiquer le tirant d’eau qui est fonction de la position de la dérive. Un grand merci pour partager votre travail.

  8. Bonjour Guillaume, bonjour à tous, Merci pour le partage. Je recherchais des infos sur les inclinomètres quand j’ai trouvé cette application. Comme Tacaco je suis campingcariste et je vais dans un premier temps équiper mon camping car d’un tel système. Si c’est concluant j’ai un autre projet.
    Tacaco as tu déjà fait des essais ? Si oui quel est ton retour. Merci
    A+

  9. BonjourSuper boulot et merci pour le partageJ’ai trouvé votre article très intéressant et je me suis empressé de le réaliser pour équiper mon camping-car afin de le caler à l’étape.Est-ce qu’il vous serait possible de me faire parvenir les fichiers pour imprimer les boitiers s’il vous plait ?.Je vous remercie par avance.Bonne journée. 

  10. Bonjour,Je serais intéréssé par ce projet. Vous obtenez combien de dégré de précision durant une inclinaison ?Corialement

    1. Bonjour, merci de votre commentaire. Je ne saurais vous dire quelle est la précision le système est avant tout la pour donner une information il faudrait pour avoir une précision parfaite connaitre l’angle de base de la chaussée etc… mais je dirais que la précision est forcément meilleurs qu’avec une appli mobile (sauf si le téléphone est fixé au châssis de la moto). Il faut également prendre en compte l’étalonnage de base de l’accelerométre dans le programme.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *