Mousavi Maedeh, Šarić Emina

Dependencies:   N5110 mbed

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?

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