tim010 tim010
/
haprogram
Custovic Haris Dautbegovic Amra
main.cpp@0:7dfa222d4f12, 2014-06-02 (annotated)
- Committer:
- tim010
- Date:
- Mon Jun 02 18:38:58 2014 +0000
- Revision:
- 0:7dfa222d4f12
Projekat-Oscilloskop;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
tim010 | 0:7dfa222d4f12 | 1 | #include "mbed.h" |
tim010 | 0:7dfa222d4f12 | 2 | #include "N5110.h" |
tim010 | 0:7dfa222d4f12 | 3 | #include <string> |
tim010 | 0:7dfa222d4f12 | 4 | |
tim010 | 0:7dfa222d4f12 | 5 | Ticker osvjezi; |
tim010 | 0:7dfa222d4f12 | 6 | InterruptIn povecaj(dp1); |
tim010 | 0:7dfa222d4f12 | 7 | Timer dbc; |
tim010 | 0:7dfa222d4f12 | 8 | N5110 lcd (dp13 ,dp24 ,dp23 ,dp25 ,dp2 ,dp6 , dp18); |
tim010 | 0:7dfa222d4f12 | 9 | double w=0.02; |
tim010 | 0:7dfa222d4f12 | 10 | |
tim010 | 0:7dfa222d4f12 | 11 | int cenPixelX, cenPixelY, prevCenPixelX, prevCenPixelY; |
tim010 | 0:7dfa222d4f12 | 12 | DigitalOut enable(dp14); |
tim010 | 0:7dfa222d4f12 | 13 | AnalogIn ain(dp9); |
tim010 | 0:7dfa222d4f12 | 14 | int n(17); |
tim010 | 0:7dfa222d4f12 | 15 | Ticker t; |
tim010 | 0:7dfa222d4f12 | 16 | AnalogIn vrijeme(dp10); |
tim010 | 0:7dfa222d4f12 | 17 | void ispisiMrezu() { |
tim010 | 0:7dfa222d4f12 | 18 | char znakovi[50] = "U/p: "; |
tim010 | 0:7dfa222d4f12 | 19 | int x; |
tim010 | 0:7dfa222d4f12 | 20 | if (n==17) x=2; |
tim010 | 0:7dfa222d4f12 | 21 | else if (n==33) x=1; |
tim010 | 0:7dfa222d4f12 | 22 | |
tim010 | 0:7dfa222d4f12 | 23 | znakovi[5]=x+'0'; |
tim010 | 0:7dfa222d4f12 | 24 | znakovi[6]=' '; |
tim010 | 0:7dfa222d4f12 | 25 | znakovi[7]='t'; |
tim010 | 0:7dfa222d4f12 | 26 | znakovi[8]='/'; |
tim010 | 0:7dfa222d4f12 | 27 | znakovi[9]='p'; |
tim010 | 0:7dfa222d4f12 | 28 | |
tim010 | 0:7dfa222d4f12 | 29 | znakovi[10]=':'; |
tim010 | 0:7dfa222d4f12 | 30 | if (w == 0.025) |
tim010 | 0:7dfa222d4f12 | 31 | { |
tim010 | 0:7dfa222d4f12 | 32 | znakovi[11]='3'; |
tim010 | 0:7dfa222d4f12 | 33 | znakovi[12]=' '; |
tim010 | 0:7dfa222d4f12 | 34 | |
tim010 | 0:7dfa222d4f12 | 35 | znakovi[13]=' '; |
tim010 | 0:7dfa222d4f12 | 36 | } |
tim010 | 0:7dfa222d4f12 | 37 | else if (w == 0.0125) |
tim010 | 0:7dfa222d4f12 | 38 | { |
tim010 | 0:7dfa222d4f12 | 39 | znakovi[11]='2'; |
tim010 | 0:7dfa222d4f12 | 40 | znakovi[12]=' '; |
tim010 | 0:7dfa222d4f12 | 41 | |
tim010 | 0:7dfa222d4f12 | 42 | znakovi[13]=' '; |
tim010 | 0:7dfa222d4f12 | 43 | } |
tim010 | 0:7dfa222d4f12 | 44 | else if (w==0.00625) { |
tim010 | 0:7dfa222d4f12 | 45 | |
tim010 | 0:7dfa222d4f12 | 46 | znakovi[11] = '1'; |
tim010 | 0:7dfa222d4f12 | 47 | znakovi[12]=' '; |
tim010 | 0:7dfa222d4f12 | 48 | |
tim010 | 0:7dfa222d4f12 | 49 | znakovi[13]=' '; |
tim010 | 0:7dfa222d4f12 | 50 | |
tim010 | 0:7dfa222d4f12 | 51 | } |
tim010 | 0:7dfa222d4f12 | 52 | else |
tim010 | 0:7dfa222d4f12 | 53 | { |
tim010 | 0:7dfa222d4f12 | 54 | znakovi[11] = '0'; |
tim010 | 0:7dfa222d4f12 | 55 | znakovi[12] = '.'; |
tim010 | 0:7dfa222d4f12 | 56 | znakovi[13] = '5'; |
tim010 | 0:7dfa222d4f12 | 57 | |
tim010 | 0:7dfa222d4f12 | 58 | } |
tim010 | 0:7dfa222d4f12 | 59 | lcd.printString(znakovi, 0, 0); |
tim010 | 0:7dfa222d4f12 | 60 | for (int i=0;i<75;i=i+10) |
tim010 | 0:7dfa222d4f12 | 61 | for (int j=6;j<48;j++) |
tim010 | 0:7dfa222d4f12 | 62 | lcd.setPixel(i, j); |
tim010 | 0:7dfa222d4f12 | 63 | |
tim010 | 0:7dfa222d4f12 | 64 | |
tim010 | 0:7dfa222d4f12 | 65 | for (int j=6;j<44;j=j+10) |
tim010 | 0:7dfa222d4f12 | 66 | for (int i=0;i<84;i++) |
tim010 | 0:7dfa222d4f12 | 67 | lcd.setPixel(i, j); |
tim010 | 0:7dfa222d4f12 | 68 | |
tim010 | 0:7dfa222d4f12 | 69 | for (int i=0;i<83;i++) lcd.setPixel(i,47); |
tim010 | 0:7dfa222d4f12 | 70 | |
tim010 | 0:7dfa222d4f12 | 71 | for (int i=6;i<47;i++) lcd.setPixel(83,i); |
tim010 | 0:7dfa222d4f12 | 72 | lcd.refresh(); |
tim010 | 0:7dfa222d4f12 | 73 | |
tim010 | 0:7dfa222d4f12 | 74 | } |
tim010 | 0:7dfa222d4f12 | 75 | |
tim010 | 0:7dfa222d4f12 | 76 | void dodaj() { |
tim010 | 0:7dfa222d4f12 | 77 | if (dbc.read()>0.2) { |
tim010 | 0:7dfa222d4f12 | 78 | if(n>22) n=5; |
tim010 | 0:7dfa222d4f12 | 79 | else n++; |
tim010 | 0:7dfa222d4f12 | 80 | dbc.reset(); |
tim010 | 0:7dfa222d4f12 | 81 | } |
tim010 | 0:7dfa222d4f12 | 82 | } |
tim010 | 0:7dfa222d4f12 | 83 | |
tim010 | 0:7dfa222d4f12 | 84 | void povecajAmplitudu() { |
tim010 | 0:7dfa222d4f12 | 85 | if (dbc.read()>0.2) { |
tim010 | 0:7dfa222d4f12 | 86 | if (n==17) n=33; |
tim010 | 0:7dfa222d4f12 | 87 | else n=17; |
tim010 | 0:7dfa222d4f12 | 88 | dbc.reset(); |
tim010 | 0:7dfa222d4f12 | 89 | } |
tim010 | 0:7dfa222d4f12 | 90 | } |
tim010 | 0:7dfa222d4f12 | 91 | |
tim010 | 0:7dfa222d4f12 | 92 | int main() |
tim010 | 0:7dfa222d4f12 | 93 | { |
tim010 | 0:7dfa222d4f12 | 94 | dbc.start(); |
tim010 | 0:7dfa222d4f12 | 95 | povecaj.rise(&povecajAmplitudu); |
tim010 | 0:7dfa222d4f12 | 96 | lcd.init(); |
tim010 | 0:7dfa222d4f12 | 97 | lcd.clear(); |
tim010 | 0:7dfa222d4f12 | 98 | lcd.setXYAddress(0,0); |
tim010 | 0:7dfa222d4f12 | 99 | int x=0; |
tim010 | 0:7dfa222d4f12 | 100 | int y; |
tim010 | 0:7dfa222d4f12 | 101 | lcd.setPixel(0,24); |
tim010 | 0:7dfa222d4f12 | 102 | lcd.refresh(); |
tim010 | 0:7dfa222d4f12 | 103 | int tmp; |
tim010 | 0:7dfa222d4f12 | 104 | while(1) { |
tim010 | 0:7dfa222d4f12 | 105 | ispisiMrezu(); |
tim010 | 0:7dfa222d4f12 | 106 | if (x==0) y=tmp; |
tim010 | 0:7dfa222d4f12 | 107 | else y = 6+ain*n; |
tim010 | 0:7dfa222d4f12 | 108 | lcd.setPixel(x,y); |
tim010 | 0:7dfa222d4f12 | 109 | x++; |
tim010 | 0:7dfa222d4f12 | 110 | if (x>83) {tmp=y; x=0; lcd.clear(); } |
tim010 | 0:7dfa222d4f12 | 111 | lcd.refresh(); |
tim010 | 0:7dfa222d4f12 | 112 | if (vrijeme<0.25) w=0.025; |
tim010 | 0:7dfa222d4f12 | 113 | else if (vrijeme <0.5) w=0.0125; |
tim010 | 0:7dfa222d4f12 | 114 | else if (vrijeme <0.75) w=0.00625; |
tim010 | 0:7dfa222d4f12 | 115 | else w=0.00625/2; |
tim010 | 0:7dfa222d4f12 | 116 | wait(w); |
tim010 | 0:7dfa222d4f12 | 117 | } |
tim010 | 0:7dfa222d4f12 | 118 | } |