Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@2:656a20620e62, 2019-02-26 (annotated)
- Committer:
- karteck
- Date:
- Tue Feb 26 14:17:36 2019 +0000
- Revision:
- 2:656a20620e62
- Parent:
- 0:f07bc5dab40d
- Child:
- 3:e750507bf900
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| Nilox | 0:f07bc5dab40d | 1 | #include "mbed.h" |
| Nilox | 0:f07bc5dab40d | 2 | #include <PwmIn.h> |
| karteck | 2:656a20620e62 | 3 | #include <stdio.h> |
| Nilox | 0:f07bc5dab40d | 4 | |
| Nilox | 0:f07bc5dab40d | 5 | DigitalIn mybutton(USER_BUTTON); |
| Nilox | 0:f07bc5dab40d | 6 | DigitalOut trig(PA_10); |
| Nilox | 0:f07bc5dab40d | 7 | Serial pc(USBTX,USBRX); |
| Nilox | 0:f07bc5dab40d | 8 | PwmIn LidarI(PB_3); |
| Nilox | 0:f07bc5dab40d | 9 | |
| Nilox | 0:f07bc5dab40d | 10 | float mes = 0; |
| karteck | 2:656a20620e62 | 11 | int arret = 0, n = 0, i = 0; |
| Nilox | 0:f07bc5dab40d | 12 | |
| Nilox | 0:f07bc5dab40d | 13 | float boucleM(){ |
| Nilox | 0:f07bc5dab40d | 14 | wait_ms(10); |
| karteck | 2:656a20620e62 | 15 | mes = LidarI.pulsewidth() / 10; |
| Nilox | 0:f07bc5dab40d | 16 | if(mes!=0){ |
| karteck | 2:656a20620e62 | 17 | pc.printf("Mesure : %f\n",mes); |
| Nilox | 0:f07bc5dab40d | 18 | } else pc.printf("Erreur : valeur nulles.\n"); |
| Nilox | 0:f07bc5dab40d | 19 | arret = !mybutton.read(); |
| karteck | 2:656a20620e62 | 20 | return (mes); |
| Nilox | 0:f07bc5dab40d | 21 | } |
| karteck | 2:656a20620e62 | 22 | |
| karteck | 2:656a20620e62 | 23 | |
| karteck | 2:656a20620e62 | 24 | void rotation(float angle){ |
| karteck | 2:656a20620e62 | 25 | |
| karteck | 2:656a20620e62 | 26 | |
| karteck | 2:656a20620e62 | 27 | } |
| Nilox | 0:f07bc5dab40d | 28 | |
| Nilox | 0:f07bc5dab40d | 29 | |
| Nilox | 0:f07bc5dab40d | 30 | int main() { |
| karteck | 2:656a20620e62 | 31 | float aireTotale = 0, aireTriangle = 0, angle; |
| karteck | 2:656a20620e62 | 32 | |
| karteck | 2:656a20620e62 | 33 | |
| karteck | 2:656a20620e62 | 34 | |
| Nilox | 0:f07bc5dab40d | 35 | pc.printf("\nLancement du programme...\n"); |
| Nilox | 0:f07bc5dab40d | 36 | pc.printf("Combien de mesures allez-vous prendre ?\n"); |
| Nilox | 0:f07bc5dab40d | 37 | pc.scanf("%d",&n); |
| Nilox | 0:f07bc5dab40d | 38 | pc.printf("%d\n\n",n); |
| Nilox | 0:f07bc5dab40d | 39 | float tabM[n]; |
| Nilox | 0:f07bc5dab40d | 40 | |
| karteck | 2:656a20620e62 | 41 | angle = 360 / n; // Angle de chaque rotation du moteur |
| karteck | 2:656a20620e62 | 42 | |
| Nilox | 0:f07bc5dab40d | 43 | trig = 1; |
| Nilox | 0:f07bc5dab40d | 44 | trig=0; |
| Nilox | 0:f07bc5dab40d | 45 | wait_us(500); |
| karteck | 2:656a20620e62 | 46 | |
| karteck | 2:656a20620e62 | 47 | tabM[i]=boucleM(); |
| karteck | 2:656a20620e62 | 48 | i++; |
| Nilox | 0:f07bc5dab40d | 49 | while(i<n){ |
| Nilox | 0:f07bc5dab40d | 50 | tabM[i]=boucleM(); |
| Nilox | 0:f07bc5dab40d | 51 | i++; |
| karteck | 2:656a20620e62 | 52 | //Fonction rotation moteur rotation(float angle); |
| karteck | 2:656a20620e62 | 53 | wait(2); |
| karteck | 2:656a20620e62 | 54 | |
| karteck | 2:656a20620e62 | 55 | aireTriangle = (tabM[i - 1] * tabM[i] * sin(angle) ) / 2; |
| karteck | 2:656a20620e62 | 56 | aireTotale += aireTriangle; |
| Nilox | 0:f07bc5dab40d | 57 | } |
| Nilox | 0:f07bc5dab40d | 58 | i=0; |
| Nilox | 0:f07bc5dab40d | 59 | while(i<n){ |
| karteck | 2:656a20620e62 | 60 | pc.printf("M(%d):[%f]\n",i ,tabM[i]); |
| Nilox | 0:f07bc5dab40d | 61 | i=i++; |
| Nilox | 0:f07bc5dab40d | 62 | } |
| karteck | 2:656a20620e62 | 63 | |
| karteck | 2:656a20620e62 | 64 | pc.printf("\n Aire total : %f \n", aireTotale); |
| Nilox | 0:f07bc5dab40d | 65 | pc.printf("Arret du programme..."); |
| Nilox | 0:f07bc5dab40d | 66 | sleep(); |
| Nilox | 0:f07bc5dab40d | 67 | } |
| karteck | 2:656a20620e62 | 68 | |
| karteck | 2:656a20620e62 | 69 | |
| karteck | 2:656a20620e62 | 70 | |
| karteck | 2:656a20620e62 | 71 | |
| karteck | 2:656a20620e62 | 72 | |
| karteck | 2:656a20620e62 | 73 | |
| karteck | 2:656a20620e62 | 74 | |
| karteck | 2:656a20620e62 | 75 | /* DEUXIEME VERSION A METTRE DANS MAIN |
| karteck | 2:656a20620e62 | 76 | passe dans la tableau et calcule l'aire une fois que les mesures sont prises |
| karteck | 2:656a20620e62 | 77 | |
| karteck | 2:656a20620e62 | 78 | |
| karteck | 2:656a20620e62 | 79 | i = 1; |
| karteck | 2:656a20620e62 | 80 | while (i < n){ |
| karteck | 2:656a20620e62 | 81 | |
| karteck | 2:656a20620e62 | 82 | aireTriangle = (tabM[i - 1] * tabM[i] * sin(angle) ) / 2; |
| karteck | 2:656a20620e62 | 83 | aireTotale += aireTriangle; |
| karteck | 2:656a20620e62 | 84 | i++; |
| karteck | 2:656a20620e62 | 85 | } |
| karteck | 2:656a20620e62 | 86 | |
| karteck | 2:656a20620e62 | 87 | |
| karteck | 2:656a20620e62 | 88 | |
| karteck | 2:656a20620e62 | 89 | */ |
| karteck | 2:656a20620e62 | 90 | |
| karteck | 2:656a20620e62 | 91 | |
| karteck | 2:656a20620e62 | 92 | |
| karteck | 2:656a20620e62 | 93 | |
| karteck | 2:656a20620e62 | 94 | |
| karteck | 2:656a20620e62 | 95 | |
| karteck | 2:656a20620e62 | 96 | |
| karteck | 2:656a20620e62 | 97 | |
| Nilox | 0:f07bc5dab40d | 98 |