Mbed HOVER
Dependencies: Motor Servo mbed
main.cpp
00001 #include "mbed.h" 00002 #include "Servo.h" 00003 #include "Motor.h" 00004 00005 00006 Serial blue(p28,p27); 00007 00008 00009 DigitalOut led1(LED1); 00010 DigitalOut led2(LED2); 00011 DigitalOut led3(LED3); 00012 DigitalOut led4(LED4); 00013 00014 Motor propel(p22, p13, p14); 00015 00016 Servo turn(p23); 00017 Servo lift(p25); 00018 00019 int main() 00020 { 00021 char bnum=0; 00022 char bhit=0; 00023 00024 //calibrating 00025 lift = 0; 00026 wait(0.5); 00027 lift = 1; 00028 wait(10); 00029 lift = 0; 00030 wait(10); 00031 00032 00033 turn =0.5; 00034 lift = 0; 00035 00036 00037 00038 00039 while(1) { 00040 led1 = 1; 00041 if (blue.getc()=='!') { 00042 if (blue.getc()=='B') { //button data packet 00043 bnum = blue.getc(); //button number 00044 bhit = blue.getc(); //1=hit, 0=release 00045 if (blue.getc()==char(~('!' + 'B' + bnum + bhit))) { //checksum OK? 00046 00047 switch (bnum) { 00048 case '1': //number button 1 00049 if (bhit=='1') { 00050 //add hit code here 00051 } else { 00052 //add release code here 00053 } 00054 break; 00055 case '2': //number button 2 00056 if (bhit=='1') { 00057 propel.speed(1);//add hit code here 00058 } else { 00059 propel.speed(0);//add release code here 00060 } 00061 break; 00062 case '3': //number button 3 00063 if (bhit=='1') { 00064 //add hit code here 00065 } else { 00066 //add release code here 00067 } 00068 break; 00069 case '4': //number button 4 00070 if (bhit=='1') { 00071 propel.speed(-1);//add hit code here 00072 } else { 00073 propel.speed(0);//add release code here 00074 } 00075 break; 00076 case '5': //button 5 up arrow 00077 if (bhit=='1') { 00078 lift = 0.2; 00079 wait(2); 00080 lift = 0.4; 00081 wait(2); 00082 lift = 0.45; 00083 wait(2); 00084 lift = 0.6; 00085 wait(2); 00086 lift = 0.7; 00087 wait(2); 00088 lift = 0.8; 00089 wait(2); 00090 lift = 0.9; 00091 wait(2); 00092 lift= 1; 00093 00094 00095 00096 00097 00098 } else { 00099 //lift = 0.5;//add release code here 00100 } 00101 break; 00102 case '6': //button 6 down arrow 00103 if (bhit=='1') { 00104 lift = 0;//add hit code here 00105 } else { 00106 lift = 0;//add release code here 00107 } 00108 break; 00109 case '7': //button 7 left arrow 00110 if (bhit=='1') { 00111 00112 turn = 1;//add hit code here 00113 } else { 00114 turn = 0.5;//add release code here 00115 } 00116 break; 00117 case '8': //button 8 right arrow 00118 if (bhit=='1') { 00119 00120 turn = 0;//add hit code here 00121 } else { 00122 turn = 0.5;//add release code here 00123 } 00124 break; 00125 default: 00126 break; 00127 } 00128 } 00129 } 00130 } 00131 } 00132 }
Generated on Mon Aug 15 2022 00:25:54 by
1.7.2