Custovic Haris Dautbegovic Amra

Dependencies:   N5110 mbed

Committer:
tim010
Date:
Mon Jun 02 18:38:58 2014 +0000
Revision:
0:7dfa222d4f12
Projekat-Oscilloskop;

Who changed what in which revision?

UserRevisionLine numberNew 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 }