hautot hautot
/
carte_mesure
CNA ltc1655 et adg715
main.cpp
- Committer:
- denishautot
- Date:
- 2015-06-10
- Revision:
- 0:fbc63633ebee
File content as of revision 0:fbc63633ebee:
#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); }