Anesa Drakovac

Dependencies:   N5110 mbed

Committer:
tim003
Date:
Thu Apr 24 14:02:49 2014 +0000
Revision:
0:925c43516256
Anesa Drakovac

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tim003 0:925c43516256 1 #include "mbed.h"
tim003 0:925c43516256 2 #include "N5110.h"
tim003 0:925c43516256 3
tim003 0:925c43516256 4 AnalogIn VRx(dp11);
tim003 0:925c43516256 5 AnalogIn VRy(dp10); // osni ulazi dzojstika
tim003 0:925c43516256 6 DigitalIn SW(dp9); // taster ulaz dzojstika
tim003 0:925c43516256 7
tim003 0:925c43516256 8 N5110 lcd(dp4, dp24, dp23, dp25, dp2, dp6, dp18); //LCD izlaz
tim003 0:925c43516256 9
tim003 0:925c43516256 10 DigitalOut enable(dp14); // deaktivacija LEDova (aktivni u nuli)
tim003 0:925c43516256 11
tim003 0:925c43516256 12 Timer t;
tim003 0:925c43516256 13
tim003 0:925c43516256 14 void kursor(int x, int y)
tim003 0:925c43516256 15 {
tim003 0:925c43516256 16 for(int i=x; i<=x+5; i++)
tim003 0:925c43516256 17 for(int j=y; j<=y+5; j++)
tim003 0:925c43516256 18 {
tim003 0:925c43516256 19 lcd.setPixel(i,j);
tim003 0:925c43516256 20 lcd.refresh();
tim003 0:925c43516256 21 }
tim003 0:925c43516256 22 }
tim003 0:925c43516256 23
tim003 0:925c43516256 24
tim003 0:925c43516256 25 int main() {
tim003 0:925c43516256 26
tim003 0:925c43516256 27 int x=0, y=0; // pocetne koordinate
tim003 0:925c43516256 28 int ekran[84][48];
tim003 0:925c43516256 29
tim003 0:925c43516256 30 for(int i=0;i<84;i++)
tim003 0:925c43516256 31 for(int j=0;j<48;j++)
tim003 0:925c43516256 32 ekran[i][j]=0; // inicijalizacija matrice ekrana
tim003 0:925c43516256 33
tim003 0:925c43516256 34 SW.mode(PullUp); // aktivacija pull-up otpornika (taster)
tim003 0:925c43516256 35 enable=1;
tim003 0:925c43516256 36
tim003 0:925c43516256 37 t.start();
tim003 0:925c43516256 38 lcd.init(); // inicijalizacija ekrana
tim003 0:925c43516256 39 lcd.setXYAddress(0,0);
tim003 0:925c43516256 40 lcd.setPixel(1,0);
tim003 0:925c43516256 41 lcd.refresh();
tim003 0:925c43516256 42 lcd.setPixel(0,1);
tim003 0:925c43516256 43 lcd.refresh();
tim003 0:925c43516256 44
tim003 0:925c43516256 45 kursor(x,y);
tim003 0:925c43516256 46 while(1){
tim003 0:925c43516256 47 if(VRx < 1.0/3.0)
tim003 0:925c43516256 48 {
tim003 0:925c43516256 49 if(x>0){ // da izbrise
tim003 0:925c43516256 50 for(int i=x; i<=x+5; i++)
tim003 0:925c43516256 51 for(int j=y; j<=y+5; j++)
tim003 0:925c43516256 52 {
tim003 0:925c43516256 53 lcd.clearPixel(i,j);
tim003 0:925c43516256 54 lcd.refresh();
tim003 0:925c43516256 55 }
tim003 0:925c43516256 56 }
tim003 0:925c43516256 57 x=x-1;
tim003 0:925c43516256 58 kursor(x,y);
tim003 0:925c43516256 59 }
tim003 0:925c43516256 60 else if(VRx > 2.0/3.0)
tim003 0:925c43516256 61 {
tim003 0:925c43516256 62 if(x<84){
tim003 0:925c43516256 63 for(int i=x; i<=x+5; i++)
tim003 0:925c43516256 64 for(int j=y; j<=y+5; j++)
tim003 0:925c43516256 65 {
tim003 0:925c43516256 66 lcd.clearPixel(i,j);
tim003 0:925c43516256 67 lcd.refresh();
tim003 0:925c43516256 68 }
tim003 0:925c43516256 69 }
tim003 0:925c43516256 70 x=x+1;
tim003 0:925c43516256 71 kursor(x,y);
tim003 0:925c43516256 72 }
tim003 0:925c43516256 73
tim003 0:925c43516256 74 /*if(VRy < 1.0/3.0)
tim003 0:925c43516256 75 {
tim003 0:925c43516256 76 if(y>0){
tim003 0:925c43516256 77 for(int i=x; i<=x+5; i++)
tim003 0:925c43516256 78 for(int j=y; j<=y+5; j++)
tim003 0:925c43516256 79 {
tim003 0:925c43516256 80 lcd.clearPixel(i,j);
tim003 0:925c43516256 81 lcd.refresh();
tim003 0:925c43516256 82 }
tim003 0:925c43516256 83 y=y-1;
tim003 0:925c43516256 84 kursor(x,y);
tim003 0:925c43516256 85 }
tim003 0:925c43516256 86 else if(VRy > 2.0/3.0)
tim003 0:925c43516256 87 {
tim003 0:925c43516256 88 if(y<48){
tim003 0:925c43516256 89 for(int i=x; i<=x+5; i++)
tim003 0:925c43516256 90 for(int j=y; j<=y+5; j++)
tim003 0:925c43516256 91 {
tim003 0:925c43516256 92 lcd.clearPixel(i,j);
tim003 0:925c43516256 93 lcd.refresh();
tim003 0:925c43516256 94 }
tim003 0:925c43516256 95 y=y-1;
tim003 0:925c43516256 96 kursor(x,y);
tim003 0:925c43516256 97 }
tim003 0:925c43516256 98
tim003 0:925c43516256 99 }
tim003 0:925c43516256 100 }*/
tim003 0:925c43516256 101 }
tim003 0:925c43516256 102 }
tim003 0:925c43516256 103
tim003 0:925c43516256 104 /*while(1)
tim003 0:925c43516256 105 {
tim003 0:925c43516256 106 if(SW==1 && t.read()==0) {t.start(); ekran[x][y]=1; lcd.setPixel(x,y);lcd.refresh();}
tim003 0:925c43516256 107 else if(SW==1 && t.read()<0.5)
tim003 0:925c43516256 108 {
tim003 0:925c43516256 109 lcd.clear();
tim003 0:925c43516256 110 if(x!=0) lcd.setPixel(x-1,y); lcd.refresh();
tim003 0:925c43516256 111 if(x!=83) lcd.setPixel(x+1,y); lcd.refresh();
tim003 0:925c43516256 112 if(y!=0) lcd.setPixel(x,y-1); lcd.refresh();
tim003 0:925c43516256 113 if(y!=43) lcd.setPixel(x,y+1); lcd.refresh();
tim003 0:925c43516256 114
tim003 0:925c43516256 115 for(int i=0;i<84;i++)
tim003 0:925c43516256 116 for(int j=0;j<48;j++)
tim003 0:925c43516256 117 ekran[i][j]=0;
tim003 0:925c43516256 118 }
tim003 0:925c43516256 119 if(t.read()>0.5) {t.stop(); t.reset();}
tim003 0:925c43516256 120
tim003 0:925c43516256 121 if(VRx<1.0/3.3 && x!=0) // micanje lijevo
tim003 0:925c43516256 122 {
tim003 0:925c43516256 123 x--;
tim003 0:925c43516256 124 lcd.setPixel(x+1,y);
tim003 0:925c43516256 125 lcd.refresh();
tim003 0:925c43516256 126 if(ekran[x][y]==0) lcd.clearPixel(x,y);
tim003 0:925c43516256 127 lcd.refresh();
tim003 0:925c43516256 128 if(x!=0) lcd.setPixel(x-1,y);
tim003 0:925c43516256 129 lcd.refresh();
tim003 0:925c43516256 130 if(x!=82 && ekran[x+2][y]==0) lcd.clearPixel(x+2,y);
tim003 0:925c43516256 131 lcd.refresh();
tim003 0:925c43516256 132
tim003 0:925c43516256 133 if(y!=0)
tim003 0:925c43516256 134 {
tim003 0:925c43516256 135 lcd.setPixel(x,y-1);
tim003 0:925c43516256 136 lcd.refresh();
tim003 0:925c43516256 137 if(ekran[x+1][y-1]==0) lcd.clearPixel(x+1,y-1);
tim003 0:925c43516256 138 lcd.refresh();
tim003 0:925c43516256 139 }
tim003 0:925c43516256 140
tim003 0:925c43516256 141 if(y!=47)
tim003 0:925c43516256 142 {
tim003 0:925c43516256 143 lcd.setPixel(x,y+1);
tim003 0:925c43516256 144 lcd.refresh();
tim003 0:925c43516256 145 if(ekran[x+1][y+1]==0) lcd.clearPixel(x+1,y+1);
tim003 0:925c43516256 146 lcd.refresh();
tim003 0:925c43516256 147 }
tim003 0:925c43516256 148 }
tim003 0:925c43516256 149
tim003 0:925c43516256 150 else if(VRx>2.0/3.3 && x!=83) // micanje desno
tim003 0:925c43516256 151 {
tim003 0:925c43516256 152 x++;
tim003 0:925c43516256 153 lcd.setPixel(x-1,y);
tim003 0:925c43516256 154 lcd.refresh();
tim003 0:925c43516256 155 if(ekran[x][y]==0) lcd.clearPixel(x,y); lcd.refresh();
tim003 0:925c43516256 156 if(x!=83) lcd.setPixel(x+1,y); lcd.refresh();
tim003 0:925c43516256 157 if(x!=1 && ekran[x-2][y]==0) lcd.clearPixel(x-2,y); lcd.refresh();
tim003 0:925c43516256 158
tim003 0:925c43516256 159 if(y!=0)
tim003 0:925c43516256 160 {
tim003 0:925c43516256 161 lcd.setPixel(x,y-1); lcd.refresh();
tim003 0:925c43516256 162 if(ekran[x-1][y-1]==0) lcd.clearPixel(x-1,y-1); lcd.refresh();
tim003 0:925c43516256 163 }
tim003 0:925c43516256 164
tim003 0:925c43516256 165 if(y!=47)
tim003 0:925c43516256 166 {
tim003 0:925c43516256 167 lcd.setPixel(x,y+1); lcd.refresh();
tim003 0:925c43516256 168 if(ekran[x-1][y+1]==0) lcd.clearPixel(x-1,y+1); lcd.refresh();
tim003 0:925c43516256 169 }
tim003 0:925c43516256 170 }
tim003 0:925c43516256 171
tim003 0:925c43516256 172
tim003 0:925c43516256 173 if(VRy<1.0/3.3 && y!=47) // micanje dolje
tim003 0:925c43516256 174 {
tim003 0:925c43516256 175 y++;
tim003 0:925c43516256 176 lcd.setPixel(x,y-1); lcd.refresh();
tim003 0:925c43516256 177 if(ekran[x][y]==0) lcd.clearPixel(x,y); lcd.refresh();
tim003 0:925c43516256 178 if(y!=47) lcd.setPixel(x,y+1); lcd.refresh();
tim003 0:925c43516256 179 if(y!=1 && ekran[x][y-2]==0) lcd.clearPixel(x,y-2); lcd.refresh();
tim003 0:925c43516256 180
tim003 0:925c43516256 181 if(x!=0)
tim003 0:925c43516256 182 {
tim003 0:925c43516256 183 lcd.setPixel(x-1,y); lcd.refresh();
tim003 0:925c43516256 184 if(ekran[x-1][y-1]==0) lcd.clearPixel(x-1,y-1); lcd.refresh();
tim003 0:925c43516256 185 }
tim003 0:925c43516256 186
tim003 0:925c43516256 187 if(x!=83)
tim003 0:925c43516256 188 {
tim003 0:925c43516256 189 lcd.setPixel(x+1,y); lcd.refresh();
tim003 0:925c43516256 190 if(ekran[x+1][y-1]==0) lcd.clearPixel(x+1,y-1); lcd.refresh();
tim003 0:925c43516256 191 }
tim003 0:925c43516256 192 }
tim003 0:925c43516256 193 else if(VRy>2.0/3.3 && y!=0) // micanje gore
tim003 0:925c43516256 194 {
tim003 0:925c43516256 195 y--;
tim003 0:925c43516256 196 lcd.setPixel(x,y+1); lcd.refresh();
tim003 0:925c43516256 197 if(ekran[x][y]==0) lcd.clearPixel(x,y); lcd.refresh();
tim003 0:925c43516256 198 if(y!=0) lcd.setPixel(x,y-1); lcd.refresh();
tim003 0:925c43516256 199 if(y!=46 && ekran[x][y+2]==0) lcd.clearPixel(x,y+2); lcd.refresh();
tim003 0:925c43516256 200 if(x!=0)
tim003 0:925c43516256 201 {
tim003 0:925c43516256 202 lcd.setPixel(x-1,y); lcd.refresh();
tim003 0:925c43516256 203 if(ekran[x-1][y+1]==0) lcd.clearPixel(x-1,y+1); lcd.refresh();
tim003 0:925c43516256 204 }
tim003 0:925c43516256 205 if(x!=83)
tim003 0:925c43516256 206 {
tim003 0:925c43516256 207 lcd.setPixel(x+1,y); lcd.refresh();
tim003 0:925c43516256 208 if(ekran[x+1][y+1]==0) lcd.clearPixel(x+1,y+1); lcd.refresh();
tim003 0:925c43516256 209 }
tim003 0:925c43516256 210 }
tim003 0:925c43516256 211 wait_ms(200);
tim003 0:925c43516256 212 }
tim003 0:925c43516256 213 }*/