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.
Revision 1:a57db6defeb7, committed 2021-11-13
- Comitter:
 - filipf
 - Date:
 - Sat Nov 13 09:21:04 2021 +0000
 - Parent:
 - 0:8f42a78545ac
 - Commit message:
 - Filip Fabri 2020/0414
 
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file | 
--- a/main.cpp	Sat Nov 06 09:47:43 2021 +0000
+++ b/main.cpp	Sat Nov 13 09:21:04 2021 +0000
@@ -1,53 +1,59 @@
+/* Prikazana vrednost ne odgovara onome što se moze čuti jer zuja.write() ne prima
+baš sve vrednosti. Na primer, na displeju nećemo videti razliku od 0.005 ali je
+cuti jer je displej na dve decimale.
+*/
+
 //uboz biblioteka
 #include "mbed.h"
 
 //definisanje direktiva
 
 //definisanje glavnih promenljivih
+AnalogIn pot1(PA_1);
+AnalogIn pot2(PA_0);
+PwmOut zuja(PA_11);
+InterruptIn taster(PC_9);
 
-// a, b, c, d, e, f, g, sel1, sel2
+float frekvPoc = 5000;
+float frekv = frekvPoc*pot1.read() + 100;
+float i = 0.0;
+
 BusOut Digits(PA_10, PA_9, PA_8, PB_10, PB_5, PB_4, PB_3, PB_6, PC_7);
-DigitalIn tasterD(PC_9);
-DigitalIn tasterL(PC_8);
 int odNulaDo15[] = { 0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90 };
-int i=0;
-int br = i%10;
-int prikazDesetice = 0;
-int prikazDeseticeNe = 1;
+int odNulaDo15Desetice[] = { 0xFF, 0x179, 0x124, 0x130, 0x119, 0x112, 0x102, 0x178, 0x100, 0x110 };
+int desetice = 0;
+int jedinice = 0;
+int kreni = 0;
+
+
+//pomocne funkcije
+void prikaziJacinu();
 
 //glavna funkcija
-
 int main() {
-    Digits = odNulaDo15[i-1]; // prikaz nule
+    
+    zuja.period( 1.0/( frekv ) );
+    zuja.write( pot2.read() );
+    taster.fall( &prikaziJacinu );
     
     //glavna petlja
-    int klikD = 0;
-    int klikL = 0;
     while(1) {
-        if ( tasterD==1 ) {
-            klikD = 1;
-        }
-        if ( tasterD==0 && klikD==1 ) {
-            i = i+1;
-            if (i>15) {i=0;}
-            klikD = 0;
-        }
+        
+        frekv = frekvPoc*pot1.read() + 100;
         
-        if ( tasterL==1 ) {
-            klikL = 1;
-        }
-        if ( tasterL==0 && klikL==1 ) {
-            i = i-1;
-            if (i<0) {i=15;}
-            klikL = 0;
-        }
-        
-        br = i%10;
-        Digits = odNulaDo15[br];
+        zuja.period( 1/( frekv ) );
+        zuja.write( pot2.read() );
+
+        if (kreni==0) {Digits = 0x17F;wait_ms(20);continue;}
+        else { Digits = odNulaDo15[jedinice];}
         wait_ms(10);
-        prikazDesetice = int( i < 10 );
-        prikazDeseticeNe = int( i >= 10 );
-        Digits = 0x179*(prikazDeseticeNe) + 0xFF*(prikazDesetice);
+        Digits = odNulaDo15Desetice[desetice];
         wait_ms(10);
     }
+}
+void prikaziJacinu() {
+    kreni = 1;
+    
+    jedinice = (int)(pot2.read()*100)%10;
+    desetice = floor( (pot2.read()*10) );
 }
\ No newline at end of file