Mais tu avoueras que fabriquer une petite articulation, ajouter un capteur potentiométrique etc. c'est quand même moins sexy que de simplement brancher 4 fils à un périphérique I2C (qui coûte que dalle).
Donc j'en reviens à ma question : est-ce qu'un HMC5883 pourrait faire l'affaire ?
C'est par pour le prix du bidule, c'est juste que si cela ne convient pas, je n'ai pas envie de revenir à mon point de départ après avoir attendu trois semaines de délai de livraison.
bricoleau:
Oui au départ c'est ce que je me suis dit.
Mais tu avoueras que fabriquer une petite articulation, ajouter un capteur potentiométrique etc. c'est quand même moins sexy que de simplement brancher 4 fils à un périphérique I2C (qui coûte que dalle).
Donc j'en reviens à ma question : est-ce qu'un HMC5883 pourrait faire l'affaire ?
C'est par pour le prix du bidule, c'est juste que si cela ne convient pas, je n'ai pas envie de revenir à mon point de départ après avoir attendu trois semaines de délai de livraison.
rapidement lu le DS, en theorie et pour une resolution de 5° , ça devrait "le faire"
Petit retour sur ce topic, suite à une demande reçue par mp.
Le dispositif est en place chez moi et tourne en H24 depuis 1 an sans aucun souci.
J'utilise un HMC5883L relié à une arduino nano pour déterminer l'angle d'ouverture de la porte, toutes les 250 ms.
Lors de mes tests, je me suis aperçu que j'avais un problème de linéarité de cette mesure d'angle, due à un coefficient multiplicateur à appliquer sur les différents axes du vecteur 3D retourné par le HMC5883L.
En gros c'est comme si je mesurais l'angle donné par un point qui se balade sur une ellipse au lieu d'un cercle.
Je n'ai pas pris la peine d'affiner le calcul, car mon besoin était de déterminer 3 états pour la porte :
fermée (ou quasiment) : angle inférieur à 10°
entrebaillée : angle compris entre 10 et 70°
grande ouverte : angle supérieur à 70°
J'ai donc été au plus simple : j'ai ajusté les valeurs seuil utilisées par le programme pour qu'elles correspondent aux angles réels dont j'avais besoin.
Mais je suis sûr qu'il est tout à fait possible de rectifier ce biais, pour avoir une mesure d'angle bien linéaire sur toute la plage de mesure.
Voici aussi un copier/coller du cahier des charges de l'époque :
Objectif :
Automatiser la lumière du cellier, pour les humains mais pas pour le chat.
Contexte :
Le cellier est une pièce aveugle, avec une seule porte d'accès.
C'est aussi là que se trouve la gamelle du chat.
La porte est équipée d'une chatière.
Le chat peut donc aller et venir à sa guise dans le cellier.
Le chat n'a pas besoin de lumière, juste des croquettes.
Mais le chat est feignant, et préfère qu'on lui ouvre la porte pour passer.
Il n'utilise la chatière que lorsque l'inégalité ci-dessous est vérifiée :
faim / flemme > disponibilité du maître pour ouvrir la porte
Besoins validés par le conseil familial (chat inclus):
Allumer la lumière sur ouverture de la porte, sauf ci celle-ci est juste brièvement entreouverte à la demande du chat.
Eteindre la lumiere après fermeture de la porte si plus de présence détectée dans le cellier.
Porte fermée et lumière éteinte, la détection de présence ne rallume pas la lumière.
C'est juste le chat qui vient se sustenter en passant par la chatière, de jour comme de nuit (environ toutes les deux heures, entre deux siestes)
Si la porte est restée ouverte, éteindre la lumière au bout d'un moment de non détection de présence.
Si la porte est restée ouverte, rallumer la lumière dès détection de présence.
et tant pis si c'est le chat. Cette porte n'a pas vocation à rester ouverte sans raison.
Sécuriser le relais contre tout risque de fréquence trop élevée des allumages / extinctions
Sécuriser le fonctionnement en H24 sans jamais aucun blocage
Contraintes :
Le chat refuse catégoriquement de se trimballer une puce RFID.
Hypothèses d'équipement retenues :
un arduino
un capteur d'angle ouverture de porte (magnétomètre)
Une question tu n'as pas rencontré de problème d'interférence magnétique. Je pense par exemple à l’alimentation de ton système ou si tu rapproche ton smartphone trop prés. Comment as tu positionné la boussole électronique sur ta porte et ton arduino ?
Interférences magnétiques je ne sais pas. Mais je n'ai pas détecté de mesures aberrantes au milieu des autres.
Le HMC5883 est dans un petit boitier fixé sur le coin supérieur de la porte, côté ouvrant.
Le reste (arduino + PIR + relais + alim) est dans un boitier fixé au mur, à proximité et un peu au-dessus de la poignée.
Entre les deux il y a un cable à 4 brins, d'un peu moins de 2 mètres, pour la communication I2C.
Le cable part du HMC5883L, à l'horizontale jusqu'au gond, puis suit l'encadrement supérieur de la porte jusqu'à l'arduino.
Excellent projet
Je souhaiterais intégrer un magnétomètre sur une porte mais je souhaiterais que cela soit inclus dans un boitier autonome sur piles.
Cet objet communiquera son angle d'ouverture soit par wifi, soit par un autre type de liaison radio.
Afin de minimiser la consommation des piles, il faudrait que le système puisse se mettre en veille quand la porte reste statique - mais quelle action pourra le réveiller?
Si vous avez des idées, je suis preneur