
Dog Feeder IR sensor storage measuring system
main.cpp@0:91fca95621fe, 2016-01-25 (annotated)
- Committer:
- Iadri
- Date:
- Mon Jan 25 18:19:34 2016 +0000
- Revision:
- 0:91fca95621fe
- Child:
- 1:199d787f2181
working base system with sleep
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Iadri | 0:91fca95621fe | 1 | #include "mbed.h" |
Iadri | 0:91fca95621fe | 2 | |
Iadri | 0:91fca95621fe | 3 | Serial pc(USBTX, USBRX); |
Iadri | 0:91fca95621fe | 4 | |
Iadri | 0:91fca95621fe | 5 | AnalogIn photores(A0); |
Iadri | 0:91fca95621fe | 6 | //DigitalIn photores(D5); |
Iadri | 0:91fca95621fe | 7 | DigitalIn button(SW2); |
Iadri | 0:91fca95621fe | 8 | DigitalOut IRled(D7); |
Iadri | 0:91fca95621fe | 9 | DigitalOut PiSign(D6); |
Iadri | 0:91fca95621fe | 10 | DigitalOut ledred(LED_RED); |
Iadri | 0:91fca95621fe | 11 | |
Iadri | 0:91fca95621fe | 12 | Ticker StorageChecker; |
Iadri | 0:91fca95621fe | 13 | |
Iadri | 0:91fca95621fe | 14 | const double ticktime = 1; |
Iadri | 0:91fca95621fe | 15 | |
Iadri | 0:91fca95621fe | 16 | |
Iadri | 0:91fca95621fe | 17 | void StorageCheck() |
Iadri | 0:91fca95621fe | 18 | { |
Iadri | 0:91fca95621fe | 19 | IRled = 1; |
Iadri | 0:91fca95621fe | 20 | wait_us(100); |
Iadri | 0:91fca95621fe | 21 | double light = photores; |
Iadri | 0:91fca95621fe | 22 | if(light >= 0.5) { |
Iadri | 0:91fca95621fe | 23 | ledred = 0; |
Iadri | 0:91fca95621fe | 24 | PiSign = 1; |
Iadri | 0:91fca95621fe | 25 | } else { |
Iadri | 0:91fca95621fe | 26 | ledred = 1; |
Iadri | 0:91fca95621fe | 27 | PiSign = 0; |
Iadri | 0:91fca95621fe | 28 | } |
Iadri | 0:91fca95621fe | 29 | pc.printf("Photo = %0.10f \n\r", light); |
Iadri | 0:91fca95621fe | 30 | } |
Iadri | 0:91fca95621fe | 31 | |
Iadri | 0:91fca95621fe | 32 | int main() |
Iadri | 0:91fca95621fe | 33 | { |
Iadri | 0:91fca95621fe | 34 | pc.baud(9600); |
Iadri | 0:91fca95621fe | 35 | ledred = 1; |
Iadri | 0:91fca95621fe | 36 | StorageChecker.attach(&StorageCheck, ticktime); |
Iadri | 0:91fca95621fe | 37 | while (true) { |
Iadri | 0:91fca95621fe | 38 | IRled = 0; |
Iadri | 0:91fca95621fe | 39 | sleep(); |
Iadri | 0:91fca95621fe | 40 | } |
Iadri | 0:91fca95621fe | 41 | } |