Tapton school eds robot project mbed2
Dependencies: SDFileSystem SRF05 mbed wave_player_appbd
main.cpp@0:5482b23752a8, 2017-03-14 (annotated)
- Committer:
- matt8174
- Date:
- Tue Mar 14 13:46:35 2017 +0000
- Revision:
- 0:5482b23752a8
Mbed2 Tapton school eds robot project
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
matt8174 | 0:5482b23752a8 | 1 | // Mbed 2 Additional sensors and Audio control |
matt8174 | 0:5482b23752a8 | 2 | |
matt8174 | 0:5482b23752a8 | 3 | #include "mbed.h" |
matt8174 | 0:5482b23752a8 | 4 | #include "SRF05.h" |
matt8174 | 0:5482b23752a8 | 5 | #include "SDFileSystem.h" |
matt8174 | 0:5482b23752a8 | 6 | #include "wave_player.h" |
matt8174 | 0:5482b23752a8 | 7 | #include "string" |
matt8174 | 0:5482b23752a8 | 8 | #include <stdio.h> |
matt8174 | 0:5482b23752a8 | 9 | #include <stdlib.h> |
matt8174 | 0:5482b23752a8 | 10 | #include <iostream> |
matt8174 | 0:5482b23752a8 | 11 | //Serial pc(USBTX, USBRX); // for terminal diagnostics |
matt8174 | 0:5482b23752a8 | 12 | |
matt8174 | 0:5482b23752a8 | 13 | Serial communicate(p28, p27);// serial comms to mbed 1 tx and rx |
matt8174 | 0:5482b23752a8 | 14 | SRF05 srf(p9, p10);// serial comms to distance sensor tx, rx |
matt8174 | 0:5482b23752a8 | 15 | SDFileSystem sd(p5, p6, p7, p8, "sd"); //SD card |
matt8174 | 0:5482b23752a8 | 16 | AnalogOut DACout(p18); //to audio amplifier and speaker |
matt8174 | 0:5482b23752a8 | 17 | PwmOut PWMout(p26); |
matt8174 | 0:5482b23752a8 | 18 | wave_player waver(&DACout,&PWMout); |
matt8174 | 0:5482b23752a8 | 19 | DigitalOut myled1(LED1); |
matt8174 | 0:5482b23752a8 | 20 | DigitalOut myled2(LED2); |
matt8174 | 0:5482b23752a8 | 21 | DigitalOut myled3(LED3); |
matt8174 | 0:5482b23752a8 | 22 | DigitalOut myled4(LED4); |
matt8174 | 0:5482b23752a8 | 23 | DigitalOut stopgo (p20); // sends signal to mbed1 to move forward or not |
matt8174 | 0:5482b23752a8 | 24 | |
matt8174 | 0:5482b23752a8 | 25 | char receivedchar[10]; //array used for received characters from mbed1 |
matt8174 | 0:5482b23752a8 | 26 | int command_num; |
matt8174 | 0:5482b23752a8 | 27 | int distcheck; |
matt8174 | 0:5482b23752a8 | 28 | int b; |
matt8174 | 0:5482b23752a8 | 29 | |
matt8174 | 0:5482b23752a8 | 30 | void rxCallback() //interrupt from rx serial port |
matt8174 | 0:5482b23752a8 | 31 | { |
matt8174 | 0:5482b23752a8 | 32 | myled3=!myled3; |
matt8174 | 0:5482b23752a8 | 33 | receivedchar[0]=communicate.getc(); // put received character from mbed2 into array for later |
matt8174 | 0:5482b23752a8 | 34 | command_num=receivedchar[0]; |
matt8174 | 0:5482b23752a8 | 35 | // pc.printf("%d ",receivedchar[0]); |
matt8174 | 0:5482b23752a8 | 36 | |
matt8174 | 0:5482b23752a8 | 37 | } |
matt8174 | 0:5482b23752a8 | 38 | |
matt8174 | 0:5482b23752a8 | 39 | void txCallback() //interrupt from rx serial port |
matt8174 | 0:5482b23752a8 | 40 | { |
matt8174 | 0:5482b23752a8 | 41 | myled4=!myled4; |
matt8174 | 0:5482b23752a8 | 42 | // pc.printf("%d ",receivedchar[0]); |
matt8174 | 0:5482b23752a8 | 43 | } |
matt8174 | 0:5482b23752a8 | 44 | |
matt8174 | 0:5482b23752a8 | 45 | |
matt8174 | 0:5482b23752a8 | 46 | int main () |
matt8174 | 0:5482b23752a8 | 47 | { |
matt8174 | 0:5482b23752a8 | 48 | bool nerror = true; |
matt8174 | 0:5482b23752a8 | 49 | |
matt8174 | 0:5482b23752a8 | 50 | communicate.baud(19200); //to mbed 1 |
matt8174 | 0:5482b23752a8 | 51 | // pc.baud(19200); //for diagnostics |
matt8174 | 0:5482b23752a8 | 52 | setbuf(stdin,NULL); //clear serial input buffer |
matt8174 | 0:5482b23752a8 | 53 | //for serial interrupt callback function |
matt8174 | 0:5482b23752a8 | 54 | communicate.attach(&txCallback, Serial::TxIrq); |
matt8174 | 0:5482b23752a8 | 55 | communicate.attach(&rxCallback, Serial::RxIrq); |
matt8174 | 0:5482b23752a8 | 56 | FILE *wave_file; |
matt8174 | 0:5482b23752a8 | 57 | command_num=0; |
matt8174 | 0:5482b23752a8 | 58 | receivedchar[0]=0; |
matt8174 | 0:5482b23752a8 | 59 | distcheck=0; |
matt8174 | 0:5482b23752a8 | 60 | stopgo=0; |
matt8174 | 0:5482b23752a8 | 61 | char buffer [20]; |
matt8174 | 0:5482b23752a8 | 62 | buffer[0]=0; |
matt8174 | 0:5482b23752a8 | 63 | myled1=0; |
matt8174 | 0:5482b23752a8 | 64 | |
matt8174 | 0:5482b23752a8 | 65 | //enter infinite loop |
matt8174 | 0:5482b23752a8 | 66 | wait(1); |
matt8174 | 0:5482b23752a8 | 67 | while(nerror) |
matt8174 | 0:5482b23752a8 | 68 | { |
matt8174 | 0:5482b23752a8 | 69 | |
matt8174 | 0:5482b23752a8 | 70 | distcheck = srf.read(); |
matt8174 | 0:5482b23752a8 | 71 | // pc.printf(" %d",distcheck); |
matt8174 | 0:5482b23752a8 | 72 | if (distcheck<=15) //too close |
matt8174 | 0:5482b23752a8 | 73 | { |
matt8174 | 0:5482b23752a8 | 74 | myled1=stopgo; |
matt8174 | 0:5482b23752a8 | 75 | stopgo=1; // not ok to move forward, raise p20 |
matt8174 | 0:5482b23752a8 | 76 | // pc.printf("%d NOT OK\n", distcheck); |
matt8174 | 0:5482b23752a8 | 77 | } |
matt8174 | 0:5482b23752a8 | 78 | else { |
matt8174 | 0:5482b23752a8 | 79 | stopgo=0; |
matt8174 | 0:5482b23752a8 | 80 | myled1=stopgo; |
matt8174 | 0:5482b23752a8 | 81 | } |
matt8174 | 0:5482b23752a8 | 82 | // pc.printf(" %d",distcheck); |
matt8174 | 0:5482b23752a8 | 83 | |
matt8174 | 0:5482b23752a8 | 84 | // if (command_num!=0) |
matt8174 | 0:5482b23752a8 | 85 | // { |
matt8174 | 0:5482b23752a8 | 86 | if(command_num >= 49 && command_num <= 53) // 1 to 5 (MOVEMENT) |
matt8174 | 0:5482b23752a8 | 87 | { |
matt8174 | 0:5482b23752a8 | 88 | switch(command_num) |
matt8174 | 0:5482b23752a8 | 89 | { |
matt8174 | 0:5482b23752a8 | 90 | case '1': |
matt8174 | 0:5482b23752a8 | 91 | // sprintf(buffer, "/sd/voice%d.wav", command_num); |
matt8174 | 0:5482b23752a8 | 92 | sprintf(buffer, "/sd/voice42.wav"); //Forward |
matt8174 | 0:5482b23752a8 | 93 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 94 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 95 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 96 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 97 | command_num=0; |
matt8174 | 0:5482b23752a8 | 98 | break; |
matt8174 | 0:5482b23752a8 | 99 | |
matt8174 | 0:5482b23752a8 | 100 | case '2': |
matt8174 | 0:5482b23752a8 | 101 | // sprintf(buffer, "/sd/voice%d.wav", command_num); |
matt8174 | 0:5482b23752a8 | 102 | sprintf(buffer, "/sd/voice43.wav"); //Right |
matt8174 | 0:5482b23752a8 | 103 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 104 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 105 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 106 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 107 | command_num=0; |
matt8174 | 0:5482b23752a8 | 108 | break; |
matt8174 | 0:5482b23752a8 | 109 | |
matt8174 | 0:5482b23752a8 | 110 | case '3': |
matt8174 | 0:5482b23752a8 | 111 | // sprintf(buffer, "/sd/voice%d.wav", command_num); |
matt8174 | 0:5482b23752a8 | 112 | sprintf(buffer, "/sd/voice44.wav"); //Reverse |
matt8174 | 0:5482b23752a8 | 113 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 114 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 115 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 116 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 117 | command_num=0; |
matt8174 | 0:5482b23752a8 | 118 | break; |
matt8174 | 0:5482b23752a8 | 119 | |
matt8174 | 0:5482b23752a8 | 120 | case '4': |
matt8174 | 0:5482b23752a8 | 121 | // sprintf(buffer, "/sd/voice%d.wav", command_num); |
matt8174 | 0:5482b23752a8 | 122 | sprintf(buffer, "/sd/voice45.wav"); //Left |
matt8174 | 0:5482b23752a8 | 123 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 124 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 125 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 126 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 127 | command_num=0; |
matt8174 | 0:5482b23752a8 | 128 | break; |
matt8174 | 0:5482b23752a8 | 129 | |
matt8174 | 0:5482b23752a8 | 130 | case '5': // cant move forward |
matt8174 | 0:5482b23752a8 | 131 | // sprintf(buffer, "/sd/voice%d.wav", command_num); |
matt8174 | 0:5482b23752a8 | 132 | sprintf(buffer, "/sd/voice46.wav"); // Blocked |
matt8174 | 0:5482b23752a8 | 133 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 134 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 135 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 136 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 137 | command_num=0; |
matt8174 | 0:5482b23752a8 | 138 | break; |
matt8174 | 0:5482b23752a8 | 139 | } |
matt8174 | 0:5482b23752a8 | 140 | } |
matt8174 | 0:5482b23752a8 | 141 | if(command_num >= 97 && command_num <= 106) // a to j (NUMBERS) |
matt8174 | 0:5482b23752a8 | 142 | { |
matt8174 | 0:5482b23752a8 | 143 | switch(command_num) |
matt8174 | 0:5482b23752a8 | 144 | { |
matt8174 | 0:5482b23752a8 | 145 | |
matt8174 | 0:5482b23752a8 | 146 | case 'a': |
matt8174 | 0:5482b23752a8 | 147 | sprintf(buffer,"/sd/voice41.wav"); // 0 |
matt8174 | 0:5482b23752a8 | 148 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 149 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 150 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 151 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 152 | command_num=0; |
matt8174 | 0:5482b23752a8 | 153 | break; |
matt8174 | 0:5482b23752a8 | 154 | |
matt8174 | 0:5482b23752a8 | 155 | case 'b': |
matt8174 | 0:5482b23752a8 | 156 | sprintf(buffer,"/sd/voice31.wav"); // 1 |
matt8174 | 0:5482b23752a8 | 157 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 158 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 159 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 160 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 161 | command_num=0; |
matt8174 | 0:5482b23752a8 | 162 | break; |
matt8174 | 0:5482b23752a8 | 163 | |
matt8174 | 0:5482b23752a8 | 164 | case 'c': |
matt8174 | 0:5482b23752a8 | 165 | sprintf(buffer,"/sd/voice32.wav"); // 2 |
matt8174 | 0:5482b23752a8 | 166 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 167 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 168 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 169 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 170 | command_num=0; |
matt8174 | 0:5482b23752a8 | 171 | break; |
matt8174 | 0:5482b23752a8 | 172 | |
matt8174 | 0:5482b23752a8 | 173 | case 'd': |
matt8174 | 0:5482b23752a8 | 174 | sprintf(buffer,"/sd/voice33.wav"); // 3 |
matt8174 | 0:5482b23752a8 | 175 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 176 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 177 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 178 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 179 | command_num=0; |
matt8174 | 0:5482b23752a8 | 180 | break; |
matt8174 | 0:5482b23752a8 | 181 | |
matt8174 | 0:5482b23752a8 | 182 | case 'e': |
matt8174 | 0:5482b23752a8 | 183 | sprintf(buffer,"/sd/voice34.wav"); // 4 |
matt8174 | 0:5482b23752a8 | 184 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 185 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 186 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 187 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 188 | command_num=0; |
matt8174 | 0:5482b23752a8 | 189 | break; |
matt8174 | 0:5482b23752a8 | 190 | |
matt8174 | 0:5482b23752a8 | 191 | case 'f': |
matt8174 | 0:5482b23752a8 | 192 | sprintf(buffer,"/sd/voice35.wav"); // 5 |
matt8174 | 0:5482b23752a8 | 193 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 194 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 195 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 196 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 197 | command_num=0; |
matt8174 | 0:5482b23752a8 | 198 | break; |
matt8174 | 0:5482b23752a8 | 199 | |
matt8174 | 0:5482b23752a8 | 200 | case 'g': |
matt8174 | 0:5482b23752a8 | 201 | sprintf(buffer,"/sd/voice36.wav"); // 6 |
matt8174 | 0:5482b23752a8 | 202 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 203 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 204 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 205 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 206 | command_num=0; |
matt8174 | 0:5482b23752a8 | 207 | break; |
matt8174 | 0:5482b23752a8 | 208 | |
matt8174 | 0:5482b23752a8 | 209 | case 'h': |
matt8174 | 0:5482b23752a8 | 210 | sprintf(buffer,"/sd/voice37.wav"); // 7 |
matt8174 | 0:5482b23752a8 | 211 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 212 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 213 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 214 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 215 | command_num=0; |
matt8174 | 0:5482b23752a8 | 216 | break; |
matt8174 | 0:5482b23752a8 | 217 | |
matt8174 | 0:5482b23752a8 | 218 | case 'i': |
matt8174 | 0:5482b23752a8 | 219 | sprintf(buffer,"/sd/voice38.wav"); // 8 |
matt8174 | 0:5482b23752a8 | 220 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 221 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 222 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 223 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 224 | command_num=0; |
matt8174 | 0:5482b23752a8 | 225 | break; |
matt8174 | 0:5482b23752a8 | 226 | |
matt8174 | 0:5482b23752a8 | 227 | case 'j': |
matt8174 | 0:5482b23752a8 | 228 | sprintf(buffer,"/sd/voice39.wav"); // 9 |
matt8174 | 0:5482b23752a8 | 229 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 230 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 231 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 232 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 233 | command_num=0; |
matt8174 | 0:5482b23752a8 | 234 | break; |
matt8174 | 0:5482b23752a8 | 235 | |
matt8174 | 0:5482b23752a8 | 236 | } |
matt8174 | 0:5482b23752a8 | 237 | } |
matt8174 | 0:5482b23752a8 | 238 | |
matt8174 | 0:5482b23752a8 | 239 | |
matt8174 | 0:5482b23752a8 | 240 | if(command_num >= 65 && command_num <= 90) // A to Z (LETTERS) |
matt8174 | 0:5482b23752a8 | 241 | { |
matt8174 | 0:5482b23752a8 | 242 | switch(command_num) |
matt8174 | 0:5482b23752a8 | 243 | { |
matt8174 | 0:5482b23752a8 | 244 | case 'A': |
matt8174 | 0:5482b23752a8 | 245 | sprintf(buffer,"/sd/voice5.wav"); // A |
matt8174 | 0:5482b23752a8 | 246 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 247 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 248 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 249 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 250 | command_num=0; |
matt8174 | 0:5482b23752a8 | 251 | break; |
matt8174 | 0:5482b23752a8 | 252 | |
matt8174 | 0:5482b23752a8 | 253 | case 'B': |
matt8174 | 0:5482b23752a8 | 254 | sprintf(buffer,"/sd/voice6.wav"); // B |
matt8174 | 0:5482b23752a8 | 255 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 256 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 257 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 258 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 259 | command_num=0; |
matt8174 | 0:5482b23752a8 | 260 | break; |
matt8174 | 0:5482b23752a8 | 261 | |
matt8174 | 0:5482b23752a8 | 262 | case 'C': |
matt8174 | 0:5482b23752a8 | 263 | sprintf(buffer,"/sd/voice7.wav"); // C |
matt8174 | 0:5482b23752a8 | 264 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 265 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 266 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 267 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 268 | command_num=0; |
matt8174 | 0:5482b23752a8 | 269 | break; |
matt8174 | 0:5482b23752a8 | 270 | |
matt8174 | 0:5482b23752a8 | 271 | case 'D': |
matt8174 | 0:5482b23752a8 | 272 | sprintf(buffer,"/sd/voice8.wav"); // D |
matt8174 | 0:5482b23752a8 | 273 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 274 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 275 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 276 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 277 | command_num=0; |
matt8174 | 0:5482b23752a8 | 278 | break; |
matt8174 | 0:5482b23752a8 | 279 | |
matt8174 | 0:5482b23752a8 | 280 | case 'E': |
matt8174 | 0:5482b23752a8 | 281 | sprintf(buffer,"/sd/voice9.wav"); // E |
matt8174 | 0:5482b23752a8 | 282 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 283 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 284 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 285 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 286 | command_num=0; |
matt8174 | 0:5482b23752a8 | 287 | break; |
matt8174 | 0:5482b23752a8 | 288 | |
matt8174 | 0:5482b23752a8 | 289 | case 'F': |
matt8174 | 0:5482b23752a8 | 290 | sprintf(buffer,"/sd/voice10.wav"); // F |
matt8174 | 0:5482b23752a8 | 291 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 292 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 293 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 294 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 295 | command_num=0; |
matt8174 | 0:5482b23752a8 | 296 | break; |
matt8174 | 0:5482b23752a8 | 297 | |
matt8174 | 0:5482b23752a8 | 298 | case 'G': |
matt8174 | 0:5482b23752a8 | 299 | sprintf(buffer,"/sd/voice11.wav"); // G |
matt8174 | 0:5482b23752a8 | 300 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 301 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 302 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 303 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 304 | command_num=0; |
matt8174 | 0:5482b23752a8 | 305 | break; |
matt8174 | 0:5482b23752a8 | 306 | |
matt8174 | 0:5482b23752a8 | 307 | case 'H': |
matt8174 | 0:5482b23752a8 | 308 | sprintf(buffer,"/sd/voice12.wav"); // H |
matt8174 | 0:5482b23752a8 | 309 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 310 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 311 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 312 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 313 | command_num=0; |
matt8174 | 0:5482b23752a8 | 314 | break; |
matt8174 | 0:5482b23752a8 | 315 | |
matt8174 | 0:5482b23752a8 | 316 | case 'I': |
matt8174 | 0:5482b23752a8 | 317 | sprintf(buffer,"/sd/voice13.wav"); // I |
matt8174 | 0:5482b23752a8 | 318 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 319 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 320 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 321 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 322 | command_num=0; |
matt8174 | 0:5482b23752a8 | 323 | break; |
matt8174 | 0:5482b23752a8 | 324 | |
matt8174 | 0:5482b23752a8 | 325 | case 'J': |
matt8174 | 0:5482b23752a8 | 326 | sprintf(buffer,"/sd/voice14.wav"); // J |
matt8174 | 0:5482b23752a8 | 327 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 328 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 329 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 330 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 331 | command_num=0; |
matt8174 | 0:5482b23752a8 | 332 | break; |
matt8174 | 0:5482b23752a8 | 333 | |
matt8174 | 0:5482b23752a8 | 334 | case 'K': |
matt8174 | 0:5482b23752a8 | 335 | sprintf(buffer,"/sd/voice15.wav"); // K |
matt8174 | 0:5482b23752a8 | 336 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 337 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 338 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 339 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 340 | command_num=0; |
matt8174 | 0:5482b23752a8 | 341 | break; |
matt8174 | 0:5482b23752a8 | 342 | |
matt8174 | 0:5482b23752a8 | 343 | case 'L': |
matt8174 | 0:5482b23752a8 | 344 | sprintf(buffer,"/sd/voice16.wav"); // L |
matt8174 | 0:5482b23752a8 | 345 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 346 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 347 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 348 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 349 | command_num=0; |
matt8174 | 0:5482b23752a8 | 350 | break; |
matt8174 | 0:5482b23752a8 | 351 | |
matt8174 | 0:5482b23752a8 | 352 | case 'M': |
matt8174 | 0:5482b23752a8 | 353 | sprintf(buffer,"/sd/voice17.wav"); // M |
matt8174 | 0:5482b23752a8 | 354 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 355 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 356 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 357 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 358 | command_num=0; |
matt8174 | 0:5482b23752a8 | 359 | break; |
matt8174 | 0:5482b23752a8 | 360 | |
matt8174 | 0:5482b23752a8 | 361 | case 'N': |
matt8174 | 0:5482b23752a8 | 362 | sprintf(buffer,"/sd/voice18.wav"); // N |
matt8174 | 0:5482b23752a8 | 363 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 364 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 365 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 366 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 367 | command_num=0; |
matt8174 | 0:5482b23752a8 | 368 | break; |
matt8174 | 0:5482b23752a8 | 369 | |
matt8174 | 0:5482b23752a8 | 370 | case 'O': |
matt8174 | 0:5482b23752a8 | 371 | sprintf(buffer,"/sd/voice19.wav"); // O |
matt8174 | 0:5482b23752a8 | 372 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 373 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 374 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 375 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 376 | command_num=0; |
matt8174 | 0:5482b23752a8 | 377 | break; |
matt8174 | 0:5482b23752a8 | 378 | |
matt8174 | 0:5482b23752a8 | 379 | case 'P': |
matt8174 | 0:5482b23752a8 | 380 | sprintf(buffer,"/sd/voice20.wav"); // P |
matt8174 | 0:5482b23752a8 | 381 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 382 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 383 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 384 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 385 | command_num=0; |
matt8174 | 0:5482b23752a8 | 386 | break; |
matt8174 | 0:5482b23752a8 | 387 | |
matt8174 | 0:5482b23752a8 | 388 | |
matt8174 | 0:5482b23752a8 | 389 | case 'Q': |
matt8174 | 0:5482b23752a8 | 390 | sprintf(buffer,"/sd/voice21.wav"); // Q |
matt8174 | 0:5482b23752a8 | 391 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 392 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 393 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 394 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 395 | command_num=0; |
matt8174 | 0:5482b23752a8 | 396 | break; |
matt8174 | 0:5482b23752a8 | 397 | |
matt8174 | 0:5482b23752a8 | 398 | case 'R': |
matt8174 | 0:5482b23752a8 | 399 | sprintf(buffer,"/sd/voice22.wav"); // R |
matt8174 | 0:5482b23752a8 | 400 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 401 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 402 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 403 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 404 | command_num=0; |
matt8174 | 0:5482b23752a8 | 405 | break; |
matt8174 | 0:5482b23752a8 | 406 | |
matt8174 | 0:5482b23752a8 | 407 | case 'S': |
matt8174 | 0:5482b23752a8 | 408 | sprintf(buffer,"/sd/voice23.wav"); // S |
matt8174 | 0:5482b23752a8 | 409 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 410 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 411 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 412 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 413 | command_num=0; |
matt8174 | 0:5482b23752a8 | 414 | break; |
matt8174 | 0:5482b23752a8 | 415 | |
matt8174 | 0:5482b23752a8 | 416 | case 'T': |
matt8174 | 0:5482b23752a8 | 417 | sprintf(buffer,"/sd/voice24.wav"); // T |
matt8174 | 0:5482b23752a8 | 418 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 419 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 420 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 421 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 422 | command_num=0; |
matt8174 | 0:5482b23752a8 | 423 | break; |
matt8174 | 0:5482b23752a8 | 424 | |
matt8174 | 0:5482b23752a8 | 425 | case 'U': |
matt8174 | 0:5482b23752a8 | 426 | sprintf(buffer,"/sd/voice25.wav"); // U |
matt8174 | 0:5482b23752a8 | 427 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 428 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 429 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 430 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 431 | command_num=0; |
matt8174 | 0:5482b23752a8 | 432 | break; |
matt8174 | 0:5482b23752a8 | 433 | |
matt8174 | 0:5482b23752a8 | 434 | case 'V': |
matt8174 | 0:5482b23752a8 | 435 | sprintf(buffer,"/sd/voice26.wav"); // V |
matt8174 | 0:5482b23752a8 | 436 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 437 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 438 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 439 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 440 | command_num=0; |
matt8174 | 0:5482b23752a8 | 441 | break; |
matt8174 | 0:5482b23752a8 | 442 | |
matt8174 | 0:5482b23752a8 | 443 | case 'W': |
matt8174 | 0:5482b23752a8 | 444 | sprintf(buffer,"/sd/voice27.wav"); // W |
matt8174 | 0:5482b23752a8 | 445 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 446 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 447 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 448 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 449 | command_num=0; |
matt8174 | 0:5482b23752a8 | 450 | break; |
matt8174 | 0:5482b23752a8 | 451 | |
matt8174 | 0:5482b23752a8 | 452 | case 'X': |
matt8174 | 0:5482b23752a8 | 453 | sprintf(buffer,"/sd/voice28.wav"); // X |
matt8174 | 0:5482b23752a8 | 454 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 455 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 456 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 457 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 458 | command_num=0; |
matt8174 | 0:5482b23752a8 | 459 | break; |
matt8174 | 0:5482b23752a8 | 460 | |
matt8174 | 0:5482b23752a8 | 461 | case 'Y': |
matt8174 | 0:5482b23752a8 | 462 | sprintf(buffer,"/sd/voice29.wav"); // Y |
matt8174 | 0:5482b23752a8 | 463 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 464 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 465 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 466 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 467 | command_num=0; |
matt8174 | 0:5482b23752a8 | 468 | break; |
matt8174 | 0:5482b23752a8 | 469 | |
matt8174 | 0:5482b23752a8 | 470 | case 'Z': |
matt8174 | 0:5482b23752a8 | 471 | sprintf(buffer,"/sd/voice30.wav"); // Z |
matt8174 | 0:5482b23752a8 | 472 | wave_file=fopen(buffer ,"r"); |
matt8174 | 0:5482b23752a8 | 473 | waver.play(wave_file); |
matt8174 | 0:5482b23752a8 | 474 | fclose(wave_file); |
matt8174 | 0:5482b23752a8 | 475 | wait(0.1); |
matt8174 | 0:5482b23752a8 | 476 | command_num=0; |
matt8174 | 0:5482b23752a8 | 477 | break; |
matt8174 | 0:5482b23752a8 | 478 | |
matt8174 | 0:5482b23752a8 | 479 | |
matt8174 | 0:5482b23752a8 | 480 | } //switch |
matt8174 | 0:5482b23752a8 | 481 | } // |
matt8174 | 0:5482b23752a8 | 482 | // } // lower if command num |
matt8174 | 0:5482b23752a8 | 483 | } //while |
matt8174 | 0:5482b23752a8 | 484 | }//main |
matt8174 | 0:5482b23752a8 | 485 | |
matt8174 | 0:5482b23752a8 | 486 |