Dans ce tutoriel, nous utiliserons un script python pour lire et présenter graphiquement les données issues d'un accéléromètre numérique avec une interface I2C (LIS35DE) au moyen d'un boitier Digital Discovery.
  
Matériel nécessaire:
- Boitier Digital Discovery
- Logiciel WaveForms
- Un ordinateur avec un port USB pour exécuter le logiciel
- Le logiciel Python avec interprète Python 2.7 et matplotlib
- Un accéléromètre avec une interface I2C
  Dans cet exemple, nous utilisons le LIS35DE monté sur un module KAmodMEMS2
- Des câbles MTE 2 × 6 peuvent être utilisés pour les connexions
Code source Python téléchargé sur l'ordinateur 
 


 
 
Étape 1: configuration matérielle
 
1. Connectez GND et Vdd du capteur aux broches GND et VIO du boitier Digital Discovery.
  
2. Le capteur dispose d'une double interface (SPI ou I2C). Il doit rester en mode I2C. La broche CS de l'appareil doit être connectée à Vdd.
  
3. La puce a une adresse I2C sélectionnable; pour sélectionner 0x38 pour l'adresse, la broche SDO doit être liée à GND .
 
4. Les lignes SDA et SCL doivent être connectées respectivement à DIO33 et DIO32.
 
5. Ces lignes doivent avoir des résistances de pull-up appropriées connectées - les résistances sont déjà montées sur le module sélectionné.
  
 
  
Étape 2: Script

Le script Python téléchargé va:
 
1. Charger le SDK WaveForms

2. Se connecter au boitier Digital Discovery
 
3. Activer l'alimentation 3,3 V du capteur
 
4. Configurer l'interface I2C
 
 
Pour configurer la démo, l'utilisateur doit définir la fréquence de fonctionnement du bus et sélectionner les broches du boitier Digital Discovery à utiliser.
 
Remarque : Les fonctions du SDK liées à la sortie numérique ou à l'entrée/sortie (comme pour l'interface I2C) commencent à compter les canaux à partir de DIO24. DIO24 sera référencé comme 0, DIO 25 comme 1, etc.

# set I2C frequency and pins
dwf.FDwfDigitalI2cRateSet(hdwf, c_double(1e5)) # 100kHz
dwf.FDwfDigitalI2cSclSet(hdwf, c_int(32-24)) # SCL = DIO-32
dwf.FDwfDigitalI2cSdaSet(hdwf, c_int(33-24)) # SDA = DIO-33
 
 
5. Initialiser le capteur et l'affichage
 
6. Lire les données du capteur et mettre à jour les graphiques tant que la fenêtre de tracé est ouverte.
 

Chaque opération de lecture du capteur est une opération d'écriture-lecture sur le bus I2C. Une adresse de périphérique est définie pour une opération complète et le SDK WaveForms maintient automatiquement le bit R / W. Deux tableaux sont utilisés pour écrire et lire des données, et l'utilisateur spécifie le nombre d'octets à écrire et, après un démarrage répété, à lire. Dans notre cas, un seul octet est écrit. L'adresse de registre est combinée avec un masque de bits indiquant que le capteur doit incrémenter l'adresse de registre après la lecture de chaque octet sur le bus. Ensuite, 5 octets sont lus dans les registres suivants en commençant au registre OUTX. Les données lues contiennent 3 octets avec les données d'accélération X, Y et Z représentées en complément à deux et deux octets fictifs. 

dwf.FDwfDigitalI2cWriteRead (hdwf, c_int (adresse << 1), (c_ubyte * 1) (LIS35DEreg.REG_OUTX | LIS35DEreg.READ_INC), c_int (1), rgRX, c_int (5), byref (iNak)) 
  
 
7. Après avoir fermé la fenêtre de traçage, désactiver l'alimentation électrique et se déconnectez de l'appareil
   
 
  
Étape 3: exécution de la démo
 
Avant d'exécuter le script, assurez-vous que toutes les connexions sont correctes et placez le capteur sur une surface plane pour un étalonnage du «niveau à bulle virtuel». Lorsque vous êtes prêt, exécutez le script. La fenêtre suivante devrait apparaître. 

 

Graphe 
 

La partie supérieure de la fenêtre présente l'accélération XYZ en direct du capteur en fonction du temps, tandis que la partie inférieure présente l'accélération réelle X et Y sous la forme d'un astérisque bleu (*) - lorsque le capteur est dans la même orientation qu'au script démarrage l'astérisque est au centre - il se comporte comme un niveau à bulle.
 
Après avoir fermé la fenêtre, le script arrêtera le capteur et se déconnectera du boitier Digital Discovery.
  
   
 
Étape 4: Conclusion
 
À l'aide d'un SDK Digital Discovery et de WaveForms, il est possible de communiquer avec un capteur numérique représentatif. Avec un peu d'effort, la communication et la configuration peuvent être testées, ainsi qu'une interface graphique simple présentée. Certaines routines de test automatique peuvent être implémentées pour le contrôle de la conception.

  
 
Pour en savoir plus...
Pour plus de guides sur l'utilisation du boitier Digital Discovery, consultez le centre de ressources de l'appareil. Pour plus d'informations sur WaveForms, consultez le manuel de référence WaveForms. Pour l'assistance technique, veuillez visiter la section Scopes and Instruments des forums Digilent.



Crédit: @ Digilent 2020

Produit ajouté à ma liste