The code for the home base station.

Dependencies:   mbed

Fork of HC05_send by Luke Pell

Committer:
lmpell
Date:
Sun Mar 04 23:03:00 2018 +0000
Revision:
0:c3b88e0b90bf
Child:
1:f475551471a5
This is for nathan schwartz;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
lmpell 0:c3b88e0b90bf 1 #include "mbed.h"
lmpell 0:c3b88e0b90bf 2
lmpell 0:c3b88e0b90bf 3 Timeout response;
lmpell 0:c3b88e0b90bf 4
lmpell 0:c3b88e0b90bf 5 DigitalOut green(LED_GREEN);
lmpell 0:c3b88e0b90bf 6 DigitalOut red(LED_RED);
lmpell 0:c3b88e0b90bf 7 DigitalIn sw2(SW2);
lmpell 0:c3b88e0b90bf 8 DigitalIn motion(D7);
lmpell 0:c3b88e0b90bf 9 Serial pc(USBTX, USBRX );
lmpell 0:c3b88e0b90bf 10
lmpell 0:c3b88e0b90bf 11 Serial blue(PTC15, PTC14); //tx, rx
lmpell 0:c3b88e0b90bf 12
lmpell 0:c3b88e0b90bf 13 void Alert() {
lmpell 0:c3b88e0b90bf 14 printf("TimeOut\n\r");
lmpell 0:c3b88e0b90bf 15 green = 1;
lmpell 0:c3b88e0b90bf 16 red = 0;
lmpell 0:c3b88e0b90bf 17 int run = 1000;
lmpell 0:c3b88e0b90bf 18 while(run--){
lmpell 0:c3b88e0b90bf 19 blue.putc('F');
lmpell 0:c3b88e0b90bf 20 }
lmpell 0:c3b88e0b90bf 21 printf("Alert Sent\n\r");
lmpell 0:c3b88e0b90bf 22 /*
lmpell 0:c3b88e0b90bf 23 run = 100;
lmpell 0:c3b88e0b90bf 24 while(run--){
lmpell 0:c3b88e0b90bf 25 blue.putc('G');
lmpell 0:c3b88e0b90bf 26 }
lmpell 0:c3b88e0b90bf 27 printf("Turned off\n\r");
lmpell 0:c3b88e0b90bf 28 */
lmpell 0:c3b88e0b90bf 29 }
lmpell 0:c3b88e0b90bf 30
lmpell 0:c3b88e0b90bf 31
lmpell 0:c3b88e0b90bf 32 int main()
lmpell 0:c3b88e0b90bf 33 {
lmpell 0:c3b88e0b90bf 34 int i = 0;
lmpell 0:c3b88e0b90bf 35 //char r[5] = {'a'};
lmpell 0:c3b88e0b90bf 36 char send = 'Z';
lmpell 0:c3b88e0b90bf 37 char hold = 'a';
lmpell 0:c3b88e0b90bf 38 char correct = 'C';
lmpell 0:c3b88e0b90bf 39
lmpell 0:c3b88e0b90bf 40 pc.baud(9600);
lmpell 0:c3b88e0b90bf 41 blue.baud(9600);
lmpell 0:c3b88e0b90bf 42 printf("Master Connecting to Slave:\n\r");
lmpell 0:c3b88e0b90bf 43
lmpell 0:c3b88e0b90bf 44 while (send!='R') {
lmpell 0:c3b88e0b90bf 45
lmpell 0:c3b88e0b90bf 46 blue.putc(send);
lmpell 0:c3b88e0b90bf 47 wait(0.5f); // wait a small period of time
lmpell 0:c3b88e0b90bf 48
lmpell 0:c3b88e0b90bf 49 if(blue.readable())
lmpell 0:c3b88e0b90bf 50 {
lmpell 0:c3b88e0b90bf 51 while(hold!='X'){
lmpell 0:c3b88e0b90bf 52 hold = blue.getc();
lmpell 0:c3b88e0b90bf 53 }
lmpell 0:c3b88e0b90bf 54 if(hold=='X')
lmpell 0:c3b88e0b90bf 55 {
lmpell 0:c3b88e0b90bf 56 printf("Ack Recieved from Slave: Sytem Ready!\n\r");
lmpell 0:c3b88e0b90bf 57 send = 'R'; //System Ready
lmpell 0:c3b88e0b90bf 58 }
lmpell 0:c3b88e0b90bf 59 }
lmpell 0:c3b88e0b90bf 60 wait(0.5f); // wait a small period of time
lmpell 0:c3b88e0b90bf 61 i++; // increment the variable
lmpell 0:c3b88e0b90bf 62 green = !green; // toggle a led
lmpell 0:c3b88e0b90bf 63 }
lmpell 0:c3b88e0b90bf 64
lmpell 0:c3b88e0b90bf 65 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
lmpell 0:c3b88e0b90bf 66 while(1)
lmpell 0:c3b88e0b90bf 67 {
lmpell 0:c3b88e0b90bf 68 while(motion)
lmpell 0:c3b88e0b90bf 69 {
lmpell 0:c3b88e0b90bf 70 printf("Motion Detected\n\r");
lmpell 0:c3b88e0b90bf 71
lmpell 0:c3b88e0b90bf 72 if(sw2==1){
lmpell 0:c3b88e0b90bf 73 response.attach(&Alert, 2.0);
lmpell 0:c3b88e0b90bf 74 blue.putc('A');
lmpell 0:c3b88e0b90bf 75 green=0;
lmpell 0:c3b88e0b90bf 76 red = 0;
lmpell 0:c3b88e0b90bf 77 }
lmpell 0:c3b88e0b90bf 78 else{
lmpell 0:c3b88e0b90bf 79 printf("Sw2 pressed\n\r");
lmpell 0:c3b88e0b90bf 80 response.detach();
lmpell 0:c3b88e0b90bf 81 printf("Correct Password\n\r");
lmpell 0:c3b88e0b90bf 82 int run = 1000;
lmpell 0:c3b88e0b90bf 83 while(run--){
lmpell 0:c3b88e0b90bf 84 blue.putc(correct);
lmpell 0:c3b88e0b90bf 85 red = 1;
lmpell 0:c3b88e0b90bf 86 green = 0;
lmpell 0:c3b88e0b90bf 87 }
lmpell 0:c3b88e0b90bf 88 wait(3);
lmpell 0:c3b88e0b90bf 89 }
lmpell 0:c3b88e0b90bf 90 }
lmpell 0:c3b88e0b90bf 91 }
lmpell 0:c3b88e0b90bf 92 }