This a great example of how Bluetooth (BT) reads incoming chars. This program constantly check if a char has been sent over BT and then turns on or off a digital output on the K64F board. We used MIT App Inventor to download an app to a android phone. This app would connect to our HC06 BT module on the K64F. The app would send chars when certain buttons were pressed. The K64F would then receive them and take appropriate action. Our digital output would send signal to relays, that's why you see variables called relay1,2,3... The relays then allowed power to got to a power strip.

Dependencies:   mbed

Committer:
jwhammel
Date:
Mon Apr 29 00:01:55 2019 +0000
Revision:
1:9ba4f4c2b414
Parent:
0:2fb6b3ddfcbd
This is a great example of how Bluetooth (BT) works.  The program is constantly checking to see if a char has been sent over BT signal. This used the K64F and HC06.  We used MIT App Inventor to make a program that will connect to our HC06 BT module.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
santiiago210 0:2fb6b3ddfcbd 1 #include "mbed.h"
jwhammel 1:9ba4f4c2b414 2
jwhammel 1:9ba4f4c2b414 3 Serial bluetooth(PTC15, PTC14); // pins to connect on HC-06
jwhammel 1:9ba4f4c2b414 4 int mydata=0;
santiiago210 0:2fb6b3ddfcbd 5
santiiago210 0:2fb6b3ddfcbd 6
jwhammel 1:9ba4f4c2b414 7 DigitalOut led_r(LED1); // on board LED
jwhammel 1:9ba4f4c2b414 8 DigitalOut Relay1(PTC17);
jwhammel 1:9ba4f4c2b414 9 DigitalOut Relay2(PTB9);
jwhammel 1:9ba4f4c2b414 10 DigitalOut Relay3(PTA1);
jwhammel 1:9ba4f4c2b414 11 DigitalOut Relay4(PTB23);
jwhammel 1:9ba4f4c2b414 12 DigitalOut Relay5(PTA2);
santiiago210 0:2fb6b3ddfcbd 13
santiiago210 0:2fb6b3ddfcbd 14 int main()
santiiago210 0:2fb6b3ddfcbd 15
santiiago210 0:2fb6b3ddfcbd 16 {
jwhammel 1:9ba4f4c2b414 17 Relay1 = 0;
jwhammel 1:9ba4f4c2b414 18 Relay2 = 0;
jwhammel 1:9ba4f4c2b414 19 Relay3 = 0;
jwhammel 1:9ba4f4c2b414 20 Relay4 = 0;
jwhammel 1:9ba4f4c2b414 21 Relay5 = 0;
jwhammel 1:9ba4f4c2b414 22 led_r = 1;
jwhammel 1:9ba4f4c2b414 23
santiiago210 0:2fb6b3ddfcbd 24 bluetooth.baud(9600);
santiiago210 0:2fb6b3ddfcbd 25 bluetooth.printf("\nSTM32 bluetooth\n");
jwhammel 1:9ba4f4c2b414 26 printf("\r\nready\r\n");
jwhammel 1:9ba4f4c2b414 27 while(1)
jwhammel 1:9ba4f4c2b414 28 {
jwhammel 1:9ba4f4c2b414 29
jwhammel 1:9ba4f4c2b414 30 if(bluetooth.readable())
jwhammel 1:9ba4f4c2b414 31 {
jwhammel 1:9ba4f4c2b414 32 mydata=bluetooth.getc();
jwhammel 1:9ba4f4c2b414 33 bluetooth.putc(mydata);
jwhammel 1:9ba4f4c2b414 34 printf("mydata = %c\r\n",mydata);
jwhammel 1:9ba4f4c2b414 35 } // end if
santiiago210 0:2fb6b3ddfcbd 36
jwhammel 1:9ba4f4c2b414 37 switch(mydata)
santiiago210 0:2fb6b3ddfcbd 38 {
jwhammel 1:9ba4f4c2b414 39 case 'a':
jwhammel 1:9ba4f4c2b414 40 Relay1 = 0;
jwhammel 1:9ba4f4c2b414 41 break;
jwhammel 1:9ba4f4c2b414 42 case 'A':
jwhammel 1:9ba4f4c2b414 43 Relay1 = 1;
jwhammel 1:9ba4f4c2b414 44 break;
jwhammel 1:9ba4f4c2b414 45 case 'b':
jwhammel 1:9ba4f4c2b414 46 Relay2 = 0;
jwhammel 1:9ba4f4c2b414 47 break;
jwhammel 1:9ba4f4c2b414 48 case 'B':
jwhammel 1:9ba4f4c2b414 49 Relay2 = 1;
jwhammel 1:9ba4f4c2b414 50 break;
jwhammel 1:9ba4f4c2b414 51 case 'c':
jwhammel 1:9ba4f4c2b414 52 Relay3 = 0;
jwhammel 1:9ba4f4c2b414 53 break;
jwhammel 1:9ba4f4c2b414 54 case 'C':
jwhammel 1:9ba4f4c2b414 55 Relay3 = 1;
jwhammel 1:9ba4f4c2b414 56 break;
jwhammel 1:9ba4f4c2b414 57 case 'd':
jwhammel 1:9ba4f4c2b414 58 Relay4 = 0;
jwhammel 1:9ba4f4c2b414 59 break;
jwhammel 1:9ba4f4c2b414 60 case 'D':
jwhammel 1:9ba4f4c2b414 61 Relay4 = 1;
jwhammel 1:9ba4f4c2b414 62 break;
jwhammel 1:9ba4f4c2b414 63 case 'e':
jwhammel 1:9ba4f4c2b414 64 Relay5 = 0;
jwhammel 1:9ba4f4c2b414 65 break;
jwhammel 1:9ba4f4c2b414 66 case 'E':
jwhammel 1:9ba4f4c2b414 67 Relay5 = 1;
jwhammel 1:9ba4f4c2b414 68 break;
jwhammel 1:9ba4f4c2b414 69 default:
jwhammel 1:9ba4f4c2b414 70 led_r = 0;
jwhammel 1:9ba4f4c2b414 71 } // end switch
santiiago210 0:2fb6b3ddfcbd 72
jwhammel 1:9ba4f4c2b414 73 //wait(1.0f);
jwhammel 1:9ba4f4c2b414 74 //printf("one second has elapsed.\r\n");
jwhammel 1:9ba4f4c2b414 75
jwhammel 1:9ba4f4c2b414 76 } // end while
jwhammel 1:9ba4f4c2b414 77
jwhammel 1:9ba4f4c2b414 78 } // end main