Knjižnica za motor ograde

Committer:
mbuhin
Date:
Tue May 04 08:02:27 2021 +0000
Revision:
0:40c364a17882

        

Who changed what in which revision?

UserRevisionLine numberNew 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 }