ECE 4180 Laser Tag
Dependencies: Motordriver mbed SDFileSystem mbed-rtos wave_player
Diff: main.cpp
- Revision:
- 0:4953f3704bb8
- Child:
- 1:6a78c0e371d5
diff -r 000000000000 -r 4953f3704bb8 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Apr 14 15:25:03 2016 +0000 @@ -0,0 +1,103 @@ +#include "mbed.h" +#include "motordriver.h" +#include "Speaker.h" +Motor m1(p22, p6, p5, 1); // pwm, fwd, rev, can brake left most motor (a) +Motor m2(p23, p7, p8, 1); //right most motor (b) +Speaker mySpeaker(p21); +Serial blue(p13,p14); + +DigitalOut reset(p26); +DigitalOut led1(LED1); +DigitalOut led2(LED2); +DigitalOut led3(LED3); +DigitalOut led4(LED4); + +int main() { + while(1) { + char bnum=0; + char bhit=0; + if (blue.getc()=='!') { + if (blue.getc()=='B') { //button data packet + bnum = blue.getc(); //button number + bhit = blue.getc(); //1=hit, 0=release + if (blue.getc()==char(~('!' + 'B' + bnum + bhit))) { //checksum OK? + switch (bnum) { + case '1': //number button 1 + if (bhit=='1') { + led1 = 1;//add hit code here + } else { + led1 = 0;//add release code here + } + break; + case '2': //number button 2 + if (bhit=='1') { + led2 = 1;//add hit code here + } else { + led2 = 0;//add release code here + } + break; + case '3': //number button 3 + if (bhit=='1') { + led3 = 1;//add hit code here + } else { + led3 = 0;//add release code here + } + break; + case '4': //number button 4 + if (bhit=='1') { + led4 = 1;//add hit code here + } else { + led4 = 0;//add release code here + } + break; + case '5': //button 5 up arrow + if (bhit=='1') { + m1.speed(1.0); + m2.speed(1.0); + } else { + m1.speed(0.0); + m2.speed(0.0); + //add release code here + } + break; + case '6': //button 6 down arrow + if (bhit=='1') { + //add hit code here + m1.speed(-1.0); + m2.speed(-1.0); + } else { + m1.speed(0.0); + m2.speed(0.0); + //add release code here + } + break; + case '7': //button 7 left arrow + if (bhit=='1') { + m1.speed(-1.0); + m2.speed(1.0); + //add hit code here + } else { + m1.speed(0.0); + m2.speed(0.0); + //add release code here + } + break; + case '8': //button 8 right arrow + if (bhit=='1') { + //add hit code here + m1.speed(1.0); + m2.speed(-1.0); + } else { + m1.speed(0.0); + m2.speed(0.0); + //add release code here + } + break; + default: + break; + } + } + } + } + } +} \ No newline at end of file