benoit puissochet / Mbed 2 deprecated etape0

Dependencies:   mbed

Committer:
benpuiss
Date:
Mon May 23 07:06:59 2022 +0000
Revision:
0:4f6abed7fb04
c

Who changed what in which revision?

UserRevisionLine numberNew contents of line
benpuiss 0:4f6abed7fb04 1 // SAE1-S2 programme de départ testant uniquement la carte micro
benpuiss 0:4f6abed7fb04 2
benpuiss 0:4f6abed7fb04 3 #include "mbed.h" //
benpuiss 0:4f6abed7fb04 4 //****************** déclarations de toutes les broches !!***************
benpuiss 0:4f6abed7fb04 5 Serial pc(SERIAL_TX, SERIAL_RX); // PORT SERIE vers driver usb !!
benpuiss 0:4f6abed7fb04 6 AnalogIn inVs(A0) ; // entrée ana pour mesurer le Vs de la carte capteur
benpuiss 0:4f6abed7fb04 7 AnalogOut outVr(A4); // sortie ana pour la calibration du capteur
benpuiss 0:4f6abed7fb04 8 AnalogIn P1(A1) ; AnalogIn P0(A3) ; // entrée ana pour le code du capteur
benpuiss 0:4f6abed7fb04 9 AnalogIn inVp(A2) ; // entrée ana pour le potentiometre de la carte
benpuiss 0:4f6abed7fb04 10 DigitalOut plus(D1) ; // sortie logique alim du pull up interupteur 2 pins
benpuiss 0:4f6abed7fb04 11 DigitalIn inter(D2); // entrée logique mesure inter ( 1L à vide)
benpuiss 0:4f6abed7fb04 12 DigitalOut LED(D9) ; // sortie logique pour la LED de la carte ( 1 allume)
benpuiss 0:4f6abed7fb04 13
benpuiss 0:4f6abed7fb04 14 //****variables ***********************************************************
benpuiss 0:4f6abed7fb04 15 int recpt = 0 ; // tampon d'arrivée d'un octet de la liaison série
benpuiss 0:4f6abed7fb04 16 float Vs = 0.5 ; // variable ou lire Vs de 0 à 1 pour 0 à 3.3V vrai
benpuiss 0:4f6abed7fb04 17 float Vp = 0.5 ; // variable pour lire Vp (potentiomètre)0 à 1 pour 0 à 3.3V
benpuiss 0:4f6abed7fb04 18 float Vr = 0.3681 ; // variable de sortie Vr 0,3681 > Vk = 1.244 (20°C +-10mv)
benpuiss 0:4f6abed7fb04 19 float P = 0.1 ; // tampon de lecture des broches P0 et P1
benpuiss 0:4f6abed7fb04 20 int out = 0 ; // variable de sortie à serialiser en duj10
benpuiss 0:4f6abed7fb04 21 int etape = 0 ; // permet au programme de savoir ou il en est
benpuiss 0:4f6abed7fb04 22 int INP0= 0;
benpuiss 0:4f6abed7fb04 23 int INP1= 0;
benpuiss 0:4f6abed7fb04 24
benpuiss 0:4f6abed7fb04 25 //******** préparation des sous programmes
benpuiss 0:4f6abed7fb04 26 #include "sousprog.h"
benpuiss 0:4f6abed7fb04 27 #include "etape0.h"
benpuiss 0:4f6abed7fb04 28 #include "etape1.h"
benpuiss 0:4f6abed7fb04 29
benpuiss 0:4f6abed7fb04 30 void interrupt(); // obligatoire ici : pour la reception de liaison serie
benpuiss 0:4f6abed7fb04 31
benpuiss 0:4f6abed7fb04 32 int main() // boucle principale
benpuiss 0:4f6abed7fb04 33 {
benpuiss 0:4f6abed7fb04 34 // tester broche de l'inter ( entrée logique D2 nommée inter ou K)
benpuiss 0:4f6abed7fb04 35 /*if( inter == 1) // test inter sur carte MicroC
benpuiss 0:4f6abed7fb04 36 { pc.putc('w'); }
benpuiss 0:4f6abed7fb04 37 if( inter == 0) // test inter sur carte MicroC
benpuiss 0:4f6abed7fb04 38 { pc.putc('v'); } */
benpuiss 0:4f6abed7fb04 39
benpuiss 0:4f6abed7fb04 40 // mesurer la tension analogique sur P0
benpuiss 0:4f6abed7fb04 41
benpuiss 0:4f6abed7fb04 42
benpuiss 0:4f6abed7fb04 43
benpuiss 0:4f6abed7fb04 44 init(); // prépare certianes fonctions au debut
benpuiss 0:4f6abed7fb04 45
benpuiss 0:4f6abed7fb04 46 while(1)// boucle sans fin du programme
benpuiss 0:4f6abed7fb04 47 {
benpuiss 0:4f6abed7fb04 48 P = P0.read(); // regarde la tension sur P0 pour savoir si 0 ou 1L
benpuiss 0:4f6abed7fb04 49 if ( P > 0.51 )
benpuiss 0:4f6abed7fb04 50 {pc.putc('s'); INP0 = 1;}
benpuiss 0:4f6abed7fb04 51 if ( P < 0.49 )
benpuiss 0:4f6abed7fb04 52 {pc.putc('r'); INP0 = 0;}
benpuiss 0:4f6abed7fb04 53 P = P1.read();
benpuiss 0:4f6abed7fb04 54 if ( P > 0.51 )
benpuiss 0:4f6abed7fb04 55 {pc.putc('u'); INP1 = 1;}
benpuiss 0:4f6abed7fb04 56 if ( P < 0.49 )
benpuiss 0:4f6abed7fb04 57 {pc.putc('t'); INP1 = 0;}
benpuiss 0:4f6abed7fb04 58 etape = inter ;
benpuiss 0:4f6abed7fb04 59 if ( etape == 0 ) { pc.putc('v'); }
benpuiss 0:4f6abed7fb04 60 if ( etape == 1 ) { pc.putc('w'); }
benpuiss 0:4f6abed7fb04 61
benpuiss 0:4f6abed7fb04 62 if ( etape == 0 ) etape0() ; // au debut etape = 0
benpuiss 0:4f6abed7fb04 63 if ( etape == 1 ){
benpuiss 0:4f6abed7fb04 64 if ((INP0==1) && (INP1==1)) etape1T();
benpuiss 0:4f6abed7fb04 65 if ((INP0==0) && (INP1==1)) etape1F();
benpuiss 0:4f6abed7fb04 66 if ((INP0==1) && (INP1==0)) etape1L();
benpuiss 0:4f6abed7fb04 67 if ((INP0==0) && (INP1==0)) pc.putc('h');
benpuiss 0:4f6abed7fb04 68 }
benpuiss 0:4f6abed7fb04 69 }
benpuiss 0:4f6abed7fb04 70 }
benpuiss 0:4f6abed7fb04 71
benpuiss 0:4f6abed7fb04 72
benpuiss 0:4f6abed7fb04 73