CNA ltc1655 et adg715

Dependencies:   mbed

Revision:
0:fbc63633ebee
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed Jun 10 07:20:17 2015 +0000
@@ -0,0 +1,132 @@
+#include "mbed.h"
+DigitalOut myled(LED1);
+I2C i2c(p9, p10);
+AnalogIn ina(p15);
+SPI cna(p5, p6, p7); // mosi, miso, sclk
+DigitalOut cs(p25);
+Serial pc(USBTX, USBRX);
+Ticker timer;  // timer 1 seconde pour mesure
+DigitalOut led1(LED1);
+DigitalOut led2(LED2);
+short num_capt;     // numéro de cateur en cours de mesure
+unsigned int val_capt1,val_capt2,val_capt3,val_capt4,val_capt5,val_capt6,val_capt7,val_capt8; // valeurs des differents capteurs
+unsigned int val_ref_capt1,val_ref_capt2,val_ref_capt3,val_ref_capt4,val_ref_capt5,val_ref_capt6,val_ref_capt7,val_ref_capt8; // valeurs des differents capteurs lorsque le ponr est à l'équilibre
+
+#include "cherche_tension.h"
+#include "cherche_equilibre.h"
+#include "branche_capt.h"
+
+bool mesure;
+
+void attime()
+{
+    mesure=true;
+}
+
+
+
+int main()
+{
+    mesure=false;               // boolean de mesure, passera à true toutes les secondes (timer)
+    branche_capteur(1);
+    cna.format(16,0);           // passe la spi en mode 16 bits
+    cs=1;
+    unsigned long int valcna;
+    unsigned int  valnum;
+    valcna=0;
+    wait(0.5);
+    cs=0;
+    cna.write(valcna);
+    cs=1;
+    // pc.printf("Mesure de l'equilibre des jauges... \n\r");
+    // val_ref_capt1=cherche_equilibre(1);
+    wait(0.1);
+    // val_ref_capt1=cherche_equilibre(1);
+    // pc.printf("Equilibre capteur 1= %U \n\r",val_ref_capt1);
+    //val_ref_capt2=cherche_equilibre(2);
+    //pc.printf("Equilibre capteur 2= %U \n\r",val_ref_capt2);
+    // faire pour les 9 capteurs
+    unsigned int  val;
+    valnum =10500;
+    cna.write(valnum);
+    wait(1);
+//   timer.attach(&attime, 15);   // création d'un timer une secon pour activer la poursuite et mesure
+  //  while(1) {
+        //  valcna==cherche_equilibre(1);
+
+        // pc.printf("Resultat numerique capteur1: %U\r\n",valcna);    // valeur lue cna sur capteur
+
+        // valnum =0000;
+        // cna.write(valnum);
+        
+        
+        
+        cherche_equilibre(10500);
+        
+      /*
+        valnum =12000;
+        cna.write(valnum);
+        wait_us(1000);
+        while (ina.read()>=0.5) {
+            //myled = 1;
+            valnum ++;
+            cs=0;
+            //  pc.printf("%U \n\r",ina.read());
+            cna.write(valnum);
+            wait_ms(10);
+            cs=1;
+        }
+        val=ina.read_u16()-27070;
+        */
+DigitalOut a(p5);
+DigitalOut b(p7);
+        a=0;
+        b=0;
+        pc.printf("Equilibre capteur 1= %U %U    \n\r",valnum,val);
+            wait(1);
+        //       pc.printf("Deformation: %d\r\n",val_ref_capt1-valcna);
+        //       wait(5);
+
+        //        valcna=cherche_tension(2);
+        //        pc.printf("Resultat numerique capteur2: %d\r\n",val_ref_capt2-valcna);
+        //   led2=!led2;
+        
+
+       float result;
+       
+           while(true)
+           {
+                val=0;           
+               val=val+ina.read_u16();
+               wait(0.1);
+               val=val+ina.read_u16();
+               wait(0.1);
+               val=val+ina.read_u16();
+               wait(0.1);
+               val=val+ina.read_u16();
+               wait(0.1);
+               val=val+ina.read_u16();
+               wait(0.1);
+               val=val+ina.read_u16();
+               wait(0.1);
+               val=val+ina.read_u16();
+               wait(0.1);
+               val=val+ina.read_u16();
+               wait(0.1);
+               val=val+ina.read_u16();
+               wait(0.1);
+               val=val+ina.read_u16();
+               wait(0.1);
+               result=val/10;
+               val=result;
+               
+               pc.printf("Val_CAN %U \n\r",val);
+               }
+  //  }
+//             pc.printf("Val_CAN %f \n\r",val);
+}
+
+
+
+
+