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: Motor SDFileSystem mbed wave_player
Revision 0:5b3fe01b3a0e, committed 2017-03-09
- 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
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