Project bike
/
test
eiei
Fork of test by
main.cpp
- Committer:
- toiy01344
- Date:
- 2017-12-11
- Revision:
- 0:6ac9ce3391e2
File content as of revision 0:6ac9ce3391e2:
#include "mbed.h" #include "LCD4884.h" #include <iostream> #define MENU_X 1 #define MENU_Y 1 AnalogIn joy(A0); LCD4884 lcd; Serial pc(PA_15,PB_7); Serial nutty(D1,D0); char func ; int i=0; int y=2; int XA=0; int YA=2; int check = 0; char mode[42]; int page = 0; float move=0; char V[5]; char word[42]; int main(){ lcd.backlight(ON); lcd.LCD_init(); pc.baud(38400); while(1){ printf("y=%d page=%d YA=%d XA=%d move=%.2f mode=%d\n",y,page,YA,XA,move,mode); move = joy.read()*1000; if(move >= 0 && move <= 5){ XA -= 8; //left wait(0.3); } if(move >= 475 && move <= 490){ YA += 1; //down y += 3; wait(0.3); } if(move >= 700 && move <= 745){ XA += 8; //right wait(0.3); } if(move >= 900){ YA -= 1; //up y -= 3; wait(0.3); } //switch if(XA == 0 && YA == 0){ mode[0] = 1; } else{ mode[0] = 0; } if(XA == 0 && YA == 2){ mode[2] = 1; } else{ mode[2] = 0; } if(XA == 0 && YA == 3){ mode[3] = 1; } else{ mode[3] = 0; } if(XA == 0 && y == 5){ mode[5] = 1; } else{ mode[5] = 0; } if(XA == 8 && YA == 0){ mode[1] = 1; } else{ mode[1] = 0; } if(XA == 16 && YA == 0){ mode[4] = 1; } else{ mode[4] = 0; } if(XA == 24 && YA == 0){ mode[6] = 1; } else{ mode[6] = 0; } if(XA == 32 && YA == 0){ mode[7] = 1; } else{ mode[7] = 0; } if(XA == 40 && YA == 0){ mode[8] = 1; } else{ mode[8] = 0; } if(XA == 48 && YA == 0){ mode[9] = 1; } else{ mode[9] = 0; } if(XA == 56 && YA == 0){ mode[10] = 1; } else{ mode[10] = 0; } if(XA == 64 && YA == 0){ mode[11] = 1; } else{ mode[11] = 0; } if(XA == 72 && YA == 0){ mode[12] = 1; } else{ mode[12] = 0; } if(XA == 0 && YA == 1){ mode[13] = 1; } else{ mode[13] = 0; } if(XA == 8 && YA == 1){ mode[14] = 1; } else{ mode[14] = 0; } if(XA == 16 && YA == 1){ mode[15] = 1; } else{ mode[15] = 0; } if(XA == 24 && YA == 1){ mode[16] = 1; } else{ mode[16] = 0; } if(XA == 32 && YA == 1){ mode[17] = 1; } else{ mode[17] = 0; } if(XA == 40 && YA == 1){ mode[18] = 1; } else{ mode[18] = 0; } if(XA == 48 && YA == 1){ mode[19] = 1; } else{ mode[19] = 0; } if(XA == 56 && YA == 1){ mode[20] = 1; } else{ mode[20] = 0; } if(XA == 64 && YA == 1){ mode[21] = 1; } else{ mode[21] = 0; } if(XA == 72 && YA == 1){ mode[22] = 1; } else{ mode[22] = 0; } if(XA == 0 && YA == 2){ mode[23] = 1; } else{ mode[23] = 0; } if(XA == 8 && YA == 2){ mode[24] = 1; } else{ mode[24] = 0; } if(XA == 16 && YA == 2){ mode[25] = 1; } else{ mode[25] = 0; } if(XA == 24 && YA == 2){ mode[26] = 1; } else{ mode[26] = 0; } if(XA == 0 && YA == 4){ mode[27] = 1; } else{ mode[27] = 0; } if(XA == 32 && YA == 2){ mode[28] = 1; } else{ mode[28] = 0; } if(XA == 40 && YA == 2){ mode[29] = 1; } else{ mode[29] = 0; } if(XA == 48 && YA == 2){ mode[31] = 1; } else{ mode[31] = 0; } if(XA == 8 && YA == 4){ mode[30] = 1; } else{ mode[30] = 0; } if(XA == 0 && YA == 3){ mode[32] = 1; } else{ mode[32] = 0; } if(XA == 8 && YA == 3){ mode[33] = 1; } else{ mode[33] = 0; } if(XA == 16 && YA == 3){ mode[34] = 1; } else{ mode[34] = 0; } if(XA == 24 && YA == 3){ mode[35] = 1; } else{ mode[35] = 0; } if(XA == 32 && YA == 3){ mode[36] = 1; } else{ mode[36] = 0; } if(XA == 40 && YA == 3){ mode[37] = 1; } else{ mode[37] = 0; } if(XA == 48 && YA == 3){ mode[38] = 1; } else{ mode[38] = 0; } if(XA == 56 && YA == 3){ mode[39] = 1; } else{ mode[39] = 0; } if(XA == 64 && YA == 3){ mode[40] = 1; } else{ mode[40] = 0; } if(XA == 72 && YA == 3){ mode[41] = 1; } else{ mode[41] = 0; } //page if (page == 0){ lcd.LCD_clear(); XA = 0; if(YA < 2){ YA = 2; } //show menu lcd.LCD_write_string(0, 0, " Menu ", 0); lcd.LCD_write_string(0, 1, "--------------", 0); lcd.LCD_write_string(0, 2, "1.Show speed", mode[2]); lcd.LCD_write_string(0, 3, "2.Show word", mode[3]); if(YA > 3){ YA = 2; } if(XA == 0 && YA == 2){ if(move >= 200 && move <= 215 ){ page = 1; XA = 0; YA = 0; y = 2; //pc.putc('1'); wait(0.3); } } if(XA == 0 && YA == 3){ if(move >= 200 && move <= 215 ){ page = 2; XA = 0; YA = 0; func = '!'; pc.putc(func); //word.clear(); wait(0.5); } } } if (page == 1){ func = '?'; pc.putc(func); lcd.LCD_clear(); XA = 0; if(y < 2){ y = 5; } if(y > 5){ y = 2; } if(XA == 0 && y == 5){ if(move >= 200 && move <= 215 ){ page = 0; XA = 0; YA = 2; wait(0.3); } } lcd.LCD_write_string(0, 0, " velocity ", 0); lcd.LCD_write_string(0, 1, "--------------", 0); lcd.LCD_write_string(0, 5, "back", 1); lcd.LCD_write_string(60, 4, "km/h", mode[28]); while(1){ move = joy.read()*1000; //printf("y=%d page=%d YA=%d XA=%d move=%.2f mode=%d \n",y,page,YA,XA,move,mode); y = 5; if(pc.readable()){ for (int i =0;i<4;i++){ V[i] = pc.getc(); } nutty.printf("%c \n",V); lcd.LCD_write_string_big(0, 2, V, mode[28]); V[0]=' '; V[1]=' '; V[2]=' '; V[3]=' '; V[4]=' '; } if(XA == 0 && y == 5){ if(move >= 200 && move <= 215 ){ page = 0; XA = 0; YA = 2; wait(0.3); break; } } } } if (page == 2){ lcd.LCD_clear(); if(YA == 2 && XA > 48){ XA = 0; } if(YA == 4 && XA < 0){ XA = 8; } if(YA == 4 && XA > 8){ XA = 0; } if(YA == 2 && XA < 0){ XA = 48; } if(YA < 0){ YA = 4; } if(XA < 0){ XA = 72; } if(YA > 4){ YA = 0; } if(XA > 72){ XA = 0; } //len if (i > 5){ i=0; } //add word if(XA == 0 && YA == 0){ if(move >= 200 && move <= 215 && check == 0 ){ check = 1 ; wait(0.3); } else if(move >= 200 && move <= 215 && check == 1 ){ word[i] = 'A'; i++; wait(0.3); } } if(XA == 8 && YA == 0){ if(move >= 200 && move <= 215 ){ word[i]= 'B'; i++; wait(0.3); } } if(XA == 16 && YA == 0){ if(move >= 200 && move <= 215 ){ word[i] = 'C'; i++; wait(0.3); } } if(XA == 24 && YA == 0){ if(move >= 200 && move <= 215 ){ word[i] = 'D'; i++; wait(0.3); } } if(XA == 32 && YA == 0){ if(move >= 200 && move <= 215 ){ word[i] = 'E'; i++; wait(0.3); } } if(XA == 40 && YA == 0){ if(move >= 200 && move <= 215 ){ word[i] = 'F'; i++; wait(0.3); } } if(XA == 48 && YA == 0){ if(move >= 200 && move <= 215 ){ word[i] = 'G'; i++; wait(0.3); } } if(XA ==56 && YA == 0){ if(move >= 200 && move <= 215 ){ word[i] = 'H'; i++; wait(0.3); } } if(XA ==64 && YA == 0){ if(move >= 200 && move <= 215 ){ word[i] = 'I'; i++; wait(0.3); } } if(XA ==72 && YA == 0){ if(move >= 200 && move <= 215 ){ word[i] = 'J'; i++; wait(0.3); } } if(XA == 0 && YA == 1){ if(move >= 200 && move <= 215 ){ word[i] = 'K'; i++; wait(0.3); } } if(XA == 8 && YA == 1){ if(move >= 200 && move <= 215 ){ word[i] = 'L'; i++; wait(0.3); } } if(XA == 16 && YA == 1){ if(move >= 200 && move <= 215 ){ word[i] = 'M'; i++; wait(0.3); } } if(XA == 24 && YA == 1){ if(move >= 200 && move <= 215 ){ word[i] = 'N'; i++; wait(0.3); } } if(XA == 32 && YA == 1){ if(move >= 200 && move <= 215 ){ word[i] = 'O'; i++; wait(0.3); } } if(XA == 40 && YA == 1){ if(move >= 200 && move <= 215 ){ word[i] = 'P'; i++; wait(0.3); } } if(XA == 48 && YA == 1){ if(move >= 200 && move <= 215 ){ word[i] = 'Q'; i++; wait(0.3); } } if(XA ==56 && YA == 1){ if(move >= 200 && move <= 215 ){ word[i] = 'R'; i++; wait(0.3); } } if(XA ==64 && YA == 1){ if(move >= 200 && move <= 215 ){ word[i] = 'S'; i++; wait(0.3); } } if(XA ==72 && YA == 1){ if(move >= 200 && move <= 215 ){ word[i] = 'T'; i++; wait(0.3); } } if(XA == 0 && YA == 2){ if(move >= 200 && move <= 215 ){ word[i] = 'U'; i++; wait(0.3); } } if(XA == 8 && YA == 2){ if(move >= 200 && move <= 215 ){ word[i] = 'V'; i++; wait(0.3); } } if(XA == 16 && YA == 2){ if(move >= 200 && move <= 215 ){ word[i] = 'W'; i++; wait(0.3); } } if(XA == 24 && YA == 2){ if(move >= 200 && move <= 215 ){ word[i] = 'X'; i++; wait(0.3); } } if(XA == 32 && YA == 2){ if(move >= 200 && move <= 215 ){ word[i] = 'Y'; i++; wait(0.3); } } if(XA == 40 && YA == 2){ if(move >= 200 && move <= 215 ){ word[i] = 'Z'; i++; wait(0.3); } } if(XA == 48 && YA == 2){ if(move >= 200 && move <= 215 ){ word[i] = ' '; i++; wait(0.3); } } if(XA == 0 && YA == 3){ if(move >= 200 && move <= 215 ){ word[i] = '1'; i++; wait(0.3); } } if(XA == 8 && YA == 3){ if(move >= 200 && move <= 215 ){ word[i] = '2'; i++; wait(0.3); } } if(XA == 16 && YA == 3){ if(move >= 200 && move <= 215 ){ word[i] = '3'; i++; wait(0.3); } } if(XA == 24 && YA == 3){ if(move >= 200 && move <= 215 ){ word[i] = '4'; i++; wait(0.3); } } if(XA == 32 && YA == 3){ if(move >= 200 && move <= 215 ){ word[i] = '5'; i++; wait(0.3); } } if(XA == 40 && YA == 3){ if(move >= 200 && move <= 215 ){ word[i] = '6'; i++; wait(0.3); } } if(XA == 48 && YA == 3){ if(move >= 200 && move <= 215 ){ word[i] = '7'; i++; wait(0.3); } } if(XA == 56 && YA == 3){ if(move >= 200 && move <= 215 ){ word[i] = '8'; i++; wait(0.3); } } if(XA == 64 && YA == 3){ if(move >= 200 && move <= 215 ){ word[i] = '9'; i++; wait(0.3); } } if(XA == 72 && YA == 3){ if(move >= 200 && move <= 215 ){ word[i] = '0'; i++; wait(0.3); } } //show select lcd.LCD_write_string(0, 0, "A", mode[0]); lcd.LCD_write_string(8, 0, "B", mode[1]); lcd.LCD_write_string(16, 0, "C", mode[4]); lcd.LCD_write_string(24, 0, "D", mode[6]); lcd.LCD_write_string(32, 0, "E", mode[7]); lcd.LCD_write_string(40, 0, "F", mode[8]); lcd.LCD_write_string(48, 0, "G", mode[9]); lcd.LCD_write_string(56, 0, "H", mode[10]); lcd.LCD_write_string(64, 0, "I", mode[11]); lcd.LCD_write_string(72, 0, "J", mode[12]); lcd.LCD_write_string(0, 1, "K", mode[13]); lcd.LCD_write_string(8, 1, "L", mode[14]); lcd.LCD_write_string(16, 1, "M", mode[15]); lcd.LCD_write_string(24, 1, "N", mode[16]); lcd.LCD_write_string(32, 1, "O", mode[17]); lcd.LCD_write_string(40, 1, "P", mode[18]); lcd.LCD_write_string(48, 1, "Q", mode[19]); lcd.LCD_write_string(56, 1, "R", mode[20]); lcd.LCD_write_string(64, 1, "S", mode[21]); lcd.LCD_write_string(72, 1, "T", mode[22]); lcd.LCD_write_string(0, 2, "U", mode[23]); lcd.LCD_write_string(8, 2, "V", mode[24]); lcd.LCD_write_string(16, 2, "W", mode[25]); lcd.LCD_write_string(24, 2, "X", mode[26]); lcd.LCD_write_string(32, 2, "Y", mode[28]); lcd.LCD_write_string(40, 2, "Z", mode[29]); lcd.LCD_write_string(48, 2, "space", mode[31]); lcd.LCD_write_string(0, 3, "1", mode[32]); lcd.LCD_write_string(8, 3, "2", mode[33]); lcd.LCD_write_string(16, 3, "3", mode[34]); lcd.LCD_write_string(24, 3, "4", mode[35]); lcd.LCD_write_string(32, 3, "5", mode[36]); lcd.LCD_write_string(40, 3, "6", mode[37]); lcd.LCD_write_string(48, 3, "7", mode[38]); lcd.LCD_write_string(56, 3, "8", mode[39]); lcd.LCD_write_string(64, 3, "9", mode[40]); lcd.LCD_write_string(72, 3, "0", mode[41]); lcd.LCD_write_string(0, 5, "back", mode[27]); lcd.LCD_write_string(56, 5, "sent", mode[30]); lcd.LCD_write_string(13, 4, "<", 0); lcd.LCD_write_string(22, 4, word,0); lcd.LCD_write_string(60, 4, ">", 0); if(XA == 0 && YA == 4){ if(move >= 200 && move <= 215 ){ page = 0; check = 0 ; XA = 0; YA = 2; i=0; wait(0.3); } } if(XA == 8 && YA == 4){ if(move >= 200 && move <= 215 ){ pc.putc('&'); for (int i =0; i<6 ;i++) { pc.putc(word[i]); wait(0.3); } page = 3; } } } if (page == 3){ lcd.LCD_clear(); //show word lcd.LCD_write_string(0, 0, " word ", 0); lcd.LCD_write_string(0, 1, "--------------", 0); lcd.LCD_write_string(22, 3, word, 0); lcd.LCD_write_string(0, 5, "back", 1); XA = 1; YA = 1; int chk; if(XA == 1 && YA == 1 && move > 250) { XA = 0; YA = 5; chk = 0; } while(chk == 0) { move = joy.read()*1000; if(XA==0 && YA==5 && move >= 200 && move <= 215){ page = 2; XA = 0; YA = 0; word[0] = ' '; word[1] = ' '; word[2] = ' '; word[3] = ' '; word[4] = ' '; word[5] = ' '; wait(0.3); chk = 1; check = 0; } } } } }