pwm manijk

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers UpravljanjePWM.cpp Source File

UpravljanjePWM.cpp

00001 #include "UpravljanjePWM.h"
00002 #include "mbed.h"
00003 
00004 bool smjer=false;
00005 bool onOff=false;
00006 void psmjera();
00007 void on_off();
00008 Timer debounce;
00009 
00010 UpravljanjePWM::UpravljanjePWM(PinName pin1,PinName pin2, PinName pin3, PinName pin4, PinName pin5) : pwm1(pin1), pwm2(pin2), ain(pin3),int1(pin4), int2(pin5)
00011 {
00012     pwm1.period(0.010);
00013     pwm2.period(0.010);
00014     debounce.start();
00015     int1.rise(&psmjera);
00016     int2.rise(&on_off);
00017 
00018 };
00019 
00020 void UpravljanjePWM::pwm(float treshold)
00021 {
00022     if(ain<treshold||onOff==false) {
00023         pwm1=0;
00024         pwm2=0;
00025     } else {
00026         if(smjer==false) {
00027             pwm1=ain;
00028             pwm2=0;
00029         } else {
00030             pwm1=0;
00031             pwm2=ain;
00032         }
00033     }
00034 }
00035 
00036 bool UpravljanjePWM::zadanismjervrtnje()
00037 {
00038     return smjer;
00039 }
00040 
00041 void psmjera()
00042 {
00043     if(debounce.read_ms()>200) {
00044         smjer=!smjer;
00045         debounce.reset();
00046     }
00047 };
00048 void on_off()
00049 {
00050     if(debounce.read_ms()>200) {
00051         onOff=!onOff;
00052         debounce.reset();
00053     }
00054 };