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.
Dependencies: MMA8451Q mbed nRF24L01P
Fork of nRF24L01P_Hello_World by
main.cpp
00001 #include "mbed.h" 00002 #include "MMA8451Q.h" 00003 #include "nRF24L01P.h" 00004 #include <string> 00005 00006 #define MMA8451_I2C_ADDRESS (0x1d<<1) 00007 #define TRANSFER_SIZE 1 00008 00009 nRF24L01P my_nrf24l01p(PTD2, PTD3, PTC5, PTA4, PTC8, PTA12); // mosi, miso, sck, csn, ce, irq 00010 DigitalOut tx(PTD5); 00011 DigitalOut rx(PTA13); 00012 DigitalIn press(PTB0); 00013 00014 00015 int funcx(float y); //Function to dtermine angle 00016 string funcp(int, char); 00017 string funcp(int p, char c); 00018 Serial pc(USBTX, USBRX); 00019 00020 float Y; 00021 int x; 00022 string z; 00023 float p; 00024 00025 00026 int main(){ 00027 MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS); 00028 char rxData[TRANSFER_SIZE]; 00029 int rxDataCnt = 0; 00030 my_nrf24l01p.powerUp(); 00031 my_nrf24l01p.setTransferSize( TRANSFER_SIZE ); 00032 my_nrf24l01p.setReceiveMode(); 00033 my_nrf24l01p.enable(); 00034 pc.printf("receiver\n"); 00035 00036 00037 while (1){ 00038 p = press.read(); 00039 Y = abs(acc.getAccY()); //Get gyroscope readings 00040 x =funcx(Y); //Call function to determine angle based on gyroscoe readings 00041 00042 if (p && my_nrf24l01p.readable()){//transmitter not sending signal when open string. 00043 //if (my_nrf24l01p.readable()){ 00044 rxDataCnt = my_nrf24l01p.read( NRF24L01P_PIPE_P0, rxData, sizeof( rxData ) ); 00045 for ( int i = 0; rxDataCnt > 0; rxDataCnt--, i++ ){ 00046 //pc.putc( rxData[i] ); 00047 z = funcp(x, rxData[i]); 00048 pc.printf("%s\n", z); 00049 } 00050 rx = !rx; 00051 } 00052 00053 //z=funcp(x,rxData[i]); what is this????????????????????????????????????????????????????????????????????? 00054 00055 } 00056 } 00057 00058 //Function used to determine the angle for note 00059 int funcx(float y){ 00060 int a; 00061 if (y < 0.25000) 00062 { 00063 a=1; 00064 } 00065 else if (y > 0.25001 && y < 0.5000) 00066 { 00067 a=2; 00068 } 00069 else if (y > 0.50001 && y < 0.7500) 00070 { 00071 a=3; 00072 } 00073 else 00074 { 00075 a=4; 00076 } 00077 //pc.printf("%i ",a); 00078 return a; 00079 } 00080 00081 //Final function used to dtermine what string to send to the phone// 00082 string funcp(int p, char c){ 00083 string str; // Final string output 00084 00085 if(p == 1) 00086 { 00087 if(c == 'r') 00088 { 00089 str = "G string D flat"; 00090 //return str; 00091 } 00092 if(c == 'e') 00093 { 00094 str = "G string C flat"; 00095 //return str; 00096 } 00097 if(c == 'w') 00098 { 00099 str = "G string B flat"; 00100 //return str; 00101 } 00102 if(c == 'q') 00103 { 00104 str = "G string A flat"; 00105 //return str; 00106 } 00107 if(c == 'f') 00108 { 00109 str = "G string D"; 00110 //return str; 00111 } 00112 if(c == 'd') 00113 { 00114 str = "G string C"; 00115 //return str; 00116 } 00117 if(c == 's') 00118 { 00119 str = "G string B"; 00120 //return str; 00121 } 00122 if(c == 'a') 00123 { 00124 str = "G string A"; 00125 //return str; 00126 } 00127 if(c == 'v') 00128 { 00129 str = "G string D sharp"; 00130 //return str; 00131 } 00132 if(c == 'c') 00133 { 00134 str = "G string C sharp"; 00135 //return str; 00136 } 00137 if(c == 'x') 00138 { 00139 str = "G string B sharp"; 00140 //return str; 00141 } 00142 if(c == 'z') 00143 { 00144 str = "G string A sharp"; 00145 //return str; 00146 } 00147 if(c == '0') 00148 { 00149 str = "Open G string"; 00150 return str; 00151 } 00152 00153 } 00154 if(p == 2) 00155 { 00156 str = "Open D"; 00157 if(c == 'r') 00158 { 00159 str = "D string A flat"; 00160 //return str; 00161 } 00162 if(c == 'e') 00163 { 00164 str = "D string G flat"; 00165 //return str; 00166 } 00167 if(c == 'w') 00168 { 00169 str = "D string F flat"; 00170 //return str; 00171 } 00172 if(c == 'q') 00173 { 00174 str = "D string E flat"; 00175 //return str; 00176 } 00177 if(c == 'f') 00178 { 00179 str = "D string A"; 00180 //return str; 00181 } 00182 if(c == 'd') 00183 { 00184 str = "D string G"; 00185 //return str; 00186 } 00187 if(c == 's') 00188 { 00189 str = "D string F"; 00190 //return str; 00191 } 00192 if(c == 'a') 00193 { 00194 str = "D string E"; 00195 //return str; 00196 } 00197 if(c == 'v') 00198 { 00199 str = "D string A sharp"; 00200 //return str; 00201 } 00202 if(c == 'c') 00203 { 00204 str = "D string G sharp"; 00205 //return str; 00206 } 00207 if(c == 'x') 00208 { 00209 str = "D string F sharp"; 00210 //return str; 00211 } 00212 if(c == 'z') 00213 { 00214 str = "D string E sharp"; 00215 //return str; 00216 } 00217 if(c == '0') 00218 { 00219 str = "Open D string"; 00220 return str; 00221 } 00222 } 00223 if(p == 3) 00224 { 00225 str = "Open A"; 00226 if(c == 'r') 00227 { 00228 str = "A string E flat"; 00229 //return str; 00230 } 00231 if(c == 'e') 00232 { 00233 str = "A string D flat"; 00234 //return str; 00235 } 00236 if(c == 'w') 00237 { 00238 str = "A string C flat"; 00239 //return str; 00240 } 00241 if(c == 'q') 00242 { 00243 str = "A string B flat"; 00244 //return str; 00245 } 00246 if(c == 'f') 00247 { 00248 str = "A string E"; 00249 //return str; 00250 } 00251 if(c == 'd') 00252 { 00253 str = "A string D"; 00254 //return str; 00255 } 00256 if(c == 's') 00257 { 00258 str = "A string C"; 00259 //return str; 00260 } 00261 if(c == 'a') 00262 { 00263 str = "A string B"; 00264 //return str; 00265 } 00266 if(c == 'v') 00267 { 00268 str = "A string E sharp"; 00269 //return str; 00270 } 00271 if(c == 'c') 00272 { 00273 str = "A string D sharp"; 00274 //return str; 00275 } 00276 if(c == 'x') 00277 { 00278 str = "A string C sharp"; 00279 //return str; 00280 } 00281 if(c == 'z') 00282 { 00283 str = "A string B sharp"; 00284 //return str; 00285 } 00286 if(c == '0') 00287 { 00288 str = "Open A string"; 00289 return str; 00290 } 00291 } 00292 if(p == 4) 00293 { 00294 str = "Open E"; 00295 if(c == 'r') 00296 { 00297 str = "E string B flat"; 00298 //return str; 00299 } 00300 if(c == 'e') 00301 { 00302 str = "E string A flat"; 00303 //return str; 00304 } 00305 if(c == 'w') 00306 { 00307 str = "E string G flat"; 00308 //return str; 00309 } 00310 if(c == 'q') 00311 { 00312 str = "E string F flat"; 00313 //return str; 00314 } 00315 if(c == 'f') 00316 { 00317 str = "E string B"; 00318 //return str; 00319 } 00320 if(c == 'd') 00321 { 00322 str = "E string A"; 00323 //return str; 00324 } 00325 if(c == 's') 00326 { 00327 str = "E string G"; 00328 //return str; 00329 } 00330 if(c == 'a') 00331 { 00332 str = "E string F"; 00333 //return str; 00334 } 00335 if(c == 'v') 00336 { 00337 str = "E string B sharp"; 00338 //return str; 00339 } 00340 if(c == 'c') 00341 { 00342 str = "E string A sharp"; 00343 //return str; 00344 } 00345 if(c == 'x') 00346 { 00347 str = "E string G sharp"; 00348 //return str; 00349 } 00350 if(c == 'z') 00351 { 00352 str = "E string F sharp"; 00353 //return str; 00354 } 00355 if(c == '0') 00356 { 00357 str = "Open E string"; 00358 return str; 00359 } 00360 } 00361 00362 00363 00364 return str; 00365 }
Generated on Wed Jul 13 2022 17:48:53 by
1.7.2
