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.
Fork of HelloWorld by
main.cpp@15:b4b2e73faefb, 2017-08-31 (annotated)
- Committer:
- kkalsi
- Date:
- Thu Aug 31 15:47:06 2017 +0000
- Revision:
- 15:b4b2e73faefb
- Parent:
- 13:64137db317ab
- Child:
- 16:0b58c14b639d
including digit extraction
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| kkalsi | 6:62e39c103d12 | 1 | #include "mbed.h" |
| kkalsi | 9:f36f1506a840 | 2 | #include "MMA8452Q.h" |
| kkalsi | 7:32229ffff57e | 3 | |
| kkalsi | 2:42408ce8f4ae | 4 | Serial pc(USBTX, USBRX); // tx, rx |
| kkalsi | 10:386a3a12f3cf | 5 | SPI accel(p11,p12,p13); |
| kkalsi | 10:386a3a12f3cf | 6 | DigitalOut cs(p14); |
| kkalsi | 10:386a3a12f3cf | 7 | // Communication I2C |
| kkalsi | 9:f36f1506a840 | 8 | //I2C comI2C(p9,p10); // sda, scl |
| kkalsi | 10:386a3a12f3cf | 9 | |
| kkalsi | 3:8494c3f7108d | 10 | int main() { |
| kkalsi | 6:62e39c103d12 | 11 | |
| kkalsi | 15:b4b2e73faefb | 12 | //float x, y, z ; |
| kkalsi | 9:f36f1506a840 | 13 | |
| kkalsi | 15:b4b2e73faefb | 14 | MMA8452Q acc(p9,p10,0x1d); // acceleration object |
| kkalsi | 9:f36f1506a840 | 15 | |
| kkalsi | 9:f36f1506a840 | 16 | while (true) { |
| kkalsi | 15:b4b2e73faefb | 17 | // x = acc.getAccX() ; |
| kkalsi | 15:b4b2e73faefb | 18 | // y = acc.getAccY() ; |
| kkalsi | 15:b4b2e73faefb | 19 | // z = acc.getAccZ() ; |
| vincentlabbe | 13:64137db317ab | 20 | // printf("X[%.2f] Y[%.2f] Z[%.2f]\n",x, y, z) ; |
| kkalsi | 9:f36f1506a840 | 21 | wait(0.1); |
| vincentlabbe | 13:64137db317ab | 22 | |
| kkalsi | 15:b4b2e73faefb | 23 | float z = 0.707; |
| vincentlabbe | 13:64137db317ab | 24 | float resultat = (3.14/2.0) -( z + (z *z * z)/6.0 + (3*z*z*z*z*z)/40.0); |
| kkalsi | 15:b4b2e73faefb | 25 | pc.printf("valeur rad = %f", resultat); |
| kkalsi | 15:b4b2e73faefb | 26 | float degree = resultat * 18000.0/314.0; |
| kkalsi | 15:b4b2e73faefb | 27 | pc.printf("valeur deg = %f", degree); |
| kkalsi | 15:b4b2e73faefb | 28 | degree = degree * 10; |
| kkalsi | 15:b4b2e73faefb | 29 | int degreInt = (int)degree; |
| kkalsi | 15:b4b2e73faefb | 30 | pc.printf("valeur deg = %d", degreInt); |
| kkalsi | 15:b4b2e73faefb | 31 | |
| kkalsi | 10:386a3a12f3cf | 32 | |
| kkalsi | 15:b4b2e73faefb | 33 | // extracting digits |
| kkalsi | 15:b4b2e73faefb | 34 | char digits[4]; |
| kkalsi | 15:b4b2e73faefb | 35 | int i = 0; |
| kkalsi | 15:b4b2e73faefb | 36 | while(degreInt > 0) { |
| kkalsi | 15:b4b2e73faefb | 37 | digits[i]= degreInt % 10; //to get the right most digit |
| kkalsi | 15:b4b2e73faefb | 38 | pc.printf("digit %c = %c", i, digits[i]); |
| kkalsi | 15:b4b2e73faefb | 39 | degreInt /= 10; //reduce the number by one digit |
| kkalsi | 15:b4b2e73faefb | 40 | ++i; |
| kkalsi | 15:b4b2e73faefb | 41 | } |
| kkalsi | 15:b4b2e73faefb | 42 | //digits[i]='\0' //terminate the string |
| kkalsi | 15:b4b2e73faefb | 43 | |
| kkalsi | 10:386a3a12f3cf | 44 | |
| vincentlabbe | 13:64137db317ab | 45 | |
| vincentlabbe | 13:64137db317ab | 46 | /* |
| kkalsi | 10:386a3a12f3cf | 47 | cs = 0; |
| kkalsi | 11:5499b22fd01e | 48 | accel.write(x); |
| kkalsi | 10:386a3a12f3cf | 49 | cs = 1; |
| kkalsi | 10:386a3a12f3cf | 50 | wait(0.2); |
| vincentlabbe | 13:64137db317ab | 51 | cs = 0;*/ |
| kkalsi | 10:386a3a12f3cf | 52 | wait(1); |
| kkalsi | 10:386a3a12f3cf | 53 | } |
| kkalsi | 3:8494c3f7108d | 54 | } |
| kkalsi | 3:8494c3f7108d | 55 | |
| kkalsi | 3:8494c3f7108d | 56 | |
| kkalsi | 3:8494c3f7108d | 57 | /* communication SPI |
| kkalsi | 3:8494c3f7108d | 58 | Serial pc(USBTX, USBRX); // tx, rx |
| kkalsi | 2:42408ce8f4ae | 59 | SPI acc(p11,p12,p13); |
| kkalsi | 2:42408ce8f4ae | 60 | DigitalOut cs(p14); |
| kkalsi | 2:42408ce8f4ae | 61 | int main() { |
| kkalsi | 2:42408ce8f4ae | 62 | while(1){ |
| kkalsi | 2:42408ce8f4ae | 63 | int nombre = 0; |
| kkalsi | 2:42408ce8f4ae | 64 | pc.printf("Entrez un nombre de 4 chiffres : "); |
| kkalsi | 2:42408ce8f4ae | 65 | pc.scanf("%d", &nombre); |
| kkalsi | 2:42408ce8f4ae | 66 | pc.printf("Votre numero entrez est le : %d", nombre); |
| kkalsi | 2:42408ce8f4ae | 67 | |
| kkalsi | 2:42408ce8f4ae | 68 | cs = 0; |
| kkalsi | 3:8494c3f7108d | 69 | acc.write(nombre); |
| kkalsi | 2:42408ce8f4ae | 70 | cs = 1; |
| kkalsi | 2:42408ce8f4ae | 71 | wait(0.2); |
| kkalsi | 2:42408ce8f4ae | 72 | cs = 0; |
| kkalsi | 2:42408ce8f4ae | 73 | wait(1); |
| kkalsi | 2:42408ce8f4ae | 74 | } |
| kkalsi | 3:8494c3f7108d | 75 | }*/ |
| kkalsi | 2:42408ce8f4ae | 76 | /* |
| kkalsi | 2:42408ce8f4ae | 77 | Serial pc(USBTX, USBRX); // tx, rx |
| kkalsi | 2:42408ce8f4ae | 78 | Serial mc(p13,p14); |
| kkalsi | 2:42408ce8f4ae | 79 | int main() { |
| kkalsi | 2:42408ce8f4ae | 80 | |
| kkalsi | 2:42408ce8f4ae | 81 | int nombre = 0; |
| kkalsi | 2:42408ce8f4ae | 82 | pc.printf("Entrez un nombre de 4 chiffres : "); |
| kkalsi | 2:42408ce8f4ae | 83 | pc.scanf("%d", &nombre); |
| kkalsi | 2:42408ce8f4ae | 84 | pc.printf("Votre numero entrez est le : %d", nombre); |
| kkalsi | 2:42408ce8f4ae | 85 | mc.printf(nombre); |
| kkalsi | 2:42408ce8f4ae | 86 | } |
| kkalsi | 2:42408ce8f4ae | 87 | */ |
| simon | 0:fb6bbc10ffa0 | 88 | |
| kkalsi | 2:42408ce8f4ae | 89 | |
| kkalsi | 2:42408ce8f4ae | 90 | /* |
| kkalsi | 2:42408ce8f4ae | 91 | DigitalOut myled(LED2); |
| simon | 0:fb6bbc10ffa0 | 92 | |
| simon | 0:fb6bbc10ffa0 | 93 | int main() { |
| simon | 0:fb6bbc10ffa0 | 94 | while(1) { |
| simon | 0:fb6bbc10ffa0 | 95 | myled = 1; |
| simon | 0:fb6bbc10ffa0 | 96 | wait(0.2); |
| simon | 0:fb6bbc10ffa0 | 97 | myled = 0; |
| simon | 0:fb6bbc10ffa0 | 98 | wait(0.2); |
| simon | 0:fb6bbc10ffa0 | 99 | } |
| simon | 0:fb6bbc10ffa0 | 100 | } |
| kkalsi | 2:42408ce8f4ae | 101 | */ |
