vers 2

Dependencies:   Affichagesp2 C12832 LM75B WifiEsp8266 Acquisitionentreesp2

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 // acquerir la temperature avec le LM75B
00002 #include "mbed.h"
00003 #include "platform/mbed_thread.h"
00004 #include "LM75B.h"
00005 #include "acquisition.h"
00006 #include "affichagesp2.h"
00007 #include "wifiesp8266.h"
00008 
00009 float VitFluxAir = 0;
00010 float pression[8] = {0,0,0,0,0,0,0,0};
00011 float Fx = 0;
00012 float Fz = 0;
00013 float Aim = 0;
00014 float Aic = 0;
00015 
00016 RawSerial PC(USBTX, USBRX);
00017 WifiEsp8266 Wifi(PA_11,PA_12); // WifiEsp8266(PinName Txd, PinName Rxd,float _timeout);
00018 DigitalOut En(PC_11);
00019 LM75B sensor(D14,D15);
00020 
00021 Ticker test1;
00022 bool Drticker1 = false;
00023 void event1()
00024 {
00025     Drticker1 = true;
00026 }
00027 
00028 int main()
00029 {
00030     En.write(1);
00031     char WifiPhrase[maxdata];
00032     bool ecranchange=false;
00033     AnalogIn Pot1(A0);
00034     AnalogIn Pot2(A1);
00035     AffichageEcransp2();
00036     PC.baud(921600);
00037     PC.printf("Hello je suis SP2\r\n");
00038     test1.attach(&event1,1);
00039     while (true) {
00040         if (Wifi.dataready()) {
00041             strcpy(WifiPhrase,Wifi.read());
00042             // PC.printf("%s\r\n",WifiPhrase);
00043             switch (WifiPhrase[1]) {
00044                 case 'A':
00045                     VitFluxAir= atof(WifiPhrase+2);
00046                     ecranchange=true;
00047                     break;
00048                 case 'm':
00049                     Aic=Aic+1;
00050                     Wifi.printf("$l%0.0f\r\n",Aic);
00051                     ecranchange=true;
00052                     break;
00053                 case 'n' :
00054                     Aic=Aic-1;
00055                     Wifi.printf("$l%0.0f\r\n",Aic);
00056                     ecranchange=true;
00057                     break;
00058                 default :
00059                     ;
00060             }
00061 
00062         }
00063 
00064         if (Drticker1) {
00065             Drticker1 = false;
00066             pression[0] = Pot2.read()*100*VitFluxAir/72; //equivaut a mesure pression
00067             pression[1] = Pot2.read()*300*VitFluxAir/72; //equivaut a mesure pression
00068             pression[2] = Pot2.read()*600*VitFluxAir/72; //equivaut a mesure pression
00069             pression[3] = Pot2.read()*700*VitFluxAir/72; //equivaut a mesure pression
00070             pression[4] = Pot2.read()*700*VitFluxAir/72; //equivaut a mesure pression
00071             pression[5] = Pot2.read()*600*VitFluxAir/72; //equivaut a mesure pression
00072             pression[6] = Pot2.read()*300*VitFluxAir/72; //equivaut a mesure pression
00073             pression[7] = Pot2.read()*100*VitFluxAir/72; //equivaut a mesure pression
00074             Fx = Pot1.read() * 5;
00075             Fz = Pot1.read() * 5;
00076             Aim = Pot1.read() * 40 - 20;
00077             Wifi.printf("$z,%0.0f,%0.0f,%0.0f,%0.0f,%0.0f,%0.0f,%0.0f,%0.0f,%0.0f,%0.0f,%0.0f\r\n",pression[0],pression[1],pression[2],pression[3],pression[4],pression[5],pression[6],pression[7],Fx,Fz,Aim);
00078             ecranchange=true;
00079         }
00080         if (ecranchange) {
00081             AffichageEcransp2();
00082             ecranchange=false;
00083         }
00084     }
00085 }
00086