Les deux révisions précédentesRévision précédente | |
issue179:micro-ci_micro-la [2022/03/31 11:30] – auntiee | issue179:micro-ci_micro-la [2022/04/01 16:53] (Version actuelle) – andre_domenech |
---|
Maintenant, nous créons notre boucle « éternelle » (en bas à gauche) qui interroge l'objet compass pour obtenir notre cap par rapport au nord magnétique. | Maintenant, nous créons notre boucle « éternelle » (en bas à gauche) qui interroge l'objet compass pour obtenir notre cap par rapport au nord magnétique. |
| |
Je vais emprunter une partie du texte du site Web d'Adafruit pour expliquer ce qui se passe dans le code : En l'absence de champs magnétiques locaux puissants, les relevés du capteur devraient refléter le champ magnétique de la terre (entre 20 et 60 micro-Teslas). Lorsque le capteur est maintenu à niveau, en calculant l'angle du champ magnétique par rapport aux axes X et Y, le dispositif peut être utilisé comme une boussole. Pour convertir les relevés microTesla en un cap de boussole de 0 à 360 degrés, nous pouvons utiliser la fonction atan2() pour calculer l'angle du vecteur défini par les relevés des axes Y et X. Le résultat sera exprimé en radians, nous le multiplions donc par 180 degrés et le divisons par Pi pour le convertir en degrés. | Je vais emprunter une partie du texte du site Web d'Adafruit pour expliquer ce qui se passe dans le code : en l'absence de champs magnétiques locaux puissants, les relevés du capteur devraient refléter le champ magnétique de la terre (entre 20 et 60 micro-Teslas). Lorsque le capteur est maintenu à niveau, en calculant l'angle du champ magnétique par rapport aux axes X et Y, le dispositif peut être utilisé comme une boussole. Pour convertir les relevés microTesla en un cap de boussole de 0 à 360 degrés, nous pouvons utiliser la fonction atan2() pour calculer l'angle du vecteur défini par les relevés des axes Y et X. Le résultat sera exprimé en radians, nous le multiplions donc par 180 degrés et le divisons par Pi pour le convertir en degrés. |
| |
Une fois que nous avons la valeur de l'orientation du capteur, les données qui reviennent sont comprises entre -180 et +180. Nous devons normaliser la valeur pour qu'elle soit comprise entre 0 et 359. Nous vérifions donc simplement si la valeur est inférieure à 0 et si c'est le cas, nous ajoutons 360 à la valeur et nous la retournons. | Une fois que nous avons la valeur de l'orientation du capteur, les données qui reviennent sont comprises entre -180 et +180. Nous devons normaliser la valeur pour qu'elle soit comprise entre 0 et 359. Nous vérifions donc simplement si la valeur est inférieure à 0 et si c'est le cas, nous ajoutons 360 à la valeur et nous la retournons. |
J'ai mis le code de notre projet sur mon dépôt à https://github.com/gregwa1953/FCM-179_MicroThisMicroThat . | J'ai mis le code de notre projet sur mon dépôt à https://github.com/gregwa1953/FCM-179_MicroThisMicroThat . |
| |
Dans un prochain article (le mois prochain, j'espère), nous ajouterons un anneau de LED RVB de style NeoPixel à notre projet pour fournir une indication visuelle qui pointe vers le nord - quelle que soit la direction à laquelle nous sommes confrontés, émulant ainsi une vraie boussole. | Dans un prochain article (le mois prochain, j'espère), nous ajouterons un anneau de LED RVB de style NeoPixel à notre projet pour fournir une indication visuelle qui pointe vers le nord, quelle que soit la direction à laquelle nous sommes confrontés, émulant ainsi une vraie boussole. |
| |
Jusqu'à la prochaine fois, comme toujours, restez en sécurité, en bonne santé, positifs et créatifs ! | Jusqu'à la prochaine fois, comme toujours, restez en sécurité, en bonne santé, positifs et créatifs ! |