Beganovic Benjamin Babic Mirhat

Dependencies:   mbed

Committer:
tim010
Date:
Mon May 19 09:56:25 2014 +0000
Revision:
0:23bc8a4defc8
GRUPA2-PROJEKAT-ZADATAK3;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tim010 0:23bc8a4defc8 1 #include "mbed.h"
tim010 0:23bc8a4defc8 2 #include "N5110.h"
tim010 0:23bc8a4defc8 3
tim010 0:23bc8a4defc8 4 //Deklaracija LCD objekta
tim010 0:23bc8a4defc8 5 //N5110 lcd(VCC,SCE,RST,D/C,MOSI,SCLK,LED)
tim010 0:23bc8a4defc8 6 N5110 lcd(dp4,dp24,dp23,dp25,dp2,dp6,dp18);
tim010 0:23bc8a4defc8 7
tim010 0:23bc8a4defc8 8 //Digitalni izlaz za deaktivaciju LED buffera
tim010 0:23bc8a4defc8 9 DigitalOut enable(dp14);
tim010 0:23bc8a4defc8 10
tim010 0:23bc8a4defc8 11 AnalogIn VRy(dp10);
tim010 0:23bc8a4defc8 12 Ticker pomjeriPlocu;
tim010 0:23bc8a4defc8 13 Ticker loptaTiker;
tim010 0:23bc8a4defc8 14
tim010 0:23bc8a4defc8 15 int loptax, loptay;
tim010 0:23bc8a4defc8 16 int lijeviy = 1, desniy;
tim010 0:23bc8a4defc8 17 int ugao = 45;
tim010 0:23bc8a4defc8 18
tim010 0:23bc8a4defc8 19 void IscrtajOkvir()
tim010 0:23bc8a4defc8 20 {
tim010 0:23bc8a4defc8 21 for(int i = 0; i < 84; i++) {
tim010 0:23bc8a4defc8 22 for(int j = 0; j < 48; j++) {
tim010 0:23bc8a4defc8 23 if(i == 0 || i == 83 || j == 0 || j== 47) {
tim010 0:23bc8a4defc8 24 lcd.setPixel(i,j);
tim010 0:23bc8a4defc8 25 lcd.setXYAddress(0,0);
tim010 0:23bc8a4defc8 26 lcd.refresh();
tim010 0:23bc8a4defc8 27 }
tim010 0:23bc8a4defc8 28 }
tim010 0:23bc8a4defc8 29 }
tim010 0:23bc8a4defc8 30 }
tim010 0:23bc8a4defc8 31
tim010 0:23bc8a4defc8 32 void obrisiBlok(int strana, int pozicija)
tim010 0:23bc8a4defc8 33 {
tim010 0:23bc8a4defc8 34 if(strana == 0) {
tim010 0:23bc8a4defc8 35 for(int i = 0; i < 8; i++) {
tim010 0:23bc8a4defc8 36 lcd.clearPixel(1,pozicija + i);
tim010 0:23bc8a4defc8 37 lcd.clearPixel(2,pozicija + i);
tim010 0:23bc8a4defc8 38 lcd.setXYAddress(0,0);
tim010 0:23bc8a4defc8 39 lcd.refresh();
tim010 0:23bc8a4defc8 40 }
tim010 0:23bc8a4defc8 41 } else {
tim010 0:23bc8a4defc8 42 for(int i = 0; i < 8; i++) {
tim010 0:23bc8a4defc8 43 lcd.clearPixel(81,pozicija + i + 1);
tim010 0:23bc8a4defc8 44 lcd.clearPixel(82,pozicija + i + 1);
tim010 0:23bc8a4defc8 45 lcd.setXYAddress(0,0);
tim010 0:23bc8a4defc8 46 lcd.refresh();
tim010 0:23bc8a4defc8 47 }
tim010 0:23bc8a4defc8 48 }
tim010 0:23bc8a4defc8 49
tim010 0:23bc8a4defc8 50 }
tim010 0:23bc8a4defc8 51
tim010 0:23bc8a4defc8 52 void iscrtajBlok(int strana, int pozicija)
tim010 0:23bc8a4defc8 53 {
tim010 0:23bc8a4defc8 54 if(strana == 0) {
tim010 0:23bc8a4defc8 55 for(int i = 0; i < 8; i++) {
tim010 0:23bc8a4defc8 56 lcd.setPixel(1,pozicija + i);
tim010 0:23bc8a4defc8 57 lcd.setPixel(2,pozicija + i);
tim010 0:23bc8a4defc8 58 lcd.setXYAddress(0,0);
tim010 0:23bc8a4defc8 59 lcd.refresh();
tim010 0:23bc8a4defc8 60 }
tim010 0:23bc8a4defc8 61 } else {
tim010 0:23bc8a4defc8 62 for(int i = 0; i < 8; i++) {
tim010 0:23bc8a4defc8 63 lcd.setPixel(81,pozicija + i + 1);
tim010 0:23bc8a4defc8 64 lcd.setPixel(82,pozicija + i + 1);
tim010 0:23bc8a4defc8 65 lcd.setXYAddress(0,0);
tim010 0:23bc8a4defc8 66 lcd.refresh();
tim010 0:23bc8a4defc8 67 }
tim010 0:23bc8a4defc8 68 }
tim010 0:23bc8a4defc8 69
tim010 0:23bc8a4defc8 70
tim010 0:23bc8a4defc8 71 }
tim010 0:23bc8a4defc8 72
tim010 0:23bc8a4defc8 73 void iscrtajLopticu(int x, int y)
tim010 0:23bc8a4defc8 74 {
tim010 0:23bc8a4defc8 75 lcd.setXYAddress(0,0);
tim010 0:23bc8a4defc8 76
tim010 0:23bc8a4defc8 77 for(int i = 0; i < 3; i++) {
tim010 0:23bc8a4defc8 78 for(int j = 0; j < 3; j++) {
tim010 0:23bc8a4defc8 79 lcd.setPixel(x+i, y+j);
tim010 0:23bc8a4defc8 80 }
tim010 0:23bc8a4defc8 81 }
tim010 0:23bc8a4defc8 82 lcd.refresh();
tim010 0:23bc8a4defc8 83 }
tim010 0:23bc8a4defc8 84
tim010 0:23bc8a4defc8 85 void obrisiLopticu(int x, int y)
tim010 0:23bc8a4defc8 86 {
tim010 0:23bc8a4defc8 87 lcd.setXYAddress(0,0);
tim010 0:23bc8a4defc8 88
tim010 0:23bc8a4defc8 89 for(int i = 0; i < 3; i++) {
tim010 0:23bc8a4defc8 90 for(int j = 0; j < 3; j++) {
tim010 0:23bc8a4defc8 91 lcd.clearPixel(x+i, y+j);
tim010 0:23bc8a4defc8 92 }
tim010 0:23bc8a4defc8 93 }
tim010 0:23bc8a4defc8 94 lcd.refresh();
tim010 0:23bc8a4defc8 95 }
tim010 0:23bc8a4defc8 96
tim010 0:23bc8a4defc8 97
tim010 0:23bc8a4defc8 98 void pomjerajBlok()
tim010 0:23bc8a4defc8 99 {
tim010 0:23bc8a4defc8 100 obrisiBlok(0, lijeviy);
tim010 0:23bc8a4defc8 101 if(VRy < 0.4 && lijeviy > 1) {
tim010 0:23bc8a4defc8 102 lijeviy -= 1;
tim010 0:23bc8a4defc8 103 } else if(VRy > 0.6 && lijeviy < 39)
tim010 0:23bc8a4defc8 104 lijeviy += 1;
tim010 0:23bc8a4defc8 105 iscrtajBlok(0, lijeviy);
tim010 0:23bc8a4defc8 106 }
tim010 0:23bc8a4defc8 107
tim010 0:23bc8a4defc8 108 void pomjerajLopticu()
tim010 0:23bc8a4defc8 109 {
tim010 0:23bc8a4defc8 110 obrisiLopticu(loptax, loptay);
tim010 0:23bc8a4defc8 111 if(ugao == 0) {
tim010 0:23bc8a4defc8 112 if(loptax != 1 && loptax != 82 && loptay != 1 && loptay != 46) {
tim010 0:23bc8a4defc8 113 if(ugao == 0)
tim010 0:23bc8a4defc8 114 loptax += 2;
tim010 0:23bc8a4defc8 115 else if(ugao == 30) {
tim010 0:23bc8a4defc8 116 loptax += 2;
tim010 0:23bc8a4defc8 117 loptay -= 1;
tim010 0:23bc8a4defc8 118 } else if(ugao == 45) {
tim010 0:23bc8a4defc8 119 loptax += 2;
tim010 0:23bc8a4defc8 120 loptay -= 2;
tim010 0:23bc8a4defc8 121 } else if(ugao == 60) {
tim010 0:23bc8a4defc8 122 loptax += 1;
tim010 0:23bc8a4defc8 123 loptay -= 2;
tim010 0:23bc8a4defc8 124 } else if(ugao == 120) {
tim010 0:23bc8a4defc8 125 loptax -= 1;
tim010 0:23bc8a4defc8 126 loptay -= 2;
tim010 0:23bc8a4defc8 127 } else if(ugao == 150) {
tim010 0:23bc8a4defc8 128 loptax -= 2;
tim010 0:23bc8a4defc8 129 loptay -= 1;
tim010 0:23bc8a4defc8 130 } else if(ugao == 180) {
tim010 0:23bc8a4defc8 131 loptax -= 2;
tim010 0:23bc8a4defc8 132 } else if(ugao == 135) {
tim010 0:23bc8a4defc8 133 loptax -= 2;
tim010 0:23bc8a4defc8 134 loptay -= 2;
tim010 0:23bc8a4defc8 135 }
tim010 0:23bc8a4defc8 136
tim010 0:23bc8a4defc8 137 else if(ugao == -30) {
tim010 0:23bc8a4defc8 138 loptax += 2;
tim010 0:23bc8a4defc8 139 loptay += 1;
tim010 0:23bc8a4defc8 140 } else if(ugao == -45) {
tim010 0:23bc8a4defc8 141 loptax += 2;
tim010 0:23bc8a4defc8 142 loptay += 2;
tim010 0:23bc8a4defc8 143 } else if(ugao == -60) {
tim010 0:23bc8a4defc8 144 loptax += 1;
tim010 0:23bc8a4defc8 145 loptay += 2;
tim010 0:23bc8a4defc8 146 } else if(ugao == -120) {
tim010 0:23bc8a4defc8 147 loptax -= 1;
tim010 0:23bc8a4defc8 148 loptay += 2;
tim010 0:23bc8a4defc8 149 } else if(ugao == -150) {
tim010 0:23bc8a4defc8 150 loptax -= 2;
tim010 0:23bc8a4defc8 151 loptay += 1;
tim010 0:23bc8a4defc8 152 } else if(ugao == -135) {
tim010 0:23bc8a4defc8 153 loptax -= 2;
tim010 0:23bc8a4defc8 154 loptay += 2;
tim010 0:23bc8a4defc8 155 }
tim010 0:23bc8a4defc8 156 } else {
tim010 0:23bc8a4defc8 157
tim010 0:23bc8a4defc8 158
tim010 0:23bc8a4defc8 159 }
tim010 0:23bc8a4defc8 160
tim010 0:23bc8a4defc8 161 }
tim010 0:23bc8a4defc8 162
tim010 0:23bc8a4defc8 163
tim010 0:23bc8a4defc8 164
tim010 0:23bc8a4defc8 165 }
tim010 0:23bc8a4defc8 166
tim010 0:23bc8a4defc8 167 int main()
tim010 0:23bc8a4defc8 168 {
tim010 0:23bc8a4defc8 169 enable=1;
tim010 0:23bc8a4defc8 170 pomjeriPlocu.attach(&pomjerajBlok, 0.07);
tim010 0:23bc8a4defc8 171 loptaTiker.attach(&pomjerajLopticu, 0.07);
tim010 0:23bc8a4defc8 172 // inicijalizacija displeja
tim010 0:23bc8a4defc8 173 lcd.init();
tim010 0:23bc8a4defc8 174 IscrtajOkvir();
tim010 0:23bc8a4defc8 175
tim010 0:23bc8a4defc8 176 iscrtajBlok(1, 10);
tim010 0:23bc8a4defc8 177
tim010 0:23bc8a4defc8 178 while(1);
tim010 0:23bc8a4defc8 179 }
tim010 0:23bc8a4defc8 180