Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp
00001 /* mikrupravljači 00002 * projektni zadatak 00003 */ 00004 00005 #include "mbed.h" 00006 #include "TextLCD.h" 00007 #include "pcinput.h" 00008 #include "blinkalo.h" 00009 00010 PwmOut PWM1(PC_8); 00011 Timer debounce; 00012 InterruptIn gumb(PC_10); 00013 DigitalOut ledica2(PC_9); 00014 Serial bt(PA_9, PA_10); // TX, RX za bluetooth 00015 void toggle(void); 00016 void ventila(void); 00017 void ledic(void); 00018 TextLCD lcd(PA_0,PA_1,PA_4,PB_0,PC_1,PC_0); //rs, e, d0, d1, d2, d3 00019 Ticker flipper1; 00020 DigitalOut ledica1(PB_8); 00021 DigitalOut zarulja1(PC_2); 00022 DigitalOut zarulja2(PC_3); 00023 void zadatak1(void); 00024 int prva(int k, int x); // inicijalizacija funkcije prva 00025 int druga(int l, int x); // inicijalizacija funkcije druga 00026 00027 blinkalo cctv(PB_8); 00028 00029 void flip1() 00030 { 00031 ledica1 = !ledica1; 00032 } 00033 00034 int main() 00035 { 00036 // inicijalizacija 00037 debounce.start(); 00038 gumb.rise(&toggle); 00039 bt.baud(9600); 00040 inicijalizacija(); // ispis prvog reda na LCD 00041 float f; 00042 int i=1; 00043 int k=1; 00044 int l=1; 00045 00046 00047 gumb.mode(PullUp); 00048 PWM1.period(0.01); 00049 PWM1=0.25; 00050 f=0.5; 00051 lcd.locate(0,0); 00052 lcd.printf("Vrijednost pwm:"); 00053 flipper1.attach(&flip1, 0.2); 00054 cctv.blink(2); 00055 while (1) { 00056 char c; 00057 00058 if (pc.readable()){ 00059 c = KeyInput(); //vuče iz pcinput.cpp 00060 pc.printf("Vrijednost PWM-a: %f\n\r",1-f); 00061 i=c; 00062 } 00063 f=((i-48)/10.0); 00064 PWM1=f; 00065 00066 00067 lcd.locate(0,1); 00068 lcd.printf("%.2f ", f); 00069 if (bt.readable()) { 00070 char x = bt.getc(); 00071 pc.printf("Bluetooth citljiv %i\n\r", bt.readable()); 00072 k=prva(k,x); 00073 l=druga(l,x); 00074 } 00075 00076 } 00077 } 00078 00079 void toggle() //za deboune i mijenjanje stanja bitnog trošila 00080 { 00081 if (debounce.read_ms()>= 150) 00082 ledica2=!ledica2; 00083 debounce.reset(); 00084 } 00085 00086 int prva(int k, int x) // funkcija 'prva' za bt 00087 { 00088 if ( x == 'a') { 00089 k +=1; 00090 } 00091 pc.printf("Prva zarulja %i\n\r",k); 00092 if (k % 2 == 0 && k != 0) { 00093 00094 zarulja1 = 1; 00095 bt.printf("Upaljena zarulja\n"); 00096 bt.printf("led1 ON\n"); 00097 00098 } 00099 if (k % 2 == 1 && k != 1) { 00100 zarulja1 = 0; 00101 bt.printf("Ugasena zarulja\n"); 00102 bt.printf("led1 OFF\n"); 00103 k=1; 00104 } 00105 return k; 00106 } 00107 00108 int druga(int l, int x) // funkcija 'druga' 00109 { 00110 if ( x == 'b') { 00111 l +=1; 00112 } 00113 pc.printf("Druga zarulja %i\n\r",l); 00114 if (l % 2 == 0 && l != 0) { 00115 00116 zarulja2 = 1; 00117 bt.printf("Upaljena zarulja 2\n"); 00118 bt.printf("led2 ON\n"); 00119 pc.printf("led2 ON\n"); 00120 00121 } 00122 if (l % 2 == 1 && l !=1 ) { 00123 zarulja2 = 0; 00124 bt.printf("Ugasena zarulja 2\n"); 00125 bt.printf("led2 OFF\n"); 00126 l=1; 00127 } 00128 return l; 00129 }
Generated on Thu Jul 28 2022 12:36:46 by
1.7.2