Module boussole "CMPS03"

Module boussole "CMPS03"

Ce petit module est capable de détecter le "nord" grâce à l'emploi de 2 capteurs spécialisés montés en angle à 90° et par déduction de vous indiquer son orientation par le biais d'un échange d'information via un bus I2C™ ou d'un signal "PWM".


Le signal PWM fournit une impulsion comprise entre 1 ms (0°) et 36,99 ms (359,9°) avec une résolution d'environ 100 us / °).
     
Idéalement conçue pour les applications liées à la robotique ludique cette boussole pourra par exemple être très facilement interfacée avec la plupart des microcontrôleurs ou avec les modules microcontrôlés type "PICBASIC™", CUBLOC™ ou ROVIN™".
     
Pour une plus grande facilité, le bus "I2C™" pourra également être utilisé pour récupérer les informations sous forme d'un mot binaire compris entre 0 et 255 ou 0 et 3599 (correspondant ici à 0 et 359,9 °).
   
Pour ce faire, il suffira d'adresser le module à la manière d'une mémoire série qui vous "répondra" en vous renvoyant la valeur mesurée. Afin d'augmenter la précision de la mesure, le module dispose également d'une procédure de calibrage et d'une intégration de l'influence des perturbations liées aux réseaux 50/60Hz.
 
Pouvant être piloté par la plupart des microcontrôleurs, ce capteur est également directement compatible avec la platine optionnelle "Serializer WL™" (voir en bas de page).
       
Caractéristiques techniques:
- Alimentation: + 5 Vcc.
- Consommation: 20 mA.
- Résolution: 0.1 °.
- Précision: 3 à 4 ° env.
- Dimensions: 32 x 35 mm. 
    
  Exemple d'application avec un PICBASIC
  Exemple d'application avec un module CUBLOC (Note d'application #6)

   

 Exemple d'application avec un module Cubloc "CB210" 
 Pilotage d'une boussole électronique"CMPS03" à commande I2C™     

Présentation: 
Cette application montre comment piloter une bossole électronique "CMPS03" à commande I2C™ à partir d'un module Cubloc "CB210" afin d'afficher la direction de la boussole via une aiguille fictive sur un écran LCD graphique couleur.
  
  
Matériel nécessaire:


- 1 module CUBLOC "CB210" (réf.: CB210) + 1 câble USB standard (réf.: CW090A
- 2 x résistances de 4,7 Kohms 
- 1 afficheur LCD couleur miniature (réf.: UL-144G2SGC)   
- 1 module bousolle (réf.: CMPS03)  
 
 
Câblage de l'application:


Application avec CMPS03

 
Description du programme:


Image CMPS03   Le programme est très simple. Ce dernier se contente de récupérer la valeur de l'angle de la position de la boussole via le bus I2C™. Cet angle est mémorisé dans une variable de type Interger sous la forme d'un nombre compris entre 0 et 359 (soit un angle de 0 à 359 °). Le programme va ensuite afficher une aiguille "virtuelle" sur un écran LCD couleur à commande série. Le tracé de cette aiguille utilise les mêmes formules que celles utilisée pour la notre d'application N° 8 Ci-dessous.

Le programme affiche également un petit rond "plein" au bout de l'aiguille afin que l'on puisse bien distinguer sa position.
 

Vidéo CMPS03   On prend soin de mémoriser l'ancienne position de l'aiguille afin d'effacer son tracé avant de redessiner celle-ci sur sa nouvelle position.
 
Toutes les nouveautés N'hésitez pas à visualiser la vidéo de cette application.

     

Code source:


'###############################################################

' Pilotage d'une matrice miniature à Leds à commande I2C  
' @Lextronic 2012 - 07/07/2012 - version Cubloc Studio 3.3.4
'
' Programme donne a titre d'exemple. A utiliser dans le cadre d'une initiation aux modules CUBLOC
' (l utilisation commerciale de ce programme est interdite). Lextronic decline toute responsabilite en
'  cas de prejudice resultant de l'utilisation de cette note d'application.
'###############################################################  

  

Const Device = CB210 

Dim x As Integer            ' Registre coordonne aiguilles
Dim y As Integer            ' Registre coordonne aiguilles
Dim xm As Integer         ' Registre memoire coordonne aiguilles
Dim ym As Integer         ' Registre memoire coordonne aiguilles
Dim angle As Integer      ' Variable angle
Dim mangle As Integer   ' Variable memore angle
Dim errorcom As Byte      ' Registre communication I2C

Delay 500 
Opencom 1,230400,3,10,70
Delay 500
Putstr 1,"U"                    ' Envoi caractere de synchronisation
Delay 500
Putstr 1,"E"                    ' Efface l'ecran
Delay 100 
Putstr 1,"p",&h01            ' Selection objet non plein
Delay 1
Putstr 1,"C",64,64,63,&h07,&hE0 ' Trace contour cercle boussole
Delay 100 
Set I2c 8,9                     ' Configure ports pour liaison I2C
Putstr 1,"p",&h00            ' Selection objet plein
Delay 500

Do 

' ####### Recuperation donnee de la boussole ############## 
I2cstart ' Condition Start I2C
errorcom = I2cwrite (&HC0)              ' Adresse du module CMPS03
errorcom = I2cwrite (0)                    ' Selectionne adresse registre a lire
I2cstart ' Condition Start I2C
errorcom = I2cwrite (&HC1)              ' Selectionne condition de lecture I2C
angle = I2cread(0)                         ' Lecture N° revision module CMPS03
angle = I2cread(0)                         ' lecture valeur angle (0 - 255)
angle.Byte1=I2cread(0)                  ' Recupere octet poids fort angle
angle.Byte0=I2cread(0)                  ' Recupere octet poids faible angle
errorcom = I2cwrite (&HC1)             ' Selectionne condition de lecture I2C
I2cstop                                         ' Condition Stop I2C

' ####### Dessine aiguille boussole ##############

x = 64 - Cos(((angle/10) * 3.141593) / 180.0) * 43
y = 64 - Sin(((angle/10) * 3.141593) / 180.0) * 43

If xm <> x Or ym <> y Then
  Putstr 1,"C",127-xm,127-ym,4,&h00,&h00         ' efface rond
  Delay 5
  Putstr 1,"L",xm,ym,127-xm,127-ym,&h00,&h00 ' efface aiguille
  Delay 3
  Putstr 1,"L",x,y,127-x,127-y,&h0FF,&hE0            ' Affiche aiguille
  Delay 3
  Putstr 1,"C",127-x,127-y,4,&h0FF,&hE0
  Delay 50 
  xm = x                                                         ' Memorise ancienne coordonee x 
  ym = y                                                          ' Memorise ancienne coordonee y 
Endif
Loop

 

Toutes les nouveautés   Voir toutes les notes d'applications pour le module "CB210"
Réf.
CMPS03
Tarif (prix unitaire)
31.66 € HT37.99 € TTC
» dont 0.01 € TTC d'éco-part. DEEE
QT :
Disponibilité  Disponibilité : + d'informations
Articles optionnels
Module CUBLOC "CB220B"
Quantité :
CB220B
41.41 € TTC
Autres produits similaires
Capteur d\'orientation 4 directions
Module "Me Compass"
Module boussole "HMC5883L"
Tous les articles de la rubrique "Boussoles électroniques"