![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
Punjenje i pražnjenje spremnika vode.
main.cpp
- Committer:
- ipoljak1
- Date:
- 2022-07-15
- Revision:
- 0:f5a0afbce297
File content as of revision 0:f5a0afbce297:
#include "mbed.h" DigitalOut ledgreen(D4); DigitalOut ledred(D5); DigitalOut ledyellow(D6); InterruptIn button(D2); Timer debounce; PwmOut speaker(D9); Timer speaker1; Timer ledice; BusInOut inputSW(D10, D11, D12, D13); void toggle(void); void task1(void); bool flag = false; int main() { debounce.start(); button.mode(PullUp); button.rise(&toggle); inputSW.mode(PullUp); while(1) { switch(inputSW) { case 0x0: if(speaker1.read_ms()>2000) { speaker=0; speaker1.reset(); speaker1.stop(); ledice.start(); } if(ledice.read_ms()>0) { ledgreen = 0; ledred = 0; ledyellow = 0; } if(ledice.read_ms()>1000) { ledgreen=1; } if(ledice.read_ms()>3000) { ledred=1; } if(ledice.read_ms()>5000) { ledyellow=1; ledice.reset(); ledice.stop(); if(debounce.read_ms()>2000) { task1(); wait(2.0); speaker=0; debounce.reset(); } } break; case 0x1: if(flag==false) { ledyellow=0; wait(0.5); ledyellow=1; wait(0.5); ledyellow=0; wait(0.5); ledyellow=1; wait(0.5); ledyellow=0; if(debounce.read_ms()>2000) { task1(); wait(2.0); speaker=0; debounce.reset(); } flag = true; } break; case 0x3: if(flag==true) { ledred=0; wait(0.5); ledred=1; wait(0.5); ledred=0; wait(0.5); ledred=1; wait(0.5); ledred=0; if(debounce.read_ms()>2000) { task1(); wait(2.0); speaker=0; debounce.reset(); } flag = false; } break; case 0x7: if(flag==false) { ledgreen=0; wait(0.5); ledgreen=1; wait(0.5); ledgreen=0; wait(0.5); ledgreen=1; wait(0.5); ledgreen=0; if(debounce.read_ms()>2000) { task1(); wait(2.0); speaker=0; debounce.reset(); } flag = true; } break; } } } void toggle() { if (debounce.read_ms()>200) { speaker1.start(); ledgreen = 1; ledred = 1; ledyellow = 1; task1(); } debounce.reset(); } void task1() // task function { speaker.period(1/500.0); // set PWM period speaker=0.5; // set duty cycle }