compass

Dependencies:   mbed

Committer:
s1210160
Date:
Wed Jun 15 02:07:54 2016 +0000
Revision:
1:88b3169e16f8
Parent:
0:2656331a8ea3
compass

Who changed what in which revision?

UserRevisionLine numberNew contents of line
s1210160 0:2656331a8ea3 1 #include "mbed.h"
s1210160 0:2656331a8ea3 2
s1210160 0:2656331a8ea3 3 DigitalIn compass0(p7);
s1210160 0:2656331a8ea3 4 DigitalIn compass1(p8);
s1210160 0:2656331a8ea3 5 DigitalIn compass2(p11);
s1210160 0:2656331a8ea3 6 DigitalIn compass3(p12);
s1210160 0:2656331a8ea3 7
s1210160 0:2656331a8ea3 8 int main()
s1210160 0:2656331a8ea3 9 {
s1210160 0:2656331a8ea3 10
s1210160 0:2656331a8ea3 11 int compass[4] = {0, 0, 0, 0};
s1210160 0:2656331a8ea3 12 int c = 0;
s1210160 0:2656331a8ea3 13
s1210160 0:2656331a8ea3 14 while(1) {
s1210160 0:2656331a8ea3 15 wait(0.1);
s1210160 0:2656331a8ea3 16
s1210160 0:2656331a8ea3 17 c = 0;
s1210160 0:2656331a8ea3 18 if(compass0) {
s1210160 0:2656331a8ea3 19 compass[0] = 1;
s1210160 0:2656331a8ea3 20 c += 1;
s1210160 0:2656331a8ea3 21 } else compass[0] = 0;
s1210160 0:2656331a8ea3 22 if(compass1) {
s1210160 0:2656331a8ea3 23 compass[1] = 1;
s1210160 0:2656331a8ea3 24 c += 2;
s1210160 0:2656331a8ea3 25 } else compass[1] = 0;
s1210160 0:2656331a8ea3 26 if(compass2) {
s1210160 0:2656331a8ea3 27 compass[2] = 1;
s1210160 0:2656331a8ea3 28 c += 4;
s1210160 0:2656331a8ea3 29 } else compass[2] = 0;
s1210160 0:2656331a8ea3 30 if(compass3) {
s1210160 0:2656331a8ea3 31 compass[3] = 1;
s1210160 0:2656331a8ea3 32 c += 8;
s1210160 0:2656331a8ea3 33 } else compass[3] = 0;
s1210160 0:2656331a8ea3 34
s1210160 0:2656331a8ea3 35 switch(c) {
s1210160 0:2656331a8ea3 36 case 0: {
s1210160 0:2656331a8ea3 37 printf("南: ");
s1210160 0:2656331a8ea3 38 break;
s1210160 0:2656331a8ea3 39 }
s1210160 0:2656331a8ea3 40 case 1:
s1210160 0:2656331a8ea3 41 printf("西南西: ");
s1210160 0:2656331a8ea3 42 break;
s1210160 0:2656331a8ea3 43
s1210160 0:2656331a8ea3 44 case 2:
s1210160 0:2656331a8ea3 45 printf("東北東: ");
s1210160 0:2656331a8ea3 46 break;
s1210160 0:2656331a8ea3 47
s1210160 0:2656331a8ea3 48 case 3:
s1210160 0:2656331a8ea3 49 printf("北: ");
s1210160 0:2656331a8ea3 50 break;
s1210160 0:2656331a8ea3 51
s1210160 0:2656331a8ea3 52 case 4:
s1210160 0:2656331a8ea3 53 printf("南南東: ");
s1210160 0:2656331a8ea3 54 break;
s1210160 0:2656331a8ea3 55
s1210160 0:2656331a8ea3 56 case 5:
s1210160 0:2656331a8ea3 57 printf("西: ");
s1210160 0:2656331a8ea3 58 break;
s1210160 0:2656331a8ea3 59
s1210160 0:2656331a8ea3 60 case 6:
s1210160 0:2656331a8ea3 61 printf("東: ");
s1210160 0:2656331a8ea3 62 break;
s1210160 0:2656331a8ea3 63
s1210160 0:2656331a8ea3 64 case 7:
s1210160 0:2656331a8ea3 65 printf("北北西: ");
s1210160 0:2656331a8ea3 66 break;
s1210160 0:2656331a8ea3 67
s1210160 0:2656331a8ea3 68 case 8:
s1210160 0:2656331a8ea3 69 printf("南南西: ");
s1210160 0:2656331a8ea3 70 break;
s1210160 0:2656331a8ea3 71
s1210160 0:2656331a8ea3 72 case 9:
s1210160 0:2656331a8ea3 73 printf("南西: ");
s1210160 0:2656331a8ea3 74 break;
s1210160 0:2656331a8ea3 75
s1210160 0:2656331a8ea3 76 case 10:
s1210160 0:2656331a8ea3 77 printf("北東: ");
s1210160 0:2656331a8ea3 78 break;
s1210160 0:2656331a8ea3 79
s1210160 0:2656331a8ea3 80 case 11:
s1210160 0:2656331a8ea3 81 printf("北北東: ");
s1210160 0:2656331a8ea3 82 break;
s1210160 0:2656331a8ea3 83
s1210160 0:2656331a8ea3 84 case 12:
s1210160 0:2656331a8ea3 85 printf("南東: ");
s1210160 0:2656331a8ea3 86 break;
s1210160 0:2656331a8ea3 87
s1210160 0:2656331a8ea3 88 case 13:
s1210160 0:2656331a8ea3 89 printf("西北西: ");
s1210160 0:2656331a8ea3 90 break;
s1210160 0:2656331a8ea3 91
s1210160 0:2656331a8ea3 92 case 14:
s1210160 0:2656331a8ea3 93 printf("東南東: ");
s1210160 0:2656331a8ea3 94 break;
s1210160 0:2656331a8ea3 95
s1210160 0:2656331a8ea3 96 case 15:
s1210160 0:2656331a8ea3 97 printf("北西: ");
s1210160 0:2656331a8ea3 98 break;
s1210160 0:2656331a8ea3 99
s1210160 0:2656331a8ea3 100 default:
s1210160 0:2656331a8ea3 101 break;
s1210160 0:2656331a8ea3 102 }
s1210160 0:2656331a8ea3 103
s1210160 0:2656331a8ea3 104 for(int i=0; i<4; i++) {
s1210160 0:2656331a8ea3 105 printf("%d", compass[i]);
s1210160 0:2656331a8ea3 106 }
s1210160 0:2656331a8ea3 107 printf("\n");
s1210160 0:2656331a8ea3 108 }
s1210160 0:2656331a8ea3 109 return 0;
s1210160 0:2656331a8ea3 110 }