tim003 tim003
/
LV7_Grupa5_Tim003_Zadatak1
Anesa Drakovac
main.cpp@0:925c43516256, 2014-04-24 (annotated)
- Committer:
- tim003
- Date:
- Thu Apr 24 14:02:49 2014 +0000
- Revision:
- 0:925c43516256
Anesa Drakovac
Who changed what in which revision?
User | Revision | Line number | New 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 | }*/ |