Proejct2

Dependencies:   mbed Servo

Files at this revision

API Documentation at this revision

Comitter:
Jamesan
Date:
Mon May 04 14:02:44 2020 +0000
Parent:
9:73600707c93b
Commit message:
Project2

Changed in this revision

Servo.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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Servo.lib	Mon May 04 14:02:44 2020 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/simon/code/Servo/#36b69a7ced07
--- a/main.cpp	Mon Mar 02 17:36:12 2020 +0000
+++ b/main.cpp	Mon May 04 14:02:44 2020 +0000
@@ -1,34 +1,188 @@
 #include "mbed.h"
-#include "hcsr04.h"
+#include <stdio.h>
+#include <string.h>
+#include "Servo.h"
+
 
 Serial pc(USBTX,USBRX);
-//Serial UART(USBTX,USBRX);
-HCSR04  usensor(D8,D12);
+
 //Bluetooth module declaration
-Serial HC06(PTC17,PTC16); //BT TX RX
-char snd[512],rcv[1000];
-unsigned int dist;
+Serial blue(PTC17, PTC16);
+
+//Led declaration
+DigitalOut Redl(LED1);
+DigitalOut Bluel(LED3);
+DigitalOut Greenl(LED2);
+
+Servo myservo(D3);
+
+char k;
 char a;
-
-Timer dt;
+int c =0;
+char ser = 'L';
 
 int main()
 {
     pc.baud(9600);
-    unsigned char rx;
-    dt.start();
-    while(1) {
-        usensor.start(); 
-        wait_ms(500);
-        pc.printf("started");
-        rx = HC06.getc();
-        pc.printf("\n\r %ld",rx);
-        dist=usensor.get_dist_cm();
-         dt.reset();
-         if(dist>1 and dist<=30)
-         {
-         pc.printf("case: 1\r\n"); 
-         pc.printf("\n\r %ld",dist );  
-        }    
-    }
-}
\ No newline at end of file
+    Greenl = 1; //FRDM LED initially OFF
+    Bluel = 1; //FRDM LED initially OFF
+    Redl = 0; //FRDM LED initially OFF
+    k = 'T';
+    pc.printf("\n\r Door locked");
+    pc.printf("\n\r Lights off");
+    
+     while(1) {
+       
+       myservo.write(0.5); //motor stays off
+               
+        if(blue.readable()> 0)
+        {
+            c = blue.getc();
+            pc.printf("\n\rbluetooth");
+            pc.printf("\n\r %ld",c);
+            k = 'T';
+            }
+            
+        if (k == 'T')
+        {      
+        if (c == 1)
+        {
+            pc.printf("\n\rDoor unlocked");
+            pc.printf("\n\rKitchen light switched on");
+            pc.printf("\n\rLiving room light switched on");
+            Greenl = 0;
+            Bluel = 0;
+            if (ser == 'L')
+            {
+            myservo.write(0.6);                     
+            wait(0.3);
+            myservo.write(0.5);
+            ser = 'U';
+            }
+            Redl = 1;
+            k = 'F';
+            }
+        else if (c == 2)
+        {
+            pc.printf("\n\rDoor locked");
+            pc.printf("\n\rKitchen light switched on");
+            pc.printf("\n\rLiving room light switched on");
+            Greenl = 0;
+            Bluel = 0;
+            if (ser == 'U')
+            {
+            myservo.write(0.4);                     
+            wait(0.3);
+            myservo.write(0.5);
+            ser = 'L';
+            }
+            Redl = 1;
+            k = 'F';
+            }  
+        else if (c == 3)
+        {
+            pc.printf("\n\rDoor unlocked");
+            pc.printf("\n\rKitchen light switched on");
+            pc.printf("\n\rLiving room light switched off");
+            Greenl = 1;
+            Bluel = 0;
+            pc.printf("\n\r %ld",ser);
+            if (ser == 'L')
+            {
+            myservo.write(0.6);                     
+            wait(0.3);
+            myservo.write(0.5);
+            ser = 'U';
+            }
+            Redl = 1;
+            k = 'F';
+            } 
+        else if (c == 4)
+        {
+            pc.printf("\n\rDoor unlocked");
+            pc.printf("\n\rKitchen light switched off");
+            pc.printf("\n\rLiving room light switched on");
+            Greenl = 0;
+            Bluel = 1;
+            if (ser == 'L')
+            {
+            myservo.write(0.6);                     
+            wait(0.3);
+            myservo.write(0.5);
+            ser = 'U';
+            }
+            Redl = 1;
+            k = 'F';
+            }        
+        else if (c == 5)
+        {
+            pc.printf("\n\rDoor locked");
+            pc.printf("\n\rKitchen light switched on");
+            pc.printf("\n\rLiving room light switched off");
+            Greenl = 1;
+            Bluel = 0;
+            if (ser == 'U')
+            {
+            myservo.write(0.4);                     
+            wait(0.3);
+            myservo.write(0.5);
+            ser = 'L';
+            }
+            Redl = 1;
+            k = 'F';
+            }     
+        else if (c == 6)
+        {
+            pc.printf("\n\rDoor unlocked");
+            pc.printf("\n\rKitchen light switched off");
+            pc.printf("\n\rLiving room light switched off");
+            Greenl = 1;
+            Bluel = 1;
+            if (ser == 'U')
+            {
+            myservo.write(0.4);                     
+            wait(0.3);
+            myservo.write(0.5);
+            ser = 'L';
+            }
+            Redl = 1;
+            k = 'F';
+            }  
+        else if (c == 7)
+        {
+            pc.printf("\n\rDoor locked");
+            pc.printf("\n\rKitchen light switched off");
+            pc.printf("\n\rLiving room light switched on");
+            Greenl = 0;
+            Bluel = 1;
+            if (ser == 'U')
+            {
+            myservo.write(0.4);                     
+            wait(0.3);
+            myservo.write(0.5);
+            ser = 'L';
+            }
+            Redl = 1;
+            k = 'F';
+            }  
+        else if (c == 8)
+        {
+            pc.printf("\n\rDoor locked");
+            pc.printf("\n\rKitchen light switched off");
+            pc.printf("\n\rLiving room light switched off");
+            Greenl = 1;
+            Bluel = 1;
+            if (ser == 'U')
+            {
+            myservo.write(0.4);                     
+            wait(0.3);
+            myservo.write(0.5);
+            ser = 'L';
+            }
+            Redl = 1;
+            k = 'F';
+            }  
+    }   
+    
+}
+} 
\ No newline at end of file