LPC1768 IR breakbeam sensor

Dependencies:   mbed

Committer:
faif
Date:
Sun Nov 13 11:33:08 2016 +0000
Revision:
1:88b1d9bcf3a3
Parent:
0:ca4cef100279
Fix coding style

Who changed what in which revision?

UserRevisionLine numberNew contents of line
faif 0:ca4cef100279 1 #include "infrared.h"
faif 0:ca4cef100279 2
faif 0:ca4cef100279 3 static const char cls[] = "\x1B[2J";
faif 0:ca4cef100279 4 static const char home[] = "\x1B[H";
faif 0:ca4cef100279 5 static const float DEBOUNCING_DELAY = 0.1;
faif 0:ca4cef100279 6 static const float TEXT_DELAY = 0.5;
faif 0:ca4cef100279 7 enum led_state { OFF = 0, ON = 1 };
faif 0:ca4cef100279 8
faif 0:ca4cef100279 9 int main()
faif 0:ca4cef100279 10 {
faif 0:ca4cef100279 11 pc.printf(home);
faif 0:ca4cef100279 12 pc.printf(cls);
faif 0:ca4cef100279 13
faif 1:88b1d9bcf3a3 14 while (true)
faif 1:88b1d9bcf3a3 15 {
faif 1:88b1d9bcf3a3 16 if (!infrared)
faif 1:88b1d9bcf3a3 17 {
faif 0:ca4cef100279 18 set_led(my_led, ON, DEBOUNCING_DELAY);
faif 0:ca4cef100279 19 std::string alert("Intrusion dectected: " + current_date_time());
faif 0:ca4cef100279 20 show_alert(alert, TEXT_DELAY);
faif 0:ca4cef100279 21 }
faif 1:88b1d9bcf3a3 22 else
faif 1:88b1d9bcf3a3 23 {
faif 0:ca4cef100279 24 set_led(my_led, OFF, DEBOUNCING_DELAY);
faif 0:ca4cef100279 25 }
faif 0:ca4cef100279 26 }
faif 0:ca4cef100279 27 }
faif 0:ca4cef100279 28
faif 0:ca4cef100279 29 void set_led(DigitalOut led, led_state state, const float delay)
faif 0:ca4cef100279 30 {
faif 0:ca4cef100279 31 led = state;
faif 0:ca4cef100279 32 wait(delay);
faif 0:ca4cef100279 33 }
faif 0:ca4cef100279 34
faif 1:88b1d9bcf3a3 35 const std::string current_date_time()
faif 1:88b1d9bcf3a3 36 {
faif 0:ca4cef100279 37 time_t rawtime;
faif 0:ca4cef100279 38 time(&rawtime);
faif 0:ca4cef100279 39 return ctime(&rawtime);
faif 0:ca4cef100279 40 }
faif 0:ca4cef100279 41
faif 1:88b1d9bcf3a3 42 void show_alert(const std::string& alert, const float delay)
faif 1:88b1d9bcf3a3 43 {
faif 0:ca4cef100279 44 pc.printf(home);
faif 0:ca4cef100279 45 pc.printf(alert.c_str());
faif 0:ca4cef100279 46 pc.printf("\r");
faif 0:ca4cef100279 47 wait(delay);
faif 0:ca4cef100279 48 }
faif 0:ca4cef100279 49
faif 0:ca4cef100279 50