Mbed HOVER

Dependencies:   Motor Servo mbed

Committer:
hankpkai
Date:
Mon Apr 24 03:50:45 2017 +0000
Revision:
0:146e770d8ab8
MBED_HOVER;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hankpkai 0:146e770d8ab8 1 #include "mbed.h"
hankpkai 0:146e770d8ab8 2 #include "Servo.h"
hankpkai 0:146e770d8ab8 3 #include "Motor.h"
hankpkai 0:146e770d8ab8 4
hankpkai 0:146e770d8ab8 5
hankpkai 0:146e770d8ab8 6 Serial blue(p28,p27);
hankpkai 0:146e770d8ab8 7
hankpkai 0:146e770d8ab8 8
hankpkai 0:146e770d8ab8 9 DigitalOut led1(LED1);
hankpkai 0:146e770d8ab8 10 DigitalOut led2(LED2);
hankpkai 0:146e770d8ab8 11 DigitalOut led3(LED3);
hankpkai 0:146e770d8ab8 12 DigitalOut led4(LED4);
hankpkai 0:146e770d8ab8 13
hankpkai 0:146e770d8ab8 14 Motor propel(p22, p13, p14);
hankpkai 0:146e770d8ab8 15
hankpkai 0:146e770d8ab8 16 Servo turn(p23);
hankpkai 0:146e770d8ab8 17 Servo lift(p25);
hankpkai 0:146e770d8ab8 18
hankpkai 0:146e770d8ab8 19 int main()
hankpkai 0:146e770d8ab8 20 {
hankpkai 0:146e770d8ab8 21 char bnum=0;
hankpkai 0:146e770d8ab8 22 char bhit=0;
hankpkai 0:146e770d8ab8 23
hankpkai 0:146e770d8ab8 24 //calibrating
hankpkai 0:146e770d8ab8 25 lift = 0;
hankpkai 0:146e770d8ab8 26 wait(0.5);
hankpkai 0:146e770d8ab8 27 lift = 1;
hankpkai 0:146e770d8ab8 28 wait(10);
hankpkai 0:146e770d8ab8 29 lift = 0;
hankpkai 0:146e770d8ab8 30 wait(10);
hankpkai 0:146e770d8ab8 31
hankpkai 0:146e770d8ab8 32
hankpkai 0:146e770d8ab8 33 turn =0.5;
hankpkai 0:146e770d8ab8 34 lift = 0;
hankpkai 0:146e770d8ab8 35
hankpkai 0:146e770d8ab8 36
hankpkai 0:146e770d8ab8 37
hankpkai 0:146e770d8ab8 38
hankpkai 0:146e770d8ab8 39 while(1) {
hankpkai 0:146e770d8ab8 40 led1 = 1;
hankpkai 0:146e770d8ab8 41 if (blue.getc()=='!') {
hankpkai 0:146e770d8ab8 42 if (blue.getc()=='B') { //button data packet
hankpkai 0:146e770d8ab8 43 bnum = blue.getc(); //button number
hankpkai 0:146e770d8ab8 44 bhit = blue.getc(); //1=hit, 0=release
hankpkai 0:146e770d8ab8 45 if (blue.getc()==char(~('!' + 'B' + bnum + bhit))) { //checksum OK?
hankpkai 0:146e770d8ab8 46
hankpkai 0:146e770d8ab8 47 switch (bnum) {
hankpkai 0:146e770d8ab8 48 case '1': //number button 1
hankpkai 0:146e770d8ab8 49 if (bhit=='1') {
hankpkai 0:146e770d8ab8 50 //add hit code here
hankpkai 0:146e770d8ab8 51 } else {
hankpkai 0:146e770d8ab8 52 //add release code here
hankpkai 0:146e770d8ab8 53 }
hankpkai 0:146e770d8ab8 54 break;
hankpkai 0:146e770d8ab8 55 case '2': //number button 2
hankpkai 0:146e770d8ab8 56 if (bhit=='1') {
hankpkai 0:146e770d8ab8 57 propel.speed(1);//add hit code here
hankpkai 0:146e770d8ab8 58 } else {
hankpkai 0:146e770d8ab8 59 propel.speed(0);//add release code here
hankpkai 0:146e770d8ab8 60 }
hankpkai 0:146e770d8ab8 61 break;
hankpkai 0:146e770d8ab8 62 case '3': //number button 3
hankpkai 0:146e770d8ab8 63 if (bhit=='1') {
hankpkai 0:146e770d8ab8 64 //add hit code here
hankpkai 0:146e770d8ab8 65 } else {
hankpkai 0:146e770d8ab8 66 //add release code here
hankpkai 0:146e770d8ab8 67 }
hankpkai 0:146e770d8ab8 68 break;
hankpkai 0:146e770d8ab8 69 case '4': //number button 4
hankpkai 0:146e770d8ab8 70 if (bhit=='1') {
hankpkai 0:146e770d8ab8 71 propel.speed(-1);//add hit code here
hankpkai 0:146e770d8ab8 72 } else {
hankpkai 0:146e770d8ab8 73 propel.speed(0);//add release code here
hankpkai 0:146e770d8ab8 74 }
hankpkai 0:146e770d8ab8 75 break;
hankpkai 0:146e770d8ab8 76 case '5': //button 5 up arrow
hankpkai 0:146e770d8ab8 77 if (bhit=='1') {
hankpkai 0:146e770d8ab8 78 lift = 0.2;
hankpkai 0:146e770d8ab8 79 wait(2);
hankpkai 0:146e770d8ab8 80 lift = 0.4;
hankpkai 0:146e770d8ab8 81 wait(2);
hankpkai 0:146e770d8ab8 82 lift = 0.45;
hankpkai 0:146e770d8ab8 83 wait(2);
hankpkai 0:146e770d8ab8 84 lift = 0.6;
hankpkai 0:146e770d8ab8 85 wait(2);
hankpkai 0:146e770d8ab8 86 lift = 0.7;
hankpkai 0:146e770d8ab8 87 wait(2);
hankpkai 0:146e770d8ab8 88 lift = 0.8;
hankpkai 0:146e770d8ab8 89 wait(2);
hankpkai 0:146e770d8ab8 90 lift = 0.9;
hankpkai 0:146e770d8ab8 91 wait(2);
hankpkai 0:146e770d8ab8 92 lift= 1;
hankpkai 0:146e770d8ab8 93
hankpkai 0:146e770d8ab8 94
hankpkai 0:146e770d8ab8 95
hankpkai 0:146e770d8ab8 96
hankpkai 0:146e770d8ab8 97
hankpkai 0:146e770d8ab8 98 } else {
hankpkai 0:146e770d8ab8 99 //lift = 0.5;//add release code here
hankpkai 0:146e770d8ab8 100 }
hankpkai 0:146e770d8ab8 101 break;
hankpkai 0:146e770d8ab8 102 case '6': //button 6 down arrow
hankpkai 0:146e770d8ab8 103 if (bhit=='1') {
hankpkai 0:146e770d8ab8 104 lift = 0;//add hit code here
hankpkai 0:146e770d8ab8 105 } else {
hankpkai 0:146e770d8ab8 106 lift = 0;//add release code here
hankpkai 0:146e770d8ab8 107 }
hankpkai 0:146e770d8ab8 108 break;
hankpkai 0:146e770d8ab8 109 case '7': //button 7 left arrow
hankpkai 0:146e770d8ab8 110 if (bhit=='1') {
hankpkai 0:146e770d8ab8 111
hankpkai 0:146e770d8ab8 112 turn = 1;//add hit code here
hankpkai 0:146e770d8ab8 113 } else {
hankpkai 0:146e770d8ab8 114 turn = 0.5;//add release code here
hankpkai 0:146e770d8ab8 115 }
hankpkai 0:146e770d8ab8 116 break;
hankpkai 0:146e770d8ab8 117 case '8': //button 8 right arrow
hankpkai 0:146e770d8ab8 118 if (bhit=='1') {
hankpkai 0:146e770d8ab8 119
hankpkai 0:146e770d8ab8 120 turn = 0;//add hit code here
hankpkai 0:146e770d8ab8 121 } else {
hankpkai 0:146e770d8ab8 122 turn = 0.5;//add release code here
hankpkai 0:146e770d8ab8 123 }
hankpkai 0:146e770d8ab8 124 break;
hankpkai 0:146e770d8ab8 125 default:
hankpkai 0:146e770d8ab8 126 break;
hankpkai 0:146e770d8ab8 127 }
hankpkai 0:146e770d8ab8 128 }
hankpkai 0:146e770d8ab8 129 }
hankpkai 0:146e770d8ab8 130 }
hankpkai 0:146e770d8ab8 131 }
hankpkai 0:146e770d8ab8 132 }