Peter Mei / Mbed 2 deprecated Lab4MiniProject

Dependencies:   Motor SDFileSystem mbed wave_player

Files at this revision

API Documentation at this revision

Comitter:
iemretep
Date:
Thu Mar 09 17:22:33 2017 +0000
Commit message:
Bluetooth Controlled Robot with Audio Feedback and Variable Speed Control

Changed in this revision

Motor.lib Show annotated file Show diff for this revision Revisions of this file
SDFileSystem.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
wave_player.lib Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r 5b3fe01b3a0e Motor.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Motor.lib	Thu Mar 09 17:22:33 2017 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/simon/code/Motor/#f265e441bcd9
diff -r 000000000000 -r 5b3fe01b3a0e SDFileSystem.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SDFileSystem.lib	Thu Mar 09 17:22:33 2017 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/neilt6/code/SDFileSystem/#e4d2567200db
diff -r 000000000000 -r 5b3fe01b3a0e main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Thu Mar 09 17:22:33 2017 +0000
@@ -0,0 +1,126 @@
+#include "mbed.h"
+#include "SDFileSystem.h"
+#include "wave_player.h"
+#include "Motor.h"
+
+DigitalOut led1(LED1);
+DigitalOut led2(LED2);
+DigitalOut led3(LED3);
+DigitalOut led4(LED4);
+
+Serial blue(p28,p27);
+
+SDFileSystem sd(p5, p6, p7, p8, "sd"); //SD card
+AnalogOut DACout(p18);
+wave_player waver(&DACout);
+FILE *wave_file;
+
+Motor A(p21, p20, p19);  //pwm, inB, inA
+Motor B(p22, p17, p16); //pwm, inA, inB
+float speed = 0.5f;
+float speed1 = 0.25f;
+float speed2 = 0.50f;
+float speed3 = 0.75f;
+float speed4 = 1.0f;
+
+int main()
+{
+    char bnum=0;
+    char bhit=0;
+    while(1) {
+        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?
+                    //myled = bnum - '0'; //current button number will appear on LEDs
+                    switch (bnum) {
+                        case '1': //number button 1
+                            if (bhit=='1') {
+                                speed = speed1;
+                            } else {
+                                //add release code here
+                            }
+                            break;
+                        case '2': //number button 2
+                            if (bhit=='1') {
+                                speed = speed2;
+                            } else {
+                                //add release code here
+                            }
+                            break;
+                        case '3': //number button 3
+                            if (bhit=='1') {
+                                speed = speed3;
+                            } else {
+                                //add release code here
+                            }
+                            break;
+                        case '4': //number button 4
+                            if (bhit=='1') {
+                                speed = speed4;
+                            } else {
+                                //add release code here
+                            }
+                            break;
+                        case '5': //button 5 up arrow
+                            if (bhit=='1') {
+                                led1=!led1;
+                                A.speed(speed);
+                                B.speed(speed);
+                                wave_file=fopen("/sd/upbeep.wav","r");
+                                waver.play(wave_file);
+                                fclose(wave_file);
+                            } else {
+                                led1=!led1;
+                                A.speed(0.0f);
+                                B.speed(0.0f);
+                            }
+                            break;
+                        case '6': //button 6 down arrow
+                            if (bhit=='1') {
+                                A.speed(-speed);
+                                B.speed(-speed);
+                                wave_file=fopen("/sd/downbeep.wav","r");
+                                waver.play(wave_file);
+                                fclose(wave_file);
+                            } else {
+                                led2=!led2;
+                                A.speed(0.0f);
+                                B.speed(0.0f);
+                            }
+                            break;
+                        case '7': //button 7 left arrow
+                            if (bhit=='1') {
+                                A.speed(speed);
+                                B.speed(-speed);
+                                wave_file=fopen("/sd/leftbeep.wav","r");
+                                waver.play(wave_file);
+                                fclose(wave_file);
+                            } else {
+                                led3=!led3;
+                                A.speed(0.0f);
+                                B.speed(0.0f);
+                            }
+                            break;
+                        case '8': //button 8 right arrow
+                            if (bhit=='1') {
+                                A.speed(-speed);
+                                B.speed(speed);
+                                wave_file=fopen("/sd/rightbeep.wav","r");
+                                waver.play(wave_file);
+                                fclose(wave_file);
+                            } else {
+                                led4=!led4;
+                                A.speed(0.0f);
+                                B.speed(0.0f);
+                            }
+                            break;
+                        default:
+                            break;
+                    }
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff -r 000000000000 -r 5b3fe01b3a0e mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Thu Mar 09 17:22:33 2017 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/e1686b8d5b90
\ No newline at end of file
diff -r 000000000000 -r 5b3fe01b3a0e wave_player.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wave_player.lib	Thu Mar 09 17:22:33 2017 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/sravet/code/wave_player/#acc3e18e77ad