tim008 tim008
/
LV7_PAI_Grupa6_Tim008_zad1
Mousavi Maedeh, Šarić Emina
main.cpp@0:dd7dd983b948, 2014-04-24 (annotated)
- Committer:
- tim008
- Date:
- Thu Apr 24 16:14:37 2014 +0000
- Revision:
- 0:dd7dd983b948
LV7 - PAI-Grupa 6-Tim 008
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
tim008 | 0:dd7dd983b948 | 1 | #include "mbed.h" |
tim008 | 0:dd7dd983b948 | 2 | #include "N5110.h" |
tim008 | 0:dd7dd983b948 | 3 | |
tim008 | 0:dd7dd983b948 | 4 | //Analogni ulazi sa dzojstika |
tim008 | 0:dd7dd983b948 | 5 | AnalogIn VRx(dp11); |
tim008 | 0:dd7dd983b948 | 6 | AnalogIn VRy(dp10); |
tim008 | 0:dd7dd983b948 | 7 | //Taster sa dzojstika |
tim008 | 0:dd7dd983b948 | 8 | DigitalIn SW(dp9); |
tim008 | 0:dd7dd983b948 | 9 | |
tim008 | 0:dd7dd983b948 | 10 | DigitalIn taster1(dp1); |
tim008 | 0:dd7dd983b948 | 11 | DigitalIn taster2(dp2); |
tim008 | 0:dd7dd983b948 | 12 | |
tim008 | 0:dd7dd983b948 | 13 | //Digitalni izlaz za aktivaciju LED buffera |
tim008 | 0:dd7dd983b948 | 14 | DigitalOut enable(dp14); |
tim008 | 0:dd7dd983b948 | 15 | DigitalOut prikazSW(dp23); |
tim008 | 0:dd7dd983b948 | 16 | |
tim008 | 0:dd7dd983b948 | 17 | //Deklaracija LCD objekta |
tim008 | 0:dd7dd983b948 | 18 | //N5110 lcd(VCC,SCE,RST,D/C,MOSI,SCLK,LED) |
tim008 | 0:dd7dd983b948 | 19 | N5110 lcd(dp4,dp24,dp23,dp25,dp2,dp6,dp18); |
tim008 | 0:dd7dd983b948 | 20 | |
tim008 | 0:dd7dd983b948 | 21 | void postaviKursor(int x, int y) { |
tim008 | 0:dd7dd983b948 | 22 | for(int i(1);i<5;i++) { |
tim008 | 0:dd7dd983b948 | 23 | lcd.setPixel(x+i,y); |
tim008 | 0:dd7dd983b948 | 24 | lcd.setPixel(x,y+i); |
tim008 | 0:dd7dd983b948 | 25 | lcd.setPixel(x-i,y); |
tim008 | 0:dd7dd983b948 | 26 | lcd.setPixel(x,y-i); |
tim008 | 0:dd7dd983b948 | 27 | } |
tim008 | 0:dd7dd983b948 | 28 | } |
tim008 | 0:dd7dd983b948 | 29 | |
tim008 | 0:dd7dd983b948 | 30 | void nacrtajPravougaonik(int x1,int y1,int x2,int y2) { |
tim008 | 0:dd7dd983b948 | 31 | for(int i=0;i<abs(x2-x1);i++) |
tim008 | 0:dd7dd983b948 | 32 | { |
tim008 | 0:dd7dd983b948 | 33 | for(int j(0);j<abs(x1-x2);j++) { |
tim008 | 0:dd7dd983b948 | 34 | lcd.setPixel(x1+j,y1+i); |
tim008 | 0:dd7dd983b948 | 35 | } |
tim008 | 0:dd7dd983b948 | 36 | } |
tim008 | 0:dd7dd983b948 | 37 | for(int i=0;i<abs(y2-y1);i++) { |
tim008 | 0:dd7dd983b948 | 38 | for(int j(0);j<abs(y1-y2);j++) { |
tim008 | 0:dd7dd983b948 | 39 | lcd.setPixel(x1+i,y1+j); |
tim008 | 0:dd7dd983b948 | 40 | } |
tim008 | 0:dd7dd983b948 | 41 | } |
tim008 | 0:dd7dd983b948 | 42 | } |
tim008 | 0:dd7dd983b948 | 43 | |
tim008 | 0:dd7dd983b948 | 44 | int main() |
tim008 | 0:dd7dd983b948 | 45 | { |
tim008 | 0:dd7dd983b948 | 46 | //deaktivacija LED dioda |
tim008 | 0:dd7dd983b948 | 47 | enable=1; |
tim008 | 0:dd7dd983b948 | 48 | //Aktivacija pull-up otpornika |
tim008 | 0:dd7dd983b948 | 49 | SW.mode(PullUp); |
tim008 | 0:dd7dd983b948 | 50 | int brKlikova(0); |
tim008 | 0:dd7dd983b948 | 51 | lcd.init(); |
tim008 | 0:dd7dd983b948 | 52 | lcd.setXYAddress(0,0); |
tim008 | 0:dd7dd983b948 | 53 | int x(0),y(0),tacka1x(-1),tacka1y(-1),tacka2x(-1),tacka2y(-1); |
tim008 | 0:dd7dd983b948 | 54 | |
tim008 | 0:dd7dd983b948 | 55 | while(1) { |
tim008 | 0:dd7dd983b948 | 56 | lcd.clear(); |
tim008 | 0:dd7dd983b948 | 57 | |
tim008 | 0:dd7dd983b948 | 58 | if(VRx<1.0/3.0) { |
tim008 | 0:dd7dd983b948 | 59 | if (x>0) { |
tim008 | 0:dd7dd983b948 | 60 | x--; |
tim008 | 0:dd7dd983b948 | 61 | } |
tim008 | 0:dd7dd983b948 | 62 | } |
tim008 | 0:dd7dd983b948 | 63 | |
tim008 | 0:dd7dd983b948 | 64 | else if (VRx>2.0/3.0) { |
tim008 | 0:dd7dd983b948 | 65 | if(x<83) { |
tim008 | 0:dd7dd983b948 | 66 | x++; |
tim008 | 0:dd7dd983b948 | 67 | } |
tim008 | 0:dd7dd983b948 | 68 | } |
tim008 | 0:dd7dd983b948 | 69 | |
tim008 | 0:dd7dd983b948 | 70 | if (VRy<1.0/3.0) { |
tim008 | 0:dd7dd983b948 | 71 | if(y>0) { |
tim008 | 0:dd7dd983b948 | 72 | y--; |
tim008 | 0:dd7dd983b948 | 73 | } |
tim008 | 0:dd7dd983b948 | 74 | } |
tim008 | 0:dd7dd983b948 | 75 | |
tim008 | 0:dd7dd983b948 | 76 | else if (VRy>2.0/3.0) { |
tim008 | 0:dd7dd983b948 | 77 | if(y<47) { |
tim008 | 0:dd7dd983b948 | 78 | y++; |
tim008 | 0:dd7dd983b948 | 79 | } |
tim008 | 0:dd7dd983b948 | 80 | } |
tim008 | 0:dd7dd983b948 | 81 | |
tim008 | 0:dd7dd983b948 | 82 | postaviKursor(x,y); |
tim008 | 0:dd7dd983b948 | 83 | if(taster1==1) { |
tim008 | 0:dd7dd983b948 | 84 | if(tacka1x==-1) { |
tim008 | 0:dd7dd983b948 | 85 | tacka1x=x; |
tim008 | 0:dd7dd983b948 | 86 | tacka1y=y; |
tim008 | 0:dd7dd983b948 | 87 | } |
tim008 | 0:dd7dd983b948 | 88 | else { |
tim008 | 0:dd7dd983b948 | 89 | tacka2x=x; |
tim008 | 0:dd7dd983b948 | 90 | tacka2y=y; |
tim008 | 0:dd7dd983b948 | 91 | } |
tim008 | 0:dd7dd983b948 | 92 | } |
tim008 | 0:dd7dd983b948 | 93 | if(tacka1x!=-1 && tacka1y!=-1) |
tim008 | 0:dd7dd983b948 | 94 | lcd.setPixel(tacka1x,tacka1y); |
tim008 | 0:dd7dd983b948 | 95 | |
tim008 | 0:dd7dd983b948 | 96 | |
tim008 | 0:dd7dd983b948 | 97 | if(tacka1x!=-1 && tacka1y!=-1 && tacka2x!=-1 && tacka2y!=-1) |
tim008 | 0:dd7dd983b948 | 98 | nacrtajPravougaonik(tacka1x,tacka1y,tacka2x,tacka2y); |
tim008 | 0:dd7dd983b948 | 99 | |
tim008 | 0:dd7dd983b948 | 100 | if(taster2==1) { |
tim008 | 0:dd7dd983b948 | 101 | if(brKlikova<2) |
tim008 | 0:dd7dd983b948 | 102 | brKlikova++; |
tim008 | 0:dd7dd983b948 | 103 | } |
tim008 | 0:dd7dd983b948 | 104 | if(brKlikova==2) { |
tim008 | 0:dd7dd983b948 | 105 | lcd.clear(); |
tim008 | 0:dd7dd983b948 | 106 | brKlikova=0; |
tim008 | 0:dd7dd983b948 | 107 | }}+ |
tim008 | 0:dd7dd983b948 | 108 | if (SW==1) prikazSW=1; |
tim008 | 0:dd7dd983b948 | 109 | else prikazSW=0; |
tim008 | 0:dd7dd983b948 | 110 | lcd.refresh(); |
tim008 | 0:dd7dd983b948 | 111 | wait(0.01); |
tim008 | 0:dd7dd983b948 | 112 | } |
tim008 | 0:dd7dd983b948 | 113 | } |