Detektor pokreta sa logiranjem vremena detektovanja aktivnosti. LPC1768 + TinyRTC DS1307 + PIR detektor pokreta. Mogućnost deaktivacije sustava.

Dependencies:   mbed DetectOff RTC-DS1307

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 //Izvorne datoteke
00002 #include "mbed.h"
00003 #include "Rtc_Ds1307.h"
00004 #include "DetectOff.h"
00005 
00006 //Inicijalizacija varijabli
00007 Serial pc(USBTX,USBRX);
00008 Timer debounce;
00009 Rtc_Ds1307 rtc(p9,p10);
00010 InterruptIn detector(p13);
00011 DigitalOut ledica(p15);
00012 DigitalIn taster(p18);
00013 DetectOff led(LED2);
00014 Rtc_Ds1307::Time_rtc tmt = {};
00015 LocalFileSystem local("local");
00016 
00017 //Detekcija i zapisivanje u datoteku/consolu
00018 void detection(){
00019     FILE* File1 = freopen("/local/activity.txt","a",stdout);
00020     if(debounce.read_ms()>200){
00021         ledica=1;
00022         if(rtc.getTime(tmt)){
00023             pc.printf("%02d:%02d:%02d %s, %02d/%02d/%04d \r", tmt.hour, tmt.min, tmt.sec, rtc.weekdayToString(tmt.wday), tmt.mon, tmt.date, tmt.year);
00024             fprintf(File1,"%02d:%02d:%02d %s, %02d/%02d/%04d\n", tmt.hour, tmt.min, tmt.sec, rtc.weekdayToString(tmt.wday), tmt.mon, tmt.date, tmt.year);
00025         }
00026         ledica=0;
00027         fclose(File1);
00028         debounce.reset();
00029     }
00030 }
00031  
00032 //Glavna klasa - inicijalizacija
00033 int main(){
00034     while(1){
00035     if(taster==1){
00036             led.disable(5);
00037             detector==0;
00038         }
00039     else if(taster==0){
00040         debounce.start();
00041         detector.rise(&detection);
00042         }
00043     }
00044 }
00045 
00046 
00047 
00048