filipf filipf / Mbed 2 deprecated 19E042PIM_T1_2020_0414

Dependencies:   mbed

Committer:
filipf
Date:
Sat Nov 13 09:21:04 2021 +0000
Revision:
1:a57db6defeb7
Parent:
0:8f42a78545ac
Filip Fabri 2020/0414

Who changed what in which revision?

UserRevisionLine numberNew contents of line
filipf 1:a57db6defeb7 1 /* Prikazana vrednost ne odgovara onome što se moze čuti jer zuja.write() ne prima
filipf 1:a57db6defeb7 2 baš sve vrednosti. Na primer, na displeju nećemo videti razliku od 0.005 ali je
filipf 1:a57db6defeb7 3 cuti jer je displej na dve decimale.
filipf 1:a57db6defeb7 4 */
filipf 1:a57db6defeb7 5
filipf 0:8f42a78545ac 6 //uboz biblioteka
filipf 0:8f42a78545ac 7 #include "mbed.h"
filipf 0:8f42a78545ac 8
filipf 0:8f42a78545ac 9 //definisanje direktiva
filipf 0:8f42a78545ac 10
filipf 0:8f42a78545ac 11 //definisanje glavnih promenljivih
filipf 1:a57db6defeb7 12 AnalogIn pot1(PA_1);
filipf 1:a57db6defeb7 13 AnalogIn pot2(PA_0);
filipf 1:a57db6defeb7 14 PwmOut zuja(PA_11);
filipf 1:a57db6defeb7 15 InterruptIn taster(PC_9);
filipf 0:8f42a78545ac 16
filipf 1:a57db6defeb7 17 float frekvPoc = 5000;
filipf 1:a57db6defeb7 18 float frekv = frekvPoc*pot1.read() + 100;
filipf 1:a57db6defeb7 19 float i = 0.0;
filipf 1:a57db6defeb7 20
filipf 0:8f42a78545ac 21 BusOut Digits(PA_10, PA_9, PA_8, PB_10, PB_5, PB_4, PB_3, PB_6, PC_7);
filipf 0:8f42a78545ac 22 int odNulaDo15[] = { 0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90 };
filipf 1:a57db6defeb7 23 int odNulaDo15Desetice[] = { 0xFF, 0x179, 0x124, 0x130, 0x119, 0x112, 0x102, 0x178, 0x100, 0x110 };
filipf 1:a57db6defeb7 24 int desetice = 0;
filipf 1:a57db6defeb7 25 int jedinice = 0;
filipf 1:a57db6defeb7 26 int kreni = 0;
filipf 1:a57db6defeb7 27
filipf 1:a57db6defeb7 28
filipf 1:a57db6defeb7 29 //pomocne funkcije
filipf 1:a57db6defeb7 30 void prikaziJacinu();
filipf 0:8f42a78545ac 31
filipf 0:8f42a78545ac 32 //glavna funkcija
filipf 0:8f42a78545ac 33 int main() {
filipf 1:a57db6defeb7 34
filipf 1:a57db6defeb7 35 zuja.period( 1.0/( frekv ) );
filipf 1:a57db6defeb7 36 zuja.write( pot2.read() );
filipf 1:a57db6defeb7 37 taster.fall( &prikaziJacinu );
filipf 0:8f42a78545ac 38
filipf 0:8f42a78545ac 39 //glavna petlja
filipf 0:8f42a78545ac 40 while(1) {
filipf 1:a57db6defeb7 41
filipf 1:a57db6defeb7 42 frekv = frekvPoc*pot1.read() + 100;
filipf 0:8f42a78545ac 43
filipf 1:a57db6defeb7 44 zuja.period( 1/( frekv ) );
filipf 1:a57db6defeb7 45 zuja.write( pot2.read() );
filipf 1:a57db6defeb7 46
filipf 1:a57db6defeb7 47 if (kreni==0) {Digits = 0x17F;wait_ms(20);continue;}
filipf 1:a57db6defeb7 48 else { Digits = odNulaDo15[jedinice];}
filipf 0:8f42a78545ac 49 wait_ms(10);
filipf 1:a57db6defeb7 50 Digits = odNulaDo15Desetice[desetice];
filipf 0:8f42a78545ac 51 wait_ms(10);
filipf 0:8f42a78545ac 52 }
filipf 1:a57db6defeb7 53 }
filipf 1:a57db6defeb7 54 void prikaziJacinu() {
filipf 1:a57db6defeb7 55 kreni = 1;
filipf 1:a57db6defeb7 56
filipf 1:a57db6defeb7 57 jedinice = (int)(pot2.read()*100)%10;
filipf 1:a57db6defeb7 58 desetice = floor( (pot2.read()*10) );
filipf 0:8f42a78545ac 59 }