Resident Community management

Dependencies:   HCSR04 Servo mbed

main.cpp

Committer:
Albinarackal
Date:
2018-09-20
Revision:
1:054435f5db1c
Parent:
0:2d3a72735265

File content as of revision 1:054435f5db1c:

#include "mbed.h"
#include "HCSR04.h"
#include "Servo.h"

DigitalIn PIR(D4);
DigitalOut LED(D10);
AnalogIn LDR(A0);
AnalogIn Gas(A1);
InterruptIn button1(D8);
InterruptIn button2(D6);


Serial pc(USBTX,USBRX);
Serial esp_serial(PA_13,PA_14);

int val,ldr_val,gas_val;
int dist;

HCSR04 ultrasonic(D9,D7); //trigger,echo
Servo servo(D14);


void open()
{   
pc.printf("open");
    servo.position(180);
    }
    

void close()
{   
pc.printf("close");
    servo.position(0);
    }    

int main()
{
    pc.baud(9600);
    esp_serial.baud(115200);
    pc.printf("begin");
    
    button1.rise(&open);
    button2.rise(&close);
    
    while(1) {
        
        val = PIR.read();
        if(val==1) {
            
            pc.printf("Motion Detected\n");
            dist = ultrasonic.distance(1);
            pc.printf("the distance is %d cm\n",dist);
            esp_serial.printf("U");
            esp_serial.printf("%d",dist);
            esp_serial.putc('\0');

            if (dist>10.0) {
                servo.position(180);
                wait(5);
                servo.position(0);
            }

            } else {
                pc.printf("Motion ended\n");
                
            }
            
            
            
        ldr_val = LDR.read_u16();
            
        pc.printf("ldr: %d\n",ldr_val);
        esp_serial.printf("L");
        esp_serial.printf("%d",ldr_val);
        esp_serial.putc('\0');
        if(ldr_val <=300)
        LED = 1;
        
        else 
        LED = 0;
        wait(2);
        
        
        gas_val = Gas.read_u16();
        pc.printf("gas: %d\n",gas_val);
        esp_serial.printf("G");
        esp_serial.printf("%d",gas_val);
        esp_serial.putc('\0');
        //wait(10);
        }
    }