Helmotz

Dependencies:   mbed

Committer:
Cointepas
Date:
Thu May 18 10:25:12 2017 +0000
Revision:
0:8d7791a3b914
Programme principal

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Cointepas 0:8d7791a3b914 1 #include "mbed.h"
Cointepas 0:8d7791a3b914 2 #include <Fonction.h>
Cointepas 0:8d7791a3b914 3
Cointepas 0:8d7791a3b914 4 Serial pc(USBTX, USBRX);
Cointepas 0:8d7791a3b914 5 I2C hmc(p9, p10); //je déclare mon maitre connécté à des pins spécifique SCL et SDA
Cointepas 0:8d7791a3b914 6 const int addr = 0x3C; // adresse d'écriture de ma sonde
Cointepas 0:8d7791a3b914 7 char config_hmc[2];
Cointepas 0:8d7791a3b914 8 char readhmc[6];
Cointepas 0:8d7791a3b914 9 float Bx, By, Bz;
Cointepas 0:8d7791a3b914 10
Cointepas 0:8d7791a3b914 11 using namespace std;
Cointepas 0:8d7791a3b914 12
Cointepas 0:8d7791a3b914 13
Cointepas 0:8d7791a3b914 14 void HMC5883L()
Cointepas 0:8d7791a3b914 15 {
Cointepas 0:8d7791a3b914 16 int i = 1;
Cointepas 0:8d7791a3b914 17 int a = 0;
Cointepas 0:8d7791a3b914 18 config_hmc[0]=0x00;
Cointepas 0:8d7791a3b914 19 config_hmc[1]=0x70;
Cointepas 0:8d7791a3b914 20 hmc.write(addr, config_hmc,2);
Cointepas 0:8d7791a3b914 21
Cointepas 0:8d7791a3b914 22 config_hmc[0]=0x01;
Cointepas 0:8d7791a3b914 23 config_hmc[1]=0xA0;
Cointepas 0:8d7791a3b914 24 hmc.write(addr, config_hmc,2);
Cointepas 0:8d7791a3b914 25
Cointepas 0:8d7791a3b914 26 config_hmc[0]=0x02;
Cointepas 0:8d7791a3b914 27 config_hmc[1]=0x01;
Cointepas 0:8d7791a3b914 28 hmc.write(addr, config_hmc,2);
Cointepas 0:8d7791a3b914 29
Cointepas 0:8d7791a3b914 30 wait(0.006);
Cointepas 0:8d7791a3b914 31 do{
Cointepas 0:8d7791a3b914 32 // while(ack!=0){
Cointepas 0:8d7791a3b914 33 hmc.read(addr, readhmc, 6);
Cointepas 0:8d7791a3b914 34
Cointepas 0:8d7791a3b914 35 /*readhmc[0]=0x03;
Cointepas 0:8d7791a3b914 36 hmc.write(addr, readhmc, 1);*/
Cointepas 0:8d7791a3b914 37
Cointepas 0:8d7791a3b914 38 Bx=((readhmc[0] << 8)|readhmc[1]);
Cointepas 0:8d7791a3b914 39 By=((readhmc[2] << 8)|readhmc[3]);
Cointepas 0:8d7791a3b914 40 Bz=((readhmc[4] << 8)|readhmc[5]);
Cointepas 0:8d7791a3b914 41
Cointepas 0:8d7791a3b914 42 pc.printf("\nBx=%f, By=%f, Bz=%f\n",Bx,By,Bz);
Cointepas 0:8d7791a3b914 43 hmc.stop();
Cointepas 0:8d7791a3b914 44 wait(0.7);
Cointepas 0:8d7791a3b914 45 a++;
Cointepas 0:8d7791a3b914 46 i = 0;
Cointepas 0:8d7791a3b914 47 wait(5);}while(a < 1);
Cointepas 0:8d7791a3b914 48
Cointepas 0:8d7791a3b914 49 // }
Cointepas 0:8d7791a3b914 50 }