Yigit Enes / Mbed 2 deprecated SAE2_Ep13_copy

Dependencies:   mbed

Committer:
enesyi
Date:
Thu May 19 13:06:08 2022 +0000
Revision:
0:dbd6ea244e7e
hello my name is djibril;

Who changed what in which revision?

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