LV7_Grupa7_Tim010_Zadatak1_AdmiraHusic_AdinVelic

Dependencies:   N5110 mbed

Committer:
pai2015admirahusic
Date:
Thu Apr 23 17:24:11 2015 +0000
Revision:
1:4cebaadd061c
Parent:
0:73d6aba79665
LV7_Grupa7_Tim010_Zadatak1_AdmiraHusic_AdinVelic

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pai2015admirahusic 0:73d6aba79665 1 #include "mbed.h"
pai2015admirahusic 0:73d6aba79665 2 #define dp23 P0_0
pai2015admirahusic 0:73d6aba79665 3 #include "N5110.h"
pai2015admirahusic 0:73d6aba79665 4
pai2015admirahusic 0:73d6aba79665 5 DigitalOut enable (dp14);
pai2015admirahusic 0:73d6aba79665 6
pai2015admirahusic 0:73d6aba79665 7
pai2015admirahusic 0:73d6aba79665 8
pai2015admirahusic 0:73d6aba79665 9 InterruptIn SWtaster (dp9);
pai2015admirahusic 0:73d6aba79665 10
pai2015admirahusic 0:73d6aba79665 11 AnalogIn X (dp11), Y (dp10);
pai2015admirahusic 0:73d6aba79665 12
pai2015admirahusic 0:73d6aba79665 13 Ticker osvjezi, tiker;
pai2015admirahusic 0:73d6aba79665 14
pai2015admirahusic 0:73d6aba79665 15
pai2015admirahusic 0:73d6aba79665 16 int mijenjajx[13] = {1,1, 0, -1, -2, -2, -2, -1, 0, 1, 2, 2, 2};
pai2015admirahusic 0:73d6aba79665 17 int mijenjajy[13] = {2, 2, 2, 1, 0, -1, -2, -2, -2, -1, 0, 1,1};
pai2015admirahusic 0:73d6aba79665 18 Timer dibauns;
pai2015admirahusic 0:73d6aba79665 19
pai2015admirahusic 0:73d6aba79665 20 N5110 displej (dp4, dp24, dp23, dp25, dp2, dp6, dp18);
pai2015admirahusic 0:73d6aba79665 21
pai2015admirahusic 0:73d6aba79665 22 double minx=0.2,srednjex= 0.7,maxx= 3, miny=0.3, srednjey=0.6, maxy=3;
pai2015admirahusic 0:73d6aba79665 23 int korx= 20;
pai2015admirahusic 0:73d6aba79665 24 int kory = 20;
pai2015admirahusic 0:73d6aba79665 25
pai2015admirahusic 0:73d6aba79665 26 bool OdrediTacke = true;
pai2015admirahusic 0:73d6aba79665 27 void Prekini()
pai2015admirahusic 0:73d6aba79665 28 {
pai2015admirahusic 0:73d6aba79665 29 OdrediTacke = true;
pai2015admirahusic 0:73d6aba79665 30 tiker.detach();
pai2015admirahusic 0:73d6aba79665 31 }
pai2015admirahusic 0:73d6aba79665 32
pai2015admirahusic 0:73d6aba79665 33 void Pritisnuto()
pai2015admirahusic 0:73d6aba79665 34 {
pai2015admirahusic 0:73d6aba79665 35 if (dibauns.read() > 0.2)
pai2015admirahusic 0:73d6aba79665 36 {
pai2015admirahusic 0:73d6aba79665 37 // if (OdrediTacke) return;
pai2015admirahusic 0:73d6aba79665 38 // OdrediTacke = false;
pai2015admirahusic 0:73d6aba79665 39 // tiker.attach (&Prekini, 5.0);
pai2015admirahusic 0:73d6aba79665 40 wait(5);
pai2015admirahusic 0:73d6aba79665 41 }
pai2015admirahusic 0:73d6aba79665 42 dibauns.reset();
pai2015admirahusic 0:73d6aba79665 43 }
pai2015admirahusic 0:73d6aba79665 44
pai2015admirahusic 0:73d6aba79665 45 void Crtaj (int x, int y)
pai2015admirahusic 0:73d6aba79665 46 {
pai2015admirahusic 0:73d6aba79665 47 if (x < 3 || x > 81) return;
pai2015admirahusic 0:73d6aba79665 48 if (y < 3 || y > 45) return;
pai2015admirahusic 0:73d6aba79665 49
pai2015admirahusic 0:73d6aba79665 50 displej.clear();
pai2015admirahusic 0:73d6aba79665 51
pai2015admirahusic 0:73d6aba79665 52 displej.refresh();
pai2015admirahusic 0:73d6aba79665 53 displej.setXYAddress (0, 0);
pai2015admirahusic 0:73d6aba79665 54
pai2015admirahusic 0:73d6aba79665 55 for (int i = 0; i < 13; ++i)
pai2015admirahusic 0:73d6aba79665 56 displej.setPixel (x + mijenjajx[i], y + mijenjajy[i]);
pai2015admirahusic 0:73d6aba79665 57
pai2015admirahusic 0:73d6aba79665 58 displej.refresh();
pai2015admirahusic 0:73d6aba79665 59 }
pai2015admirahusic 0:73d6aba79665 60
pai2015admirahusic 0:73d6aba79665 61 void IspisCrtaj ()
pai2015admirahusic 0:73d6aba79665 62 {
pai2015admirahusic 0:73d6aba79665 63 double ulazx = X, ulazy = Y;
pai2015admirahusic 0:73d6aba79665 64 if (ulazx <= minx)
pai2015admirahusic 0:73d6aba79665 65 {
pai2015admirahusic 0:73d6aba79665 66 if(korx<=3) korx=3;
pai2015admirahusic 0:73d6aba79665 67 else korx=korx-1;
pai2015admirahusic 0:73d6aba79665 68 }
pai2015admirahusic 0:73d6aba79665 69 else if (ulazx <= srednjex) {}
pai2015admirahusic 0:73d6aba79665 70 else //(ulazx > maxx)
pai2015admirahusic 0:73d6aba79665 71 {
pai2015admirahusic 0:73d6aba79665 72 if(korx>=81) korx=81;
pai2015admirahusic 0:73d6aba79665 73 else korx=korx+1;
pai2015admirahusic 0:73d6aba79665 74 }
pai2015admirahusic 0:73d6aba79665 75
pai2015admirahusic 0:73d6aba79665 76
pai2015admirahusic 0:73d6aba79665 77 if (ulazy <=miny)
pai2015admirahusic 0:73d6aba79665 78 {
pai2015admirahusic 0:73d6aba79665 79 if(kory<=3) kory=3;
pai2015admirahusic 0:73d6aba79665 80 else kory=kory-1;
pai2015admirahusic 0:73d6aba79665 81 }
pai2015admirahusic 0:73d6aba79665 82 else if (ulazy <= srednjey) {}
pai2015admirahusic 0:73d6aba79665 83 else //if (ulazy <= maxy)
pai2015admirahusic 0:73d6aba79665 84 {
pai2015admirahusic 0:73d6aba79665 85 if(kory>=45) kory=45;
pai2015admirahusic 0:73d6aba79665 86 else kory=kory+1;
pai2015admirahusic 0:73d6aba79665 87 }
pai2015admirahusic 0:73d6aba79665 88
pai2015admirahusic 0:73d6aba79665 89 Crtaj (korx, kory);
pai2015admirahusic 0:73d6aba79665 90
pai2015admirahusic 0:73d6aba79665 91 if (OdrediTacke==false) return;
pai2015admirahusic 0:73d6aba79665 92 int x2 = 0, x1 = 0, x0 = 0, y0 = 0, y1 = 0, y2 = 0;
pai2015admirahusic 0:73d6aba79665 93 // double dec = int((ulazx-(int)ulazx)* 100.0 );//+ 0.5) / 100.0);
pai2015admirahusic 0:73d6aba79665 94 int dec= int(ulazx*100);
pai2015admirahusic 0:73d6aba79665 95 x0= (int)dec % 10;
pai2015admirahusic 0:73d6aba79665 96 x1 = ((int)dec / 10) % 10;
pai2015admirahusic 0:73d6aba79665 97 x2 = (int)ulazx;
pai2015admirahusic 0:73d6aba79665 98
pai2015admirahusic 0:73d6aba79665 99 // double dec1 = int((ulazy-(int)ulazy)* 100.0 );//
pai2015admirahusic 0:73d6aba79665 100 int dec1= int(ulazy*100);
pai2015admirahusic 0:73d6aba79665 101 y0= (int)dec1 % 10;
pai2015admirahusic 0:73d6aba79665 102 y1 = ((int)dec1 / 10) % 10;
pai2015admirahusic 0:73d6aba79665 103 y2 = (int)ulazy;
pai2015admirahusic 0:73d6aba79665 104
pai2015admirahusic 0:73d6aba79665 105 char centar[10] = "0.00,0.00";
pai2015admirahusic 0:73d6aba79665 106
pai2015admirahusic 0:73d6aba79665 107 centar[0] = 48 + x2;
pai2015admirahusic 0:73d6aba79665 108 centar[2] = 48 + x1;
pai2015admirahusic 0:73d6aba79665 109 centar[3] = 48 + x0;
pai2015admirahusic 0:73d6aba79665 110 centar[5] = 48 + y2;
pai2015admirahusic 0:73d6aba79665 111 centar[7] = 48 + y1;
pai2015admirahusic 0:73d6aba79665 112 centar[8] = 48 + y0;
pai2015admirahusic 0:73d6aba79665 113
pai2015admirahusic 0:73d6aba79665 114 char piksel [6] = "00,00";
pai2015admirahusic 0:73d6aba79665 115
pai2015admirahusic 0:73d6aba79665 116 piksel[0] = 48 + korx / 10;
pai2015admirahusic 0:73d6aba79665 117 piksel[1] = 48 + (korx) % 10;
pai2015admirahusic 0:73d6aba79665 118 piksel[3] = 48 + kory / 10;
pai2015admirahusic 0:73d6aba79665 119 piksel[4] = 48 + (kory) % 10;
pai2015admirahusic 0:73d6aba79665 120 displej.printString (centar, 0, 5);
pai2015admirahusic 0:73d6aba79665 121 displej.printString (piksel, 0, 4);
pai2015admirahusic 0:73d6aba79665 122 //
pai2015admirahusic 0:73d6aba79665 123 }
pai2015admirahusic 0:73d6aba79665 124
pai2015admirahusic 0:73d6aba79665 125 int main()
pai2015admirahusic 0:73d6aba79665 126 {
pai2015admirahusic 0:73d6aba79665 127 enable = 1;
pai2015admirahusic 0:73d6aba79665 128 SWtaster.mode (PullUp);
pai2015admirahusic 0:73d6aba79665 129
pai2015admirahusic 0:73d6aba79665 130 dibauns.start();
pai2015admirahusic 0:73d6aba79665 131 SWtaster.rise (&Pritisnuto);
pai2015admirahusic 0:73d6aba79665 132 displej.init();
pai2015admirahusic 0:73d6aba79665 133 osvjezi.attach (&IspisCrtaj, 0.2);
pai2015admirahusic 0:73d6aba79665 134 while(1);
pai2015admirahusic 0:73d6aba79665 135 }