Knjižnica za motor ograde
Ograda.cpp@0:40c364a17882, 2021-05-04 (annotated)
- Committer:
- mbuhin
- Date:
- Tue May 04 08:02:27 2021 +0000
- Revision:
- 0:40c364a17882
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mbuhin | 0:40c364a17882 | 1 | #include "Ograda.h" |
mbuhin | 0:40c364a17882 | 2 | #include "mbed.h" |
mbuhin | 0:40c364a17882 | 3 | |
mbuhin | 0:40c364a17882 | 4 | |
mbuhin | 0:40c364a17882 | 5 | Ograda::Ograda(PinName pin1, PinName pin2, PinName pin3, PinName pin4) : motor_open(pin1), motor_close(pin2), warn_light(pin3), brake(pin4) // Konstruktor, inicijalizacija varijabli |
mbuhin | 0:40c364a17882 | 6 | { |
mbuhin | 0:40c364a17882 | 7 | motor_open=0; |
mbuhin | 0:40c364a17882 | 8 | motor_close=0; |
mbuhin | 0:40c364a17882 | 9 | warn_light=0; |
mbuhin | 0:40c364a17882 | 10 | brake=1; |
mbuhin | 0:40c364a17882 | 11 | |
mbuhin | 0:40c364a17882 | 12 | wait_ms(50); |
mbuhin | 0:40c364a17882 | 13 | } |
mbuhin | 0:40c364a17882 | 14 | |
mbuhin | 0:40c364a17882 | 15 | |
mbuhin | 0:40c364a17882 | 16 | void Ograda::start(int dir, float time) //Funkcija za pokretanje motora u željenom smjeru s željenim čekanjem prije otvaranja |
mbuhin | 0:40c364a17882 | 17 | { |
mbuhin | 0:40c364a17882 | 18 | |
mbuhin | 0:40c364a17882 | 19 | signal_blink.attach(callback(this, &Ograda::signalizacija), 1.0 ); |
mbuhin | 0:40c364a17882 | 20 | |
mbuhin | 0:40c364a17882 | 21 | |
mbuhin | 0:40c364a17882 | 22 | if(time>0.0) // provjera ima li cekanja |
mbuhin | 0:40c364a17882 | 23 | { |
mbuhin | 0:40c364a17882 | 24 | wait(time); |
mbuhin | 0:40c364a17882 | 25 | } |
mbuhin | 0:40c364a17882 | 26 | |
mbuhin | 0:40c364a17882 | 27 | if(dir==0) { //0 - zatvaranje ograde |
mbuhin | 0:40c364a17882 | 28 | brake=0; |
mbuhin | 0:40c364a17882 | 29 | motor_open=0; |
mbuhin | 0:40c364a17882 | 30 | motor_close=1; |
mbuhin | 0:40c364a17882 | 31 | } |
mbuhin | 0:40c364a17882 | 32 | |
mbuhin | 0:40c364a17882 | 33 | if(dir==1) { // 1 - otvaranje ograde |
mbuhin | 0:40c364a17882 | 34 | brake=0; |
mbuhin | 0:40c364a17882 | 35 | motor_open=1; |
mbuhin | 0:40c364a17882 | 36 | motor_close=0; |
mbuhin | 0:40c364a17882 | 37 | } |
mbuhin | 0:40c364a17882 | 38 | } |
mbuhin | 0:40c364a17882 | 39 | |
mbuhin | 0:40c364a17882 | 40 | |
mbuhin | 0:40c364a17882 | 41 | void Ograda::signalizacija() |
mbuhin | 0:40c364a17882 | 42 | { |
mbuhin | 0:40c364a17882 | 43 | warn_light=!warn_light; |
mbuhin | 0:40c364a17882 | 44 | } |
mbuhin | 0:40c364a17882 | 45 | |
mbuhin | 0:40c364a17882 | 46 | |
mbuhin | 0:40c364a17882 | 47 | void Ograda::stop() // procedura za zaustavljanje motora |
mbuhin | 0:40c364a17882 | 48 | { |
mbuhin | 0:40c364a17882 | 49 | motor_open=0; |
mbuhin | 0:40c364a17882 | 50 | motor_close=0; |
mbuhin | 0:40c364a17882 | 51 | brake=1; |
mbuhin | 0:40c364a17882 | 52 | signal_blink.detach(); |
mbuhin | 0:40c364a17882 | 53 | warn_light=0; |
mbuhin | 0:40c364a17882 | 54 | } |